Java语言的基础组成
①关键字 ②标识符 ③注释 ④常量和变量 ⑤运算符 ⑥语句 ⑦函数 ⑧数组
5. 运算符
-
算术运算符
+ 加法 - 减法 * 乘法 / 除法 % 取余(模运算) + 连接符 ++ 自增 -- 自减
任何数 %2 不是0就是1 (开关运算)
a%b 涉及到负数运算时,结果只与被模数a的符号相同++ 和 -- 可放数值变量的左边,也可放右边(++a 或 a++) 在左边时数值变量自增或者自减,然后再代入表达式中运算 eg:int a = 3,b; b = ++a; ==> 输出 a = 4,b = 4 在右边时数值变量先代入表达式中运算,运算完后数值变量再自增或者自减 eg:int a = 3,b; b = a++; ==> 输出 a = 4,b = 3
-
赋值运算符
= += -= *= /= %= (左右两边的值运算后赋值给左边)
eg:short s = 3; ① s += 4; //像定义short变量一样,会数据类型自动转换 ② s = (short)(s + 4); //s会数据类型自动提升成int型,运算完后需手动强转成short型
-
比较运算符
> 大于 >= 大于等于 < 小于 <= 小于等于 == 等于 != 不等于 //数值类型比较的是值,引用数据类型比较的是地址值(是否同一个对象)
注:比较运算符运算完的结果一定都是 true 或者 false
-
逻辑运算符
用于连接两个boolean类型的表达式&:与 //都为true,则为true;有一个为false,则为false &&:双与(短路与) //程序从左向右执行,一旦执行到false,右边的表达式直接跳过,不会执行了 |:或 //都为false,则为false;有一个为true,则为true ||:双或(短路或) //程序从左向右执行,一旦执行到true,右边的表达式直接跳过,不会执行了 ^:异或 //两边结果相同,为false;两边结果不同,为true !:非 //取反 !true = false;!false = true
-
位运算符
针对二进制数进行运算(进行位运算前需将数据先转换位二进制数)<<:左移 //被移除数的最高位舍弃,空缺位补0(左移几位就是该数乘以2的几次幂) >>:右移 //被移除数的最高位是什么,空缺位补什么(右移几位就是该数除以2的几次幂) >>>:无符号右移 //被移除数的最高位无论是什么,空缺位都补0 (0代表false,1代表true) &:二进制数进行&运算 //只跟较小数的最后几位二进制位有关 |:二进制数进行|运算 //取两个数的有效位 ^:二进制数进行^运算 //一个数异或同一个数两次,结果还是还是这个数(可用于加密文件)
-
三元运算符
(条件表达式) ? 表达式1 : 表达式2 如果条件表达式返回true,运算后的结果为表达式1 如果条件表达式返回false,运算后的结果为表达式2
注:三元表达式就是一个简单的if-else语句,在下个小节会讲到区别
6. 语句
-
判断语句
第一种格式
if(条件表达式)
{
执行语句;
}
第二种格式
if(条件表达式)
{
执行语句1;
}else{
执行语句2;
}
第三种格式
if(条件表达式1)
{
执行语句1;
}else if(条件表达式2){
执行语句2;
}
...
else{
执行语句n;
}
if判断语句中要明确自己的控制语句;当控制语句只有一句时,大括号可省略不写
三元运算符与if...else语句的区别:
三元运算符必须要有运算结果; if...else语句可以是运算结果,也可以是输出语句
- 选择语句
switch(条件表达式) {
case 取值1:
执行语句1;
break;
case 取值2:
执行语句2;
break;
...
default:
执行语句n;
break;
}
case的顺序可颠倒;靠近大括号的最下面的break可省略不写,但一般不推荐
if语句和switch语句的区别:
if语句:
1.对具体的值进行判断
2.对区间进行判断
3.对运算结果是boolean类型的表达式进行判断
switch语句:
1.对具体的值进行判断
2.值的个数通常是固定的
对于几个固定的值的判断,建议使用switch语句.因为switch语句会将具体的答案都加载进内存,效率相对高一些
- 循环语句
while循环语句格式
while(条件表达式) {
执行语句; //循环体
}
do while循环语句格式
do {
执行语句; //循环体
} while(条件表达式)
注:do while循环语句特点:无论条件是否满足,循环体至少执行一次
for循环语句格式
for (初始化表达式; 循环条件表达式; 循环后的操作表达式) {
执行语句; //循环体
}
break: 跳出
作用范围:要么是switch语句,要么是循环语句
当break存在嵌套循环中,break当指定循环名跳出哪个循环,否则跳出当前循环
continue: 结束本次循环,继续下次循环
作用范围:循环语句