一、关键字和保留字
1.关键字(Keyword)
被Java语言赋予了特殊含义,用作专门用途的字符串,关键字中的字母都为小写。
2.保留字(reserved word)
现有Java版本尚未使用,但以后版本可能回作为关键字使用。避免保留字:
goto、const
二、标识符(Identifier)
三、变量
1.整型
声明long型变量,必须以"l"或"L"结尾。
2.浮点型
定义float类型变量时,变量要以"f"或"F"结尾。
3.字符型
基本数据类型之间的运算规则
前提:只是7种基本数据类型间的运算,不包含boolean类型
(1)自动类型提升:
当容量小(表示数的范围)的数据类型变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short-->int-->long-->float-->double
当byte、char、short 3种类型变量做运算时,结果为int型。
(2)强制类型转换:自动类型提升运算的逆运算
需要使用强转符:() 可能导致精度损失
4.String类型
String属于引用数据类型,字符串;声明String类型变量时,用一对"";
String可以和8种基本数据类型做运算,且运算只能是连接运算:+,运算结果仍然是String类型。
四、运算符
1.算术运算符
+,-,*,/,++,--,%
%取余运算:结果的符号与被模数的符号相同
2.赋值运算符
=,+=,-=,*=,/=,%=
+=,-=,*=,/=,%=:不会改变变量本身的数据类型(推荐)
3.比较运算符
==,!=,>,<,<=,>=,instanceof(检查是否是类的对象)
4.逻辑运算符
逻辑与&、短路与&&(推荐用短路&&,||)
相同点:运算结果相同;符号左边是true时,二者都会执行符号左边的运算
不同点:当符号左边为false(true)时,&(|)继续执行符号右边的运算,&&(||)不再执行符号右边的运算。
5.位运算符
6.三元运算符
(条件表达式)?表达式1:表达式2
凡是可以使用三元运算符的地方,都可以改写成if-else;反之,不成立。
五、流程控制
1.顺序结构
2.分支结构
(1)if-else结构
(2)switch-case结构
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
...
default:
执行语句n;
}
switch结构中的表达式,只能是6种数据类型之一:byte、short、char、int、枚举类型、String类型。
case之后只能声明常量,不能声明范围。
凡是可以使用switch-case的结构,都可以转换为if-else;反之,不成立。
3.循环结构
(1)for循环
(2) while循环
for循环和while循环是可以相互转换的,区别:for循环和while循环的初始化条件部分的作用范围不一样。出了while循环,依旧可以调用。
(3)do-while循环
不在循环条件部分限制次数的结构:for(;;)或while(true)
带标签的break和continue(可用于结束多层循环)
label:for(int i=1;i<4;i++){
for(int j=1;j<10;j++){
if(j%4==0){
break label;//结束指定标识的一层循环结构
//continue label;//结束指定标识的一层循环结构的当次循环
}
System.out.print(j);
}
}
return:结束一个方法