else
statement
所有的条件语句都利用条件表达式的真(true)假(false)
来决定执行路径。java中的所有关系操作符,都可以用来构造条件语句。但不能将一个数字作为布尔值使用,java中在进行布尔测试时使用一个非布尔值比如 if(a) ,那么首先必须用一个条件表达式将其转换成布尔值,例如:if(a!=0)
while、do-while、for用来控制循环,有时将它们划分为迭代语句(iteration statement)。语句的特点是会重复执行,直到起控制作用的布尔表达式(Booleanexpression)得到“假”的结果为止。
while循环语句:
//while循环的格式:
whlie(Boolean-expression)
statement
在循环开始时,会计算一次布尔表达式的值;而在语句的下一次迭代开始前会再进行一次。
例:产生随机数,直到出现符合条件的随机数
public class Thinking_test {
static boolean condition(){
boolean result = Math.random()<0.8;
System.out.print(result+". ");
return result;
}
public static void main(String []args){
while(condition())
System.out.println("Inside ‘while’ ");
System.out.println(“Exited ‘while’”);
}
}
Output:
true. Inside ‘while’
true. Inside ‘while’
false. Exited ‘while’
do-while循环语句:
//do-while格式
do
statement
while(Boolean-expression)
do-while与while不同,do-while中的语句至少会被执行一次,即便表达式第一次就被计算为false
也会执行一次,如果是while则不会执行。
for循环语句:
//for循环格式:
for(initialization(初始化表达式);Boolean-expression(布尔表达式);step(步进运算))
statement
for循环是最常用的迭代形式,其在进行第一次迭代时要进
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
行初始化,之后进行条件测试、迭代、步进直到结束。
例:
public class Thinking_test {
public static void main(String []args){
for(int i=0;i<10;i++){
System.out.print(i+". ");
}
}
}
Output:
逗号操作符,Java里面唯一用到逗号操作符的地方就是for循环的控制表达式。在控制表达式的初始化和步进控制部分,可以使用一系列由逗号分隔的语句。
例:
public class Thinking_test {
public static void main(String []args){
for(int i=1,j=i+10;i<5;i++,j=j*2){
System.out.println(" i= "+ i + ", j= "+j);
}
}
}
Output:
i= 1, j= 11
i= 2, j= 22
i= 3, j= 44
i= 4, j= 88
无穷循环有两种形式:while(true)
和for( ; ; )
。
Foreach是一种更加简洁的for语法用于数组和容器。不必创建int变量去对由访问项构成的序列进行计数,foreach将自动生成每一项。
例:
public class Thinking_03_test1 {
public static void main(String []args){
Random rand =new Random(47);
int []arr={1,2,3,4,5,6,7,8,9};
for(int i:arr)
System.out.print(i+". ");
}
}
Output:
在Java中有多个关键词表示无条件分支,它们只是表示这个分支无需任何测试即可发生,这些关键词包括return、break、continue
。
return关键词
- return关键词由两方面的用途:一方面指定一个方法返回什么值(假设它没有void返回值),
另一方面它会导致当前方法退出,并返回那个值。
例:比较两个数的大小
public class Thinking_test {
static String test(int level1,int level2){
if(level1>level2)
return “max=”+level1+",min="+level2;
else if(level1<level2)
return “max=”+level2+",min="+level1;
return “”;
}
public static void main(String []args){
System.out.println(test(5,10));
System.out.println(test(6,3));
}
}
Output:
max=10,min=5
max=6,min=3
break和continue
- 在任何迭代语句的主体部分,都可用break和continue控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的迭代,然后退回到循环起始处,开始下一次迭代。
public class Thinking_test {
public static void main(String []args){
for (int i=0;i<10;i++){
if(i==5)continue;
if(i==8)break;
System.out.print(i+". ");
}
}
}
Output: