●按位运算符
按位运算符用来操作整数基本类型中的每个比特位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
如果进行比较的双方是数字的话,那么进行比较就会变为按位运算。
按位与∶按位进行与运算(AND),两个操作数中位都为1,结果才为1,否则结果为0。需要首先把比较双方转换成二进制再按每个位进行比较
按位或:按位进行或运算(OR),两个位只要有一个为1,那么结果就是1,否则就为0。
按位非:按位进行异或运算(XoR),如果位为0,结果是1,如果位为1,结果是0。
按位异或:按位进行取反运算(NOT),两个操作数的位中,相同则结果为0,不同则结果为1。
●移位运算符
移位运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。
●三元运算符
三元运算符是类似 if…else… 这种的操作符,语法为︰条件表达式?表达式1∶表达式2。问号前面的位置是判断的条件,判断结果为布尔型,为 true时调用表达式1,为 false时调用表达式2。
===========================================================================
Java中的控制流程其实和C一样,在Java中,流程控制会涉及到包括if-else、while、do-while、for、return、break 以及选择语句switch 。下面以此进行分析
条件语句可根据不同的条件执行不同的语句。包括 if 条件语句与 switch 多分支语句。
if 条件语句
if 语句可以单独判断表达式的结果,表示表达的执行结果,例如
int a = 10;
if(a > 10){
return true;
}
return false;
if…else条件语句
if 语句还可以与else连用,通常表现为 如果满足某种条件,就进行某种处理,否则就进行另一种处理。
int a = 10;
int b = 11;
if(a >= b){
system.out.println("a >- b");
}else{
System.out. println("a < b");
}
if 后的 () 内的表达式必须是 boolean型的。如果为true,则执行if后的复合语句;如果为 false,则执行else后的复合语句。
if…else if多分支语句
上面中的if…else是单分支和两个分支的判断,如果有多个判断条件,就需要使用if…else if
int x = 40;
if(x > 60) {
system.out.println("x的值大于60"");
}else if (x > 30) {
system.out.println("x的值大于30但小于60");
}else if (x > 0) {
system.out.println("x的值大于0但小于30");
}else {
system.out.println("x的值小于等于0");
}
switch多分支语句
一种比 if…else if 语句更优雅的方式是使用 switch 多分支语句,它的示例如下
switch (week) {
case 1:
System. out.println( "Monday");
break;
case 2:
System.out. println("Tuesday");
break ;
case 3:
system. out.println("Wednesday" );
break;
case 4:
system.out. println("Thursday");
break;
case 5:
system. out. println( "Friday");
break;
case 6:
System. out.println("Saturday");
break;
case 7:
system. out.println( "Sunday");
break;
default:
system. out.println("No Else");
break ;
}
循环语句就是在满足一定的条件下反复执行某一表达式的操作,直到满足循环语句的要求。使用的循环语句主要有for、do…while() 、 while
while 循环语句
while 循环语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。while 循环语句的格式如下
while(布尔值){
表达式
}
它的含义是,当 (布尔值) 为true 的时候,执行下面的表达式,布尔值为 false 的时候,结束循环,布尔值其实也是一个表达式,比如
int a - 10;
while(a > 5){
a--;
}
do…while循环
while 与do…while 循环的唯一区别是do…while 语句至少执行一次,即使第一次的表达式为 false。而在while 循环中,如果第一次条件为false,那么其中的语句根本不会执行。在实际应用中,while 要比do…while应用的更广。它的一般形式如下
int b - 10;
// do. .-while循环语句
do {
system. out.println("b -- " + b);
b--;
} while(b == 1);
for循环语句
for循环是我们经常使用的循环方式,这种形式会在第一次迭代前进行初始化。它的形式如下
for(初始化;布尔表达式;步进){}
每次迭代前会测试布尔表达式。如果获得的结果是false,就会执行for语句后面的代码;每次循环结束,会按照步进的值执行下一次循环。
逗号操作符
这里不可忽略的一个就是逗号操作符,Java里唯一用到逗号操作符的就是 for 循环控制语句。在表达式的初始化部分,可以使用一系列的逗号分隔的语句;通过逗号操作符,可以在 for语句内定义多个变量,但它们必须具有相同的类型
for(int i = 1;j = i + 10;i < 5;i++,j = j * 2){}
for-each语句
在Java JDK 1.5中还引入了一种更加简洁的、方便对数组和集合进行遍历的方法,即 for-each 语句,例子如下
int array[] = {7,8,9};
for (int arr : array) {
System.out.println(arr);
}
Java语言中,有三种跳转语句: break、continue 和 return
break语句
break语句我们在switch 中已经见到了,它是用于终止循环的操作,实际上break 语句在for、while,do…while循环语句中,用于强行退出当前循环,例如
for(int i = 0;i < 10;i++){
if(i == 5){
break;
}
}
continue语句
continue也可以放在循环语句中,它与 break语句具有相反的效果,它的作用是用于执行下一次循环,而不是退出当前循环,还以上面的例子为主
最后
2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。
更多JVM面试整理:
退出当前循环,例如
for(int i = 0;i < 10;i++){
if(i == 5){
break;
}
}
continue语句
continue也可以放在循环语句中,它与 break语句具有相反的效果,它的作用是用于执行下一次循环,而不是退出当前循环,还以上面的例子为主
最后
2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。
[外链图片转存中…(img-QSvYY3yP-1714375423755)]
更多JVM面试整理:
[外链图片转存中…(img-7tX8WwHG-1714375423755)]