Java SE学习概述
Java SE 学习分为五个阶段
第一部分:基础程序设计;
第二部分:面现象对象编程;
第三部分:Java SE 高级应用;
第四部分:JavaSE 新特性;
第五部分:MySQL/JDBC核心技术。
下图包括但不限于整个阶段内容:
第一部分:基础程序设计;
1. 关键字
Java内部已经定义好的单词,具有特殊固定含义,例: public static
viod main。总共有50个。
2. 标识符
定义:自己命名的部分为标识符。
使用注意:在编写标识符时需严格遵守编写规则,防止出错;需注意编写规范,养成良好习惯。
编写规则:
1)标识符只能用26个英文的大小写、0-9数字、下划线_、美元符号$.
2)不能使用关键字和特数字.
3)不能以数字开头.
4)不能包含空格.
5)严格区分大小写.
编写规范:
1)见名知意
2)类、接口名采用采用“驼峰形式”编写,例XxxYyyZzz,注意首字母大写.
3)变量、方法名采用“驼峰形式”编写,例xxxYyyZzz,注意首字母小写.
4)包名小写,单词之间用“.”分开,例如:xxx.yyy.zzz
5)常量名大写,单词间用“_”分开,例:XXX_YYY_ZZZ.
3. 数据类型
计算机只会处理数据0和1,理论上,足够的0和1组合可以表示任何事物,而不同类型的数据(例如数字、文本、视频)需要不同的组合方式。为便于程序员编程,提出数据类型概念。程序员通过编写不同的数据类型,编译器根据设定好的组合方式编译成计算机可执行的机器代码1。
数据类型可分为两大类:基础数据类型和引用数据类型。
3.1 基础数据类型可进一步分为八类:
数据类型 | 字节数 | 取值范围 | 注意事项 |
---|---|---|---|
byte | 1 | -2^7 ~ 2^7-1 | |
shout | 2 | -2^15 ~ 2^15-1 | |
int(默认) | 4 | -2^31 ~ 2^31-1 | |
long | 8 | -2^63 ~ 2^63-1 | a = 21214441L(后面加L) |
float | 4 | 3.4E+10的负38次方~3.4E+10的38次方 | b = 1.2134F(后面加F) |
double(默认) | 8 | 1.7E+10的负308次方~1.7E+10的正308次方 | c = 212.123 (D通常省略) |
char | 2 | 0~ 2^16-1 | |
boolean | 1 | false 和 true |
3.2 基础数据类型转换:
数据类型的转换,有自动类转换 和强制类转换。
自动类转换:
将
取值范围小的类型
自动提升为取值范围大的类型
。
自动转换方向:byte -> short /char-> int -> long ->float -> double
强制类转换:
将
取值范围大的类型
强制转换成取值范围小的类型
转换格式:数据类型 变量名 = (数据类型)被强转数据值;
例如:int a = (int)12.2;
其中:12.2表示double型,(int)表示强制转换为int型.
- 成员变量与局部变量
成员变量有默认值,局部变量无默认值。
基础类型的成员变量存储在堆中,引用类型的成员变量在栈中声明,在堆中分配存储空间;基础类型的局部变量存储在栈中,引用类型的成员变量在栈中声明,堆中分配存储空间。
数据类型 | ||
---|---|---|
类 | ||
数组 | ||
接口 | ||
对象 | ||
注释 |
4. 运算符
4.1运算符分类
按照功能区分:算术运算符、赋值运算符、比较运算符、逻辑运算、条件运算符。
分类 | 运算符 |
---|---|
算数运算符 | +、-、*、/、%、++、– |
赋值运算符 | =、+=、-=、*=、/=、%= |
关系运算符 | >、>=、<、<=、==、!= |
逻辑运算符 | &、I、^、!、&&、II |
条件运算符 | (条件表达式)?结果1:结果2; |
位运算符 | &、I、~、^、<<、>>、>>> |
1)注意i++和++i的区别,
2)注意 +=、-=、 *=、 /= 能直接强制转换数据类型.
4.2运算符优先次序
大致顺序为:算数运算->位运算符->关系运算符->逻辑运算符->三元运算符->赋值运算符.
5. 流程控制
流程控制的三种基本结构:顺序结构、分支结构、循环结构
5.1 顺序结构
顺序结构是程序从上到下逐行地执行的结构。
5.2 分支结构
根据条件选择性执行的结构。主要有两种结构:if else语句 、switch case语句
if (判断条件1) {
//判断条件1 是false 还是true
执行语句1;
}
...
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
}
注:if可嵌套多层,else与临近if相匹配。
switch(表达式){
case 常量值1: //当表达式等于常量1时,执行语句块1;
case 常量值2:
case 常量值3 //case具有穿透性,即cash后面没有break,继续执行
//case 常量值1|常量值2: 错误示范。
语句块1;
break; //跳出整个循环。
。。。
default:
语句块n+1;
break;
}
注意:
1)swith 表达式的值只能是byte、shout、int、long以及枚举(JDK1.5后加入)、String(JDK1.7后加入).
2)case 后面的值必须是常量值,且不能重复。
5.3 循环结构
循环结构 | 执行判断顺序 | 循环条件 | 循环次数是否确定 | 备注 |
---|---|---|---|---|
while | 先判断后执行 | boolean型 | 否 | – |
do…while | 先执行后判断 | boolean型 | 否 | do…while; |
for | 先判断后执行 | boolean型 | 是 | (;;) |
注意:
1)当循环条件依赖于循环体时,用while 或者 do while较为方便。
2)当循环次数确定时,用for循环较为方便。
3)在循环结构中break结束整个循环,continue结束当下循环并开始下一次循环。
6. 数组
数组是保存多个数据的容器。
6.1 数组的四要素
数组的四要素分别为:数据类型、数组名、数组元素、访问下标。
数据类型:一个数组只能保存一种类型,不能保存多种类型
数组名:使用数组名访问数组
数组元素:使用数组参与运算一定是数组元素参与运算,一个数组元素相同于一个给定数据类型的变量
访问下标:通过数组名[访问下标] 格式访问数组元素,当下标为0-至length-1时为合法下标,其他下标为非法下标
6.2 数组的三种声明方式:
//第一种声明方式:动态声明
int arr01[] = new int[4]; //一维数组
int arr11[][] = new int [3][4