判断
if
if(条件语句){
代码块
}
件语句为真的情况下,才执行后面的代码,为假就不执行了。条件语句必须为布尔值,可以是一个直接的布尔变量,也可以是变量运算后的结果
if/else
if(条件语句){
代码块1
}else{
代码块2
}
if/else也非常简单,判断条件是一个布尔值,为true的时候执行代码块1,为假的时候执行代码块2。
三目运算
判断条件?表达式1:表达式2
判断条件为真执行表达式1,否则执行表达式2
switch
switch(表达式){
case 值1:代码快1;break;
case 值2:代码快2;break;
case 值3:代码快3;break;
case 值4:代码快4;break;
default:代码块n
}
根据表达式的值找匹配的case,找到后执行后面的代码,碰到break时结束,如果没有找到匹配的值则执行default后的语句。表达式值的 数据类型只能是byte、short、int、char、枚举。和Java 7以后可以放String。
循环
while
while(条件语句){
代码块
}
只要条件语句为真,就一直执行后面的代码,为假就停止不做了
do/while
do{
代码块
}
while(条件语句)
先执行代码块,然后再判断条件语句,如果成立,则继续循环,否则退出循环。也就是说,不管条件语句是什么,代码块都会至少执行一次。
for
for(初始化语句;循环语句;步进操作){
循环体
}
在for后面的括号中有两个分号;,分隔了三条语句。除了循环条件必须返回一个boolean类型外,其他语句没有什么要求,但通常情况下第一条语句用于初始化,尤其是循环的索引变量,第三条语句修改循环变量,一般是步进,即递增或递减索引变量,循环体是在循环中执行的语句。for循环简化了书写,但执行过程对初学者而言不是那么明显,
实际上,它执行的流程如下:
1)执行初始化指令;
2)检查循环条件是否为true,如果为false,则跳转到第6步;
3)循环条件为真,执行循环体;
4)执行步进操作;
5)步进操作执行完后,跳转到第2步,即继续检查循环条件;
6)for循环后面的语句。
foreach
int[] arr={1,2,3,4,5};
for(int i:arr){
System.out.println(i);
}
foreach不是一个关键字,它使用冒号:,冒号前面是循环中的每个元素,包括数据类型和变量名称,冒号后面是要遍历的数组或集合,每次循环i都会自动更新。对于不需要使用索引变量,只是简单遍历的情况,foreach语法上更为简洁。