判断结构:
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 import java.util.Scanner; 2 public class Demo1{ 3 public static void main(String[] args){ 4 /* 5 夏令营: 6 第一名 奖励一个水杯 7 第二名 奖励一个毛巾 8 第三名 奖励一支笔 9 其他名次奖励1张A4纸 10 11 */ 12 Scanner input = new Scanner(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
循环结构:
循环四要素:
1.变量初始化(循环变量)。
2.循环条件(用来判断是否需要循环)。
3.循环体(重复执行的内容)。
4.循环变量的改变。
1.while循环
whlie(条件表达式<结果为布尔>) {
代码块(循环体);
满足小括号的内容,则执行大括号中的内容。
然后继续判断小括号中的内容.....
}
while循环,循环体最少执行0次。
1 import java.util.Scanner; 2 public class Demo2{ 3 public static void main(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~100 14 */ 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 + num 29 // 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+100 37 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 = new Scanner(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 }
2.do-while 循环
do {
循环体;
} while(条件表达式);
先执行循环体,然后判断循环条件while小括号中的内容,如果
结果为true则继续执行循环体....
do-while循环,最少执行一次循环体。
1 import java.util.Scanner; 2 public class Demo5{ 3 public static void main(String[] args){ 4 /* 5 请输入第1个同学的成绩: 6 45 7 请输入第2个同学的成绩: 8 43 9 请输入第3个同学的成绩: 10 56 11 请输入第4个同学的成绩: 12 78 13 请输入第5个同学的成绩: 14 49 15 和为: 16 平均分: 17 是否继续y/n? 18 y 19 请输入第1个同学的成绩: 20 25 21 请输入第2个同学的成绩: 22 343 23 请输入第3个同学的成绩: 24 566 25 请输入第4个同学的成绩: 26 88 27 请输入第5个同学的成绩: 28 19 29 和: 30 平均分: 31 是否继续y/n? 32 n 33 谢谢使用! 34 */ 35 Scanner input = new Scanner(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 }
3.for循环(重点)
for(变量初始化1;循环条件2;循环后执行内容3) {
循环体4;
}
1243 243 243 243....
变量初始化 循环条件 循环体 循环后执行内容
循环条件 循环体 循环后执行内容
循环条件 循环体 循环后执行内容
....
for循环的循环变量声明在小括号中,只有当前小括号与大括号可以使用。
如果已知循环次数的时候使用for循环。
如果不已知循环次数使用while或do-while
如果先判断后循环,使用while
如果先循环后判断,使用do - while
1 public class Demo6{ 2 public static void main(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 }