1、条件运算符的使用
语法基本形式:布尔表达式 ? 表达式1 :表达式2
此函数的功能为:输入temp
若temp大于等于80,显示
若temp处于60-89之间,显示
若temp小于60,显示
注:在一定程度上,该条件运算符的效果与if—else if语句的效果类似。
2、全局变量与局部变量
局部变量声明后必须赋初始值,而全局变量可以先声明,若未赋初始值,则系统会自动给全局变量赋初始值。
3、类常量的概念
定义:static final int X = 20;
用法:在类中声明了类常量X后,即使在没有实例化这个类的对象的情况下,也可以直接引用X这个变量。这也是类常量与普通常量之间的区别。
4、逻辑运算符(&与&&、|与||的区别,~非,^异或,+=)
(1)&与|是主要用在数据的位运算,即&与|的数据类型为数字(也可以是布尔值),比如
输出:8
输出:false
(2)&&与||是用在布尔表达式中,即&&与||的数据类型为布尔值(但是不能为数字,如二进制),比如
输出:false
输出:会报错,显示操作数类型错误
&与&&、|与||的计算结果相同。&&和&的区别在于前者只要第一个操作数为false,则不再计算第二个操作数,而后者无论如何都要计算两个操作数,||和|的区别与上面类似。
对于&&:
此时,(2<1)为假,所以&&不再执行(1/0== 0),直接输出false,结果如下图
对于&:
此时,(2<1)为假,但&还要判断(1/0==0),发现除数不能为0,因此编译报错。
(3)非运算符(~)
int类型占4个字节,每个字节是8位
未完待续(红书p46)
(4)^异或运算符
两个操作数中,相同则结果为0,不同则结果为1
注:对于上述逻辑运算符,若输入一个十进制的或其他进制的数,java总是先将他转为二进制的数,然后再进行位之间的逻辑运算。
(5)+=赋值运算符
a+=b;
等价于
a=a+b;
5、break和continue
(1)break
作用于循环中,用于终止循环
(2)continue
在循环中,终止本次循环,开始下一次循环
情况一:在for循环中使用continue时
在for循环中执行到continue语句时,不再执行循环体中的其他代码,而是直接跳到for循环的增量表达式,再开始下一轮的for循环。
可以看到,在执行完continue;后,程序直接跳到for循环的i++位置处执行。
情况二:在while和do…while语句中使用continue时
运行到continue语句时直接跳到相应的条件表达式,再开始下一轮的循环。
注:break与continue的区别,break是直接跳出循环。continue只是中断当次循环,若后面的条件满足要求,还会继续执行。
6、方法的可变参数
-方法可变参数的格式
修饰符 返回值类型 方法名(参数类型... 形参名){ }
- 可变参数的本质就是一个数组
- 可变参数的注意事项:一个方法中,可变参数只能有一个;可变参数必须写在参数列表的最后一位
public static int add(int a,int b,int...arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}