第三章 Java基础程序设计
一、数据类型的划分:
基本数据 数值型 整数类型:byte、short、int、long
类型 浮点类型:float、double
字符型:char
布尔型:boolean
引用数据 类:class
类型 接口:interface
数组
二、三张表:
Java基本数据类型
序号 | 数据类型 | 字节 | 位 |
1 | byte(位) | 1 | 8 |
2 | short(短整数) | 2 | 16 |
3 | int(整数) | 4 | 32 |
4 | long(长整数) | 8 | 64 |
5 | char(字符) | 2 | 16 |
6 | float(单精度) | 4 | 32 |
7 | double(双精度) | 8 | 64 |
8 | boolean(布尔) | — | — |
常用的转义字符
序号 | 转义字符 | 描述 | 序号 | 转义字符 | 描述 |
1 | \f | 换页 | 5 | \r | 归位 |
2 | \\ | 反斜线 | 6 | \” | 双引号 |
3 | \b | 倒退一格 | 7 | \t | 制表符Tab |
4 | \’ | 单引号 | 8 | \n | 换行 |
基本数据类型的默认值
序号 | 数据类型 | 默认值 |
1 | byte | (byte) 0 |
2 | short | (short) 0 |
3 | int | 0 |
4 | long | 0L |
5 | float | 0.0f |
6 | double | 0.0d |
7 | char | \u0000 (空,‘’) |
8 | boolean | false |
三、数据类型的转换:
①自动类型转换(扩大转换):
1、转换前后数据类型兼容
2、转换后的表示范围>转换前
3、只影响该行语句,不影响原定义
1、byte、short、char—>int—>long
2、int—>float/double
3、所有—>String
②强制类型转换(缩小转换):
(要转换的数据类型)变量名称
(有可能丢失数据的精确度)
四、运算符:
①赋值运算符:=
②一元运算符:+(正)、—(负)、!(否)
③算术运算符:+、—、*、/、%(取余)
④关系运算符:>、<、>=、<=、==、!=
⑤自增与自减运算符:++、——
⑥逻辑运算符:&(AND,与) &&(短路与)
|(OR,或) ||(短路或)
⑦括号运算符:()、[ ]
⑧位运算符:&(按位与) |(按位或) ~(取反码)
^(异或,相同为0,不同为1)
<<(左移位)<空位用0填充>
>>(右移位)<空位用符号位填充>
>>>(无符号右移位)<空位用0填充>
⑨新的运算符:+=、—=、*=、/=、%=
⑩运算符的优先级表:
优先级 | 运算符 | 结合性 |
1 | () | 从左至右 |
1 | [ ] | |
2 | !、+(正号)、—(负号) | 从右至左 |
2 | ~ | |
2 | ++、—— | |
3 | *、/、% | 从左至右 |
4 | +、— | |
5 | <<、>> | |
6 | >、>=、<、<= | |
7 | ==、!= | |
8 | &(位运算符AND) | |
9 | ^(位运算符XOR) | |
10 | |(位运算符OR) | |
11 | && | |
12 | || | |
13 | ?: | 从右至左 |
⑪三目运算符:?:
⑫注意事项:
1、注意优先级,优先级相同时看结合性方向
2、位运算只适用于byte、short、int、char、long
3、a++:先执行再自增 ++a:先自增再执行
4、二进制位最左边一位是符号位,1负0正
五、选择结构:
①if语句: if(判断条件){
语句1;
…
语句2;
}
②if…else语句: if(判断条件){
语句主体1;
}else{
2;
}
③if…else if(条件判断1){
if……else 语句主体1;
语句: }else if(条件判断2){
语句主体2;
}…//多个else if()语句
else{
3;
}
④switch语句: switch(表达式){
case 选择值1:语句主体1;
break;
…
default:语句主体;break;//break可省
}
六、循环结构:
①while循环 :while(循环条件判断){
语句主体;
循环几次) 循环条件更改;
}
②do…while循环: do{
语句主体;
循环条件更改;
}while(循环条件判断);
③for循环: for(赋值初值;判断条件;赋值增减量){
语句主体;
}
④循环的嵌套: for( ; ;){
for( ; ;){
语句主体;
}
}
⑤循环的中断:
break:强制脱离循环。当程序运行到break语句时,
即会离开循环,继续执行循环外的下一个语
句,如果break出现在内层循环中,则只会
离开当前层循环
continue:强制跳到循环起始处。停止运行剩余循
环主体,转到循环的开始处继续运行