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 bytechar short 确定的结果
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*1 2!=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);
}
}