流程控制语句的整理

来源:互联网 发布:windows vista64位下载 编辑:程序博客网 时间:2024/04/28 19:17


switch分支语句

switch语句和if 相似,它是根据条件表达式的值来判断执行的程序语句

switch分支语句要比If语句复杂的多,但当判断条件很多时,switch要比if要方便的多

结构:

switch (表达式)

{

case:取值1; //如果表达式的值跟取值1相等的时,就执行语句,否则判断下面一条

执行语句;

break;

case:取值2;

执行语句;

break;

.......

default: //当表达式的结果没有跟相对应的取值相同时,就执行default

执行语句;

break;

}

例题:


class Demo{public static void main(String[] args){switch(3){case 1:System.out.println("number 1");break;case 2:System.out.println("number 2");break;default:System.out.println("number 3");break;}}}

switch语句有关规则

1、表达式的返回值必须是下述几种类型之一: int bytecharshort 确定的结果
2、case字句中的取值必须是常量,且所有case子句中的取值是不同的
3、default是可选的
4、break语句用来执行完一个case分支后使程序跳出switch语句块,如果case后面没有写break则继续往下面执行
5、case后面的执行体可写{}也可以不写{}


while循环语句

while(条件表达式)

{

语句块;

}

符合条件,循环继续执行,否则,循环退出

特点:先判断,再循环


do while循环语句

do

{

循环操作

}while(循环条件);//记住while后面的分号不能忘记

先执行一遍循环操作,符合循环条件,循环继续;否则,循环退出

特点:先执行,后判断。不管程序有没有判断,都要先执行一次


for 循环语句

for(初始化参数;判断条件;更新循环变量)

{

循环体;

}


continue语句

跳过continue语句进入下一次循环

break语句

当break语句在循环体中使用时:表示跳出当前最近的循环


作业:

例1:程序大赛,3个班级各四名学员参赛,计算每个班参赛学员的平均分

import java.util.Scanner;/**程序大赛,3个班级各四名学员参赛,计算每个班参赛学员的平均分*/public class homeWork4 {public static void main(String[] args) {Scanner input = new Scanner(System.in);//外循环控制班级for (int i = 1; i <= 3; i++){int sum = 0;//内循环控制每个班级的参赛人数for (int j = 1; j <= 4; j++){System.out.println("请输入第"+i+"组,第"+j+"名学员的成绩:"); sum+= input.nextInt();}int vgs = sum / 4;System.out.println("第"+i+"个班的平均成绩是:"+vgs);}}}

例2:用*打印一个直角三角形

/**用*打印一个直角三角形*/public class homeWork5 {public static void main(String[] args) {//外循环控制行数for (int i=0; i<=5; i++){//控制每行的空格数for (int j=i; j<=4; j++){System.out.print(" ");}//控制每行*号的个数for (int j=0; j<=i; j++){System.out.print("*");}System.out.println();}}}

例3:打印出0-200之间能被7整出但不能被4整出的所有整数

/**打印出0-200之间能被7整出但不能被4整出的所有整数*/public class homeWork6 {public static void main(String[] args) {for (int i=0; i<=200; i++){if (i % 7 == 0 && i % 4 != 0){System.out.println(i);}}}}

例4:Java阶乘求和1!+2!+...+10!(1!=1*1 2!=1*2,3!=1*2*3, 4!=1*2*3*4)

/**Java阶乘求和1!+2!+...+10!(1!=1*12!=1*2,3!=1*2*3,4!=1*2*3*4)*/public class homeWork7 {public static void main(String[] args) {//定义一个阶乘总和int sum = 0;//阶梯的个数for (int i = 1; i <= 10; i++){int s = 1;for (int j = 1; j <= i; j++){s *= j;}System.out.println("第"+i+"阶乘的值是:"+s);sum += s;}System.out.println("10的阶乘和是:"+sum);}}









0 0