if/else语句
一个if语句包含一个布尔表达式和一条或多条语句,用于测试条件。它检查布尔条件为:true或false。 java中有各种类型的if语句,它们分别是if语句,if-else语句,嵌套if语句,if-else-if语句四种类型。
if语句
用于测试条件。如果条件为true,则执行if语句块。
语法:
if(布尔表达式){
// if 语句块 => 代码语句
}
if-else语句
用于测试条件。如果if条件为真(true)它执行if块中的代码,否则执行else块中的代码。
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if-else-if语句
if-else-if语句是从多个语句中执行一个条件。
语法:
if(布尔表达式){
//代码语句
}else if(布尔表达式){
//代码语句
}else if(布尔表达式){
//代码语句
}
...
else{
//代码语句
}
switch语句
switch语句
switch语句用于判断一个变量与一系列值中某个值是否相等,它比较类似if-else-if语句。
语法:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
...//任意数量的case语句
default : //可选
//语句
}
switch语句规则如下:
1.switch语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch支持字符串类型了,同时case标签必须为字符串常量或字面量。
2.switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。
3.case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
4.当变量的值与case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。
5.当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。
6.switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。
7.switch语句通过所有条件,case子句中的所有条件都未能匹配。也就是如果不在switch case下使用break语句,则它在第一个匹配之后也会继续执行接下来的所有case中的语句。
for循环
for循环用于多次迭代程序的一部分,或者多次执行同一个代码块。如果迭代次数是固定 的,建议使用for循环。java中有三种类型的for循环分别是简单for循环,for-each(增强型for循环),标记for循环。
简单for循环
Java简单for循环可以初始化变量,检查条件和增加/减少变量的值。
语法:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
for-each循环
for-each循环用于在java中遍历数组或集合。它比简单for循环更容易使用,因为不需要递增值和使用下标符号。
语法:
for(Type var:array){
//代码语句
}
标记for循环
在嵌套for循环中,使用break/continue指定循环。通常,break和continue关键字断开/继续最内循环。
while 循环
while关键字的中文意思是“当……的时候”,也就是当条件成立时循环执行对应的代码。 while语句是循环语句中基本的结构,语法格式比较简单。
while语句语法格式:
while(循环条件)
循环体;
为了结构清楚,并且使循环体部分可以书写多行代码,一般把循环体处理成代码块,则语法格式变为:
while(循环条件){
循环体;
}
语法说明:和if语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。
执行流程:在执行while语句时,首先判断循环条件,如果循环条件为false,则直接执行while语句后续的代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。
如果在while循环中传递true作为参数,它将是一个无限while循环。
do…while 循环
do…while循环用于多次迭代程序的一部分或重复多次执行一个代码块。 如果迭代次数不固定,必须至少执行一次循环,建议使用do-while循环。
语法:
do{
//代码语句
}while(布尔表达式); // 后置条件检查
注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。如果布尔表达式的值为true,则语句块一直执行,直到布尔表达式的值为false。
break语句
break用于断开循环或switch语句。它在指定条件下中断程序的当前流程。在内循环的情况下,它仅中断内循环,外循环仍然可继续执行。
在循环语句中,break的作用是结束循环语句的执行。break语句可以用在三种循环语句的内部,功能完全相同。
因逻辑复杂存在嵌套循环语句,如果break出现在循环嵌套的内部时,则满足条件结束break语句所在的循环,对其他循环没有影响。
中断外部的循环,则可以通过使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环,例如:
public class Test {
public static void main(String[] args) {
lable:
for(int i = 0;i < 2 ;i++){
for(int j = 0;j < 5 ; j++){
System.out.println("j value is : " + j);
if(j == 3){
break lable;
}
}
}
}
}
lable是标签名称,可以为java语言中任意合法的标识符,标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,标签语句以冒号结束。
continue 语句
continue可以强迫程序跳到循环的起始处,当程序运行到continue语句时,即会停止运行剩余的循环主体(结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环),而是回到循环的开始处继续运行。
break和continue两者的区别
1)当循环执行到break语句时,就退出整个循环,然后执行循环外的语句。
2)当循环语句执行到continue时,当次循环结束,重新开始下一轮循环。如果已经是最后一轮循环了,那么这是的continue就与break效果一样了。