判断结构:
if(条件表达式) {
代码块;
如果满足小括号中的内容,则执行大括号中的内容。
}
if(条件表达式) {
如果小括号内结果为true,则执行大括号中的内容。
} else {
如果以上情况不满足,则执行else大括号中的内容。
}
if(条件表达式) {
如果小括号内的结果为true,则执行大括号的内容、
} else if(条件表达式) {
如果小括号内的结果为true,则执行大括号的内容。
} else if(条件表达式) {
如果小括号内的结果为true,则执行大括号的内容。
}
......
else {
如果以上情况不满足,则执行else大括号中的内容。
}
1.判断结构必须以if开头, else if可以有0个或多个, else最多有一个,而且必须在最末尾。
2.无论有多少个else if,一个判断结构只能执行其中的一个大括号中的内容,如果满足某个条件,则执行该条件后的大括号中的内容之后跳出该判断结构。
键盘输入流
1.导包:在类的声明的上面写
import java.util.Scanner;
2.创建Scanner类型的对象(写在main方法中)
类名 对象名 = new 类名(实际参数列表);
Scanner input = new Scanner(System.in);
3.使用键盘进行输入:
输入int 使用 input.nextInt();
int num = input.nextInt();
输入字符串 使用 input.next();
String str = input.next();
建议:由于使用输入方法的时候光标不停的闪,可以在输入上面打印一句提示语句
选择结构:
表达式的结果:byte、short、char、int、枚举(不用)、(JDK1.8 String)
switch(表达式面) {
case 常量值(鸡):
代码块;
break;
case 常量值(蛋):
代码块;
break;
case 常量值(面):
代码块;
break;
.....
default://其他都无法匹配,默认default
代码块;
break;
}
1.小括号内的表达式结果必须与case后的常量一一对应,才可以选中。
2.switch可以转换if结构。
3.default代表除了以上以外的所有情况,可以有,也可以没有。
4.case 代码块和default等都是选项,可以互换位置,但是不建议,
default通常写在最后。
5.break可以用于switch选择结构,作用是跳出switch选择结构。
6.最后一个选项,可以有break也可以没有,结果都相同。
但是通常为了代码整齐,会带上break。
选择结构:
1 importjava.util.Scanner;2 public classDemo1{3 public static voidmain(String[] args){4 /*
5 夏令营:6 第一名 奖励一个水杯7 第二名 奖励一个毛巾8 第三名 奖励一支笔9 其他名次奖励1张A4纸10
11 */
12 Scanner input = newScanner(System.in);13 /*System.out.println("请输入您的名次:");14 int num = input.nextInt();15 switch(num){16 case 1:17 System.out.println("一个水杯");18 break;19 case 2:20 System.out.println("一个毛巾");21 break;22 case 3:23 System.out.println("一支笔");24 break;25 default:26 System.out.println("一张A4纸");27 break;28 }*/
29 /*
30 1号星期一,8号星期几?31 */
32 /*
33
34 System.out.println("请输入今天的日期:");35 int date = input.nextInt();36 switch(date%7){37 case 1:38 System.out.println("星期一");39 break;40 case 2:41 System.out.println("星期二");42 break;43 case 3:44 System.out.println("星期三");45 break;46 case 4:47 System.out.println("星期四");48 break;49 case 5:50 System.out.println("星期五");51 break;52 case 6:53 System.out.println("星期六");54 break;55 default:56 System.out.println("星期天");57 break;58 }59 */
60 /*
61 请输入月份,求是第几个季度62 */
63 System.out.println("请输入月份:");64 int month =input.nextInt();65 switch(month){66 case 1:67 case 2:68 case 3:69 System.out.println("第一季度");70 break;71 case 4:72 case 5:73 case 6:74 System.out.println("第二季度");75 break;76 case 7:77 case 8:78 case 9:79 System.out.println("第三季度");80 break;81 case 10:82 case 11:83 case 12:84 System.out.println("第四季度");85 break;86 }87 }88 }89
View Code
循环结构:
循环四要素:
1.变量初始化(循环变量)。
2.循环条件(用来判断是否需要循环)。
3.循环体(重复执行的内容)。
4.循环变量的改变。
1.while循环
whlie(条件表达式) {
代码块(循环体);
满足小括号的内容,则执行大括号中的内容。
然后继续判断小括号中的内容.....
}
while循环,循环体最少执行0次。
1 importjava.util.Scanner;2 public classDemo2{3 public static voidmain(String[] args){4 /*
5 在控制台打印10遍:回家好好做作业6 */
7 /*int num = 1;//这是第几遍8 while(num <= 10){9 System.out.println("回家好好做作业" + num);10 num++;//自增11 }*/
12 /*
13 在控制台打印1~10014 */
15 /*int num = 1;16 while(num <= 100){17 System.out.println("num=" + num);18 num++;19 }*/
20 /*
21 求1+2+3+... + 99 + 100的和22 */
23
24 //0+1+2+3+....+100
25 /*int num = 1;26 int sum = 0;//和27 while(num <= 100){28 sum += num;//sum = sum + num29 // System.out.println(num);//1 2 3 4 5 6 7 ....30 num++;31 }32 System.out.println("sum=" + sum);33 */
34 /*
35 1~100之间偶数的和36 2+4+6+8+..+98+10037
38 */
39 /*int num = 1;40 int sum = 0;//和41 while(num <= 100){42 if(num%2 == 0){//偶数43 //System.out.println(num);44 sum += num;//sum = sum + num;45 }46 num++;47 }48 System.out.println("sum=" + sum);49 */
50 /*
51 老师问:作业做完了吗?52 答:没有53 快做!!!54 老师问:作业做完了吗?55 答:没有56 快做!!!57 ....58 老师问:作业做完了吗?59 答:做完了!60 回家吧。61 */
62 Scanner input = newScanner(System.in);63 System.out.println("作业做完了吗?y/n");64 String answer =input.next();65 while("n".equals(answer)){//没做完
66 System.out.println("快做!!...");67 System.out.println("做完了吗?y/n");68 answer =input.next();69 }70 System.out.println("回家吧");71 System.out.println("这是末尾");72 }73 }
View Code
2.do-while 循环
do {
循环体;
} while(条件表达式);
先执行循环体,然后判断循环条件while小括号中的内容,如果
结果为true则继续执行循环体....
do-while循环,最少执行一次循环体。
1 importjava.util.Scanner;2 public classDemo5{3 public static voidmain(String[] args){4 /*
5 请输入第1个同学的成绩:6 457 请输入第2个同学的成绩:8 439 请输入第3个同学的成绩:10 5611 请输入第4个同学的成绩:12 7813 请输入第5个同学的成绩:14 4915 和为:16 平均分:17 是否继续y/n?18 y19 请输入第1个同学的成绩:20 2521 请输入第2个同学的成绩:22 34323 请输入第3个同学的成绩:24 56625 请输入第4个同学的成绩:26 8827 请输入第5个同学的成绩:28 1929 和:30 平均分:31 是否继续y/n?32 n33 谢谢使用!34 */
35 Scanner input = newScanner(System.in);36 String answer = "";37 do{38 int sum = 0;//和
39 for(int i = 1; i <= 5; i++){40 System.out.println("请输入第" + i + "名同学的成绩:");41 int score =input.nextInt();42 sum +=score;43 }44 System.out.println("和:" +sum);45 System.out.println("平均分:" + sum*1.0/5);46 System.out.println("是否继续?y/n");47 answer = input.next();//接收回答
48 }while("y".equals(answer));49 System.out.println("谢谢使用!");50 }51 }
View Code
3.for循环(重点)
for(变量初始化1;循环条件2;循环后执行内容3) {
循环体4;
}
1243 243 243 243....
变量初始化 循环条件 循环体 循环后执行内容
循环条件 循环体 循环后执行内容
循环条件 循环体 循环后执行内容
....
for循环的循环变量声明在小括号中,只有当前小括号与大括号可以使用。
如果已知循环次数的时候使用for循环。
如果不已知循环次数使用while或do-while
如果先判断后循环,使用while
如果先循环后判断,使用do - while
1 public classDemo6{2 public static voidmain(String[] args){3 /*
4 使用1 2 3 4 可以组成多少个三位数,分别是?5
6 */
7 int count = 0;//个数
8 for(int i = 1; i <= 4; i++){//百位
9 for(int j = 1; j <= 4; j++){//十位
10 for(int k = 1; k <= 4; k++){//个位
11 System.out.println(i*100+j*10+k);12 //"" + i + j + k
13 count++;14 }15 }16 }17 System.out.println("count=" +count);18 System.out.println("-------------------");19 for(int i = 1; i <= 4; i++){//i控制行数
20 for(int j = 1; j <= 4;j++){//每一行*的个数
21 System.out.print("*");22 }23 System.out.println();24
25 }26 System.out.println("-------------------");27 for(int i = 1; i <= 4; i++){//行数
28 for(int j = 1; j <= i; j++){//每一行*的个数
29 System.out.print("*");30 }31 System.out.println();32 }33 }34 }
View Code