Java选择结构与循环结构
一、选择结构
- if选择结构
//张浩的成绩与MP4
Scanner in = new Scanner(System.in);
System.out.println("请输入张浩的Java成绩:");
int score=in.nextInt();
if (score>98){
System.out.println("well done,奖励一个MP4");
}
- if-else选择结构
//if-else
Scanner in =new Scanner(System.in);
System.out.println("请输入张浩的Java成绩:");
int score=in.nextInt();
if (score>98){
System.out.println("给你一个MP4");
}else{
System.out.println("编写10000行代码");
}
- 多重if选择结构
//多重if
Scanner in =new Scanner(System.in);
System.out.println("请输入张浩的Java成绩:");
int score=in.nextInt();
if (score>=80){
System.out.println("良好");
}else if (score>=60){
System.out.println("中等");
}else{
System.out.println("不及格");
}
- 嵌套if选择结构
//嵌套选择结构
Scanner in =new Scanner(System.in);
System.out.println("百米赛跑时间:");
double time=in.nextDouble();
if (time<10){
System.out.println("恭喜您进入决赛!");
System.out.println("请输入性别:");
char sex=in.next().charAt(0);
if (sex=='男'){
System.out.println("进入男子组");
}else if (sex=='女'){
System.out.println("进入女子组");
}
}else{
System.out.println("很遗憾,您没能进入决赛!");
}
- swith选择结构
关键字switch
能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,在JDK1.7后添加了对String类型的判断,switch不能判断float类型的数据。case
case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句;case后常量不能重复。break
不要省略!!!default
如果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写。- 多路分支选择结构
适用于条件判断是等值判断的情况
Scanner in=new Scanner(System.in);
System.out.println("请输入名次:");
int rank=in.nextInt();
switch (rank){
case 1:
System.out.println("去麻省理工参加一个月的夏令营");
break;
case 2:
System.out.println("惠普笔记本一台");
break;
case 3:
System.out.println("移动硬盘一个");
break;
default:
System.out.println("没有获得奖励");
break;
}
二、循环结构
- while循环结构
特点:先判断,后执行。
//求100以内偶数的和
int n=0;
int sum=0;
while (n<=100){
sum=sum+n;
n=n+2;
}
System.out.println("100以内的偶数的和为:"+sum);
//求100以内奇数的和
int n=1;
int sum=0;
while (n<=100){
sum=sum+n;
n=n+2;
}
System.out.println("100以内的奇数的和为:"+sum);
//求100以内所有质数的和
int a=2;
int sum=0;
while (a<=100){
int c=0;
int b=2;
//b<a
while (b<a){
//在b<a的条件下判断a%b的值 如果为0 则c不等于0
if (a%b==0){
c++;
}
b++;
}
//根据c的值判断a是否为质数
if (c==0){
sum=sum+a;
}
a++;
}
System.out.println("100以内的指数的和为:"+sum);
- do-while循环结构
特点:先执行,后判断。
//摄氏度与华氏度
double sheshi=0;
double hushi;
int item=1;
System.out.println("摄氏温度"+"\t\t"+"华氏温度");
do {
hushi=sheshi*9/5+32;
System.out.println(sheshi+"C"+"\t\t"+hushi+"F");
sheshi=sheshi+20;
item++;
}while (sheshi<=250&&item<=10);
-
for循环结构
特点:- 先判断,再执行
- 循环次数固定
- for比while更简洁
语法和执行顺序:
- for(参数初始化1;条件判断2;更新循环变量4)
{代码块(循环体)3} - 执行顺序:
1→2→3→4→2.......
//计算平均分
Scanner in=new Scanner(System.in);
System.out.println("请输入学生姓名");
String name= in.next();
int sum=0;
int i;
for (i=1;i<=5;i++){
System.out.println("请输入"+name+"第"+i+"门课成绩");
int score=in.nextInt();
sum=sum+score;
}
double avg=sum/5;
System.out.println(name+"的"+(i-1)+"门课平均分为"+avg);
三、break与contiune
-
break
- 改变程序控制流
- 用于do-while、while、for中时,可跳出循环而执行循环后面的语句
-
continue
- 只能用在循环里
- continue 作用:跳过循环体中剩余的语句而执行下一次循环