Java 1.0以前的都是java
java1.2以后为JDK
java 5.0以后, 分为 JavaSeE、Java EE、java VE
J2se 适用桌面系统的应用,低端服务器
Java 1.0以前的都是java
java1.2以后为JDK
java 5.0以后, 分为 JavaSeE、Java EE、java VE
J2se 适用桌面系统的应用,低端服务器
java纯面向对象,C++ 部分面向对象
Java语言特征:
1.开发和使用简单性
2.分布式
3.面向对象
4.安全性
5.平台独立性和可移植性
6.多线程
7.解释执行
jdk1.8
Java程序开发流程
1.编辑源程序
生成后缀为.java的文本文件,如:demo.java
2.编译源程序
生成后缀为.class的类文件,如:demo.class
3.运行程序
虚拟机(JVM)加载类文件并运行
一.Java平台类型(类库以包(package)形式提供。)
1.标准版 (J2SE) 用于小型程序
适用于桌面系统应用程序的开发,以及低端的服务器。
2.企业版(J2EE) 用于大型程序
用于分布式的网络程序的开发,构建企业级的服务器应用。
-电子商务网站和ERP系统
3.微缩版本(J2ME) 用于手机等程序
一种以广泛的消费性产品为目标、高度优化的Java运行环境
用于嵌入式的消费型产品中(内存小,配置低)
-游戏机,手机,掌上电脑
4.语言都是相同,捆绑的类库不同。
二.Java技术名称
1.Java1.0: JDK1.2之前的Java
2.Java2:JDK1.2及之后的JDK
paozhiyichang
声明异常
异常处理语句
try
自定义序列化
默认-存取对象的全部属性
自定义 -部分属性存取
transient
自定义对象序列化
字符流
一字符为单位处理数据
适合处理文本数据
抽象类Reader 是所有自付输入流的父类
Writer
流的继承关系
字节输入流
字节输入流功能
PushBackInputStream
流
java 语言没有标准输入输出语句 使用io程序包流 来实现
流 (stream)是一组有序的数据序列
类型
方向
输入流
有源地流向java程序的数据
输出流
java程序流向目标的数据
流的数据单位
向量
数组的缺点
数组穿件就决定大小 且不能改变
向量 集合
可动态改变大小
可在序列中存储不同类型数据
集合 把相同性质的一类对象 汇聚成一个整体
java2中定义了很多 与集合相关的接口
集合框架
——对外接口
表示集合的 抽象数据类型 使集合的操作宇表示愤慨
——接口实现
指实现集合接口的 java类 可重用的数据结构
——集合运算
指执行运算的方法 如 在集合上查找 排序
——当前定义了 4个接口 4个抽象类 6个具体类
向量 Vector 特征
实现了 Collection接口的具体类
能存储任意对象 但通常 不同类型的对象都具有相同的 父类 或接口
不能存储基本类型数据 除非这些数据包裹在包裹类中
Vector 方法是同步的 线程安全
向量的创建
Vector()
默认容量是10
Vector(90)
指定存储容量
Vector(90,20 )
指定存储容量 ,增量
向量操作
添加元素
更改
删除
查找
多维数组(高维数组)数组的数组
二维数组定义
数据类型 数组名 [][]
int arr[][];
int [][] arr
int arr[][] = new int[2][3]
数组
相同数据类型元素按照一定顺序排序的计划
优点
在 java 提供的存储及随机访问对象序列的各种方法中 数组效率最高
数组知道其元素的 类型
编译时类型检查
不足
数组对象大小固定 在生存期间不能改变
基于维数
基于元素数据类型
一维数组
数据类型 数组名 []
eg—— int arr[];
—— int[] arr;
数据类型 - 数组元素的数据类型
对象数组
Date[] dateArr;
数组定义狗不能立即使用 初始化后才能使用
一维数组初始化
静态初始化
int arr[] = {}1,2,3,4}
动态初始化
int arr[] = new int [4]
数组元素默认初始值为0
Date dArr[] = new Date[4]
数组元素初始值为null
一维数组引用
arr[index]
数组
相同数据类型元素按照一定顺序排序的计划
优点
在 java 提供的存储及随机访问对象序列的各种方法中 数组效率最高
数组知道其元素的 类型
编译时类型检查
不足
数组对象大小固定 在生存期间不能改变
基于维数
基于元素数据类型
一维数组
数据类型 数组名 []
eg—— int arr[];
—— int[] arr;
数据类型 - 数组元素的数据类型
对象数组
Date[] dateArr;
数组定义狗不能立即使用 初始化后才能使用
常用程序包
java 基础类库 JFC
——java foundational class
根据功能关联 分别房子按不同程序包中
应用程序编程接口
——application programming interface
java.lang
java 核心类库
包含不必不可少系统类
基本数据类型 基本数据函数 字符串处理 县城 异常处理等 系统缺省加载
java.io
java 语言的输入输出类库 如基本输入输出流 文件输入输出流 。。。
java.util
提供一些使用方法 数据结构
java 提供的日期类 (Data) 日历类 (Calender) 来生产和获取其日及时间 提供随机数 (Random)
提供堆栈(stack) 向量(vector) 位集合(Bitset) 哈希表(Hashtable)等类来表示相应的数据结构 包含如处理时间的date类 处理变成数组的Vectot类 以及 stack和Hashtable类
java.awt.image包
处理和操作来自网上图片的java工具类库
java.awt包
构件图形用户界面的gui类库 低级绘图操作Graphics类
图形界面组件和布局管理checkbox类 Container类 LayoutManger接口等
界面用户交互控制和事件 如Event类
java.awt.peer包
很少在程序中直接用到 使得同意java程序在不同软硬件平台上运行
java.applet
用于执行小程序的类 如applet
java.net
实现网络功能的类库有Socket类 ServerSocket类
java.util.zip
实现文件压缩功能
——package ppkg1[pkg2[pkg3...]]
package 指明文件中定义的类所在的程序包
package 语句必须时源程序的第一条语句 只能有一条
若没有package语句 则使用默认程序包
java 编译器把程序包对应于文件系统的目录管理
导入
import
程序包
一个程序包 (package)被定义为一组互相联系的类型(类 接口 枚举等)集合 并为这些类提供访问保护和命名空间管理的功能
作用
把功能相关 相似的类或接口组织在同一包中 方便查找使用
避免名字冲突
类似目录 包也是树形目录的存储方式
同一包 类名不同 不同包雷鸣可以相同
铜焊丝调用两个不同包的相同类 应加报名以便区分
限定访问权限
又有包的访问权限的类 才能访问此包的类
程序包对类的访问权限
public 修饰的类——本包的其他类 和 其他程序包的类都可以使用
非public修饰的类(缺省修饰)类——只能被当前程序包的其它类使用
private -- class
缺省 -- class package
protected -- class package subclass
public -- class package subclass world
程序包的语法格式
——package ppkg1[pkg2[pkg3...]]