java的语句偶数循环_java循环语句

  • Post author:
  • Post category:java


1 条件语句

1.1 简单的if条件语句

if语句可分为简单的if语句;if…else语句;if…else if多分支语句。

语法:

if(布尔表达式){

语句序列

}

注意:

(1) 布尔表达式:必要参数,可以是一个单纯的布尔值变量或常量,也可以是使用关系或布尔运算符的表达式。

(2)语句序列 :可选参数,可以是一条或者多条语句。

1.2 if…else语句

if…else语句是条件语句中最常用的一种形式,它会针对某种条件有选择地作出处理。通常表现为“如果满足某种条件,就进行某种处理,否则进行另一种处理”。

语法:

if(表达式){

若干语句

}else{

若干语句

}

if后面“()”内的表达式必须是boolean型的。如果表达式值为true,则执行紧跟if后面的复合语句;如果表达式为false,则执行else后面的复合语句。

注意:if…else语句有时可以使用三元运算符简化代码。

1.3 if…else if多分支语句

if…else if多分支语句针对某一事物的多种情况进行处理。

语法:

if(条件表达式1){

语句序列1

}

else if(条件表达式2){

语句序列2

}

else if(条件表达式n){

语句序列n

}

注意:

(1)条件表达式1~条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为boolean类型。

(2)语句序列:可以是一条或者多条语句,当条件表达式那个为真,执行哪个语句序列。

1.4 switch语句

switch(表达式){

case常量值1:

语句块1

[break;]

……..

case常量值n:

语句块n

[break;]default:

语句块n+1[break;]

}

switch语句中表达式的值必须是整数、字符型或字符串类型,常量值1~n必须也是整数、字符型和字符串类型。switch语句先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则执行case语句后的若干语句直到break语句为止。如果该case语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch不做任何处理。

2 循环语句

2.1 while语句

while语句也称为条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句。

语法:

while(条件表达式){

执行语句

}

当条件表达式为真的时候,会执行语句;直到条件表达式为假的时候,退出循环。

2.2 do…while循环语句

do…while语句与while循环语句类似,区别是while语句先判断条件后执行,do…while语句先执行一次循环后,再判断条是否成立。也就是说do..while语句至少执行一次。

语法:

do{

执行语句

}

while(条件表达式);

2.3 for循环语句

for循环可以用来重复执行某条语句,直到某个条件得到满足。在java5以后增加了foreach语法。

(1)for语句

语法:

for(表达式1;表达式2;表达式3){

语句序列

}

I.表达式1:初始化表达式,负责完成变量的初始化。

II.表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件。

III.表达式3:循环后操作表达式,负责修整变量,改变循环条件。

执行流程:在执行for循环时,首先执行表达式1,完成某一变量的初始化工作;下一步判断表达式2的值,若表达式2的值为true,进入循环体;在执行完循环体后计算表达式3,这部分是增加或减少循环控制变量的一个表达式。这样一个循环就结束了。第二轮循环从表达式2开始,若表达式2返回true,继续循环,否则跳出整个for语句。

执行控制图:

3dd95e62c9a7f7eefb9d686064fd28dd.png

例子:

public classDemo {//计算1-100所有偶数的和

public static voidmain(String[] args) {int sum=0;for(int i=2;i<=100;i+=2) {

sum=sum+i;

}

System.out.println(“1到100之间所有的偶数和为:”+sum);

}

}

1到100之间所有的偶数和为:2550

(2)foreach语句

foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,在遍历数组等方面提供了很大的方便。

语法:

for(元素变量x:遍历对象obj){

引用了x的java语句;

}

public classDemo {public static voidmain(String[] args) {int []arry= {7,10,8,1,3};

System.out.println(“一位数组的元素分别为:”);for(intx:arry) {//x代表输出的引用变量,arry指定要循环的遍历数组

System.out.println(x+“,”);

}

}

}

一位数组的元素分别为:

7,10,8,1,3,

3 循环控制

循环控制包括两方面内容,一方面是控制循环变量的变化方式,另一方面是控制循环的跳转。控制循环的跳转需要用到break和continue两个关键字,这两条跳转语句的跳转效果不同,break是中断循环,continue是执行下一次循环。

3.1 break语句

使用break语句可以跳出switch语句和循环语句。

break语句的使用形式:

da022d9d4663ad94245cdcd2f16e620a.png

注意:如果遇到循环嵌套的情况,break语句只会使程序流程跳出包含它的最内层的循环结构,只跳出一层循环。

循环嵌套:我的理解是如果把循环嵌套当成绕圈跑步的话,外循环控制的是你跑几次,内循环控制的是每一次需要跑几圈。

public classDemo {//使用break跳出内循环

public static voidmain(String[] args) {for(int i=0;i<3;i++) {for(int j=0;j<5;j++) {if(j==3) {break;

}

System.out.println(“i=”+i+”,j=”+j);

}

}

}

}

i=0,j=0

i=0,j=1

i=0,j=2

i=1,j=0

i=1,j=1

i=1,j=2

i=2,j=0

i=2,j=1

i=2,j=2

从结果可以看出:(1)如果j等于3,break就中断了内部循环,输出j值最大到2.

(2)外层的循环没有受到影响,输出i的最大值为2,而2正是for循环设定的最大值。

如果想让break跳出外层循环,需要加一个”标签”,语法:

标签名: 循环体{break标签名;

}

public classDemo {//使用break跳出外循环

public static voidmain(String[] args) {

loop:for(int i=0;i<3;i++) {for(int j=0;j<6;j++) {if(j==3) {breakloop;

}

System.out.println(“i=”+i+”,j=”+j);

}

}

}

}

i=0,j=0

i=0,j=1

i=0,j=2

由结果可知,当j等于3时,i的值没有增加,直接跳出外层循环。

3.2 continue语句

continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始循环。在for循环语句中遇到continue后,首先执行循环的增量部分,然后进行条件测试。在while和do..while中,continue使控制直接回到条件测试部份。

ca98a0c8ffd89cfa6e6a6b575f8fb748.png

public classDemo {//输出1-20之间的奇数,使用continue跳出循环

public static voidmain(String[] args) {for(int i=1;i<20;i++) {if(i%2==0) {continue;

}

System.out.println(i);

}

}

}

3.3 if和switch的应用

If:(1)对具体的值进行判断,(2)对区间判断(3)对运算结果是boolean类型的表达式进行判断。

Switch:(1)对具体的值进行判断(2)值的个数通常都是固定的。

补充:switch语句可以运用在byte,short以及其包装类上,而不能应用在long,String等类型上;因为byte,short及其包装类会经过隐式转换成int类型;而long,String类做不到。



版权声明:本文为weixin_34649252原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。