Java中的程序控制流程,spring底层原理面试题

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语句


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:

return、break和continue


在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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值