Java第五课---顺序结构与循坏结构
//考试分数等于100为满分,大于90为A级,大于80为B级,大于70为C级......小于60为不及格!!
Scanner scanner=new Scanner(System.in);
/*
if 语句至多有1个else语句,else语句在所有else if语句之后
if语句可以有若干个else if语句,它们必须在else语句之前
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
*/
System.out.println("请输入成绩:");
int score =scanner.nextInt();
if (score==100){
System.out.println("恭喜满分!");
}else if (score<100&&score>=90){
System.out.println("A级");
}else if (score<90&&score>=80){
System.out.println("B级");
}else if (score<80&&score>=70){
System.out.println("C级");
}else if (score<70&&score>=60){
System.out.println("D级");
}else if (score<60&&score>=0){
System.out.println("成绩不合格!");
}else {
System.out.println("成绩不合法!!!");
}
scanner.close();
//嵌套的if结构
//使用if else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if...else.
switch多选择结构
switch语句中的变量类型可以是:
-
byte,short,int,或者char
-
从Java SE 7开始,switch支持字符串String类型了
-
同时case标签必须为字符串常量或字面量
//case穿透
char grade='C';
switch (grade){
case 'A':
System.out.println("优秀");
break;//
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再厉");
break;
default:
System.out.println("未知等级");
}
String name="王海峰";
//JDK7的新特性,表达式结果可以是字符串
//字符的本质还是数字
//反编译 java---class(字节码文件) ---反编译(IDEA)
switch (name){
case "王海峰":
System.out.println("王海峰");
break;
case "麻神":
System.out.println("麻神");
break;
default:
System.out.println("不可知");
}
反编译 java---class(字节码文件) ---反编译(IDEA)
循环结构
-
while循坏
while(布尔表达式){
//循坏内容
}
当条件为ture时会遇到死循环
//死循环
while (true){
//等待客户端连接
//定时检查
//。。。。。。
}
计算1+2+3+.......+100?
//计算1+2+3+....+100?
//高斯的故事
int i=0;
int sum=0;
while (i<=100){
sum=sum+i;
i++;
}
System.out.println(sum);
2.Do....While
do ...while 与while的区别
-
while先判断后执行。do while是先执行后判断!
-
当条件不满足时,do...while也至少执行一次语句
其他与while相似。
do{
//代码语句
}while(布尔表达式);
//区别while与Do while
int a=0;
while (a<0){
System.out.println(a);//不输出
a++;
}
System.out.println("============");
do {
System.out.println(a);//输出0
a++;
}while (a<0);
-
for循坏语句是支持迭代的一种通用结构,是最有效,最灵活的循坏结构
-
for循坏执行的次数在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
三大列题
//练习1:计算0到100之间的奇数和偶数的和
int oddSum=0;
int evenSum=0;
for (int i = 0; i <= 100; i++) {
if(i%2!=0){//奇数
oddSum+=i;
}else {//偶数
evenSum+=i;
}
}
System.out.println("奇数的和:"+oddSum);//2500
System.out.println("偶数的和:"+evenSum);//2550
System.out.println("=======================");
//练习2:用while或for循坏输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 1; i <=1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){//每行输出三个
System.out.println();//相当于System.out.print("\n");
}
}
/*
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
80 85 90
95 100 105
110 115 120
125 130 135
140 145 150
155 160 165
170 175 180
185 190 195
200 205 210
215 220 225
230 235 240
245 250 255
260 265 270
275 280 285
290 295 300
305 310 315
320 325 330
335 340 345
350 355 360
365 370 375
380 385 390