一、程序结构
顺序结构
分支结构
循环结构
二、分支结构
- if(){}
- if(){}else{}
- if(){}else if(){}else if(){} else{}
分支结构主要控制代码是否执行。
案例:输入你的java成绩,如果在90以上,输出 秀儿! 在 70--90之间输出,有点秀儿! 60-70 之间输出 一般般!60以下输出 垃圾!
switch case
switch:用于固定值的分支判断,后面可以跟char,byte,short,int,String
不能跟 float,double,long
break可以省略,省略之后,代码会贯穿执行
switch(参数){
case value1:
代码块1;
break;
case value2:
代码块2;
break;
case value3:
代码块3;
break;
case value4:
代码块4;
break;
default:
代码块;
break;
}
首先用switch后边括号中的参数跟下边的value依次比较,如果第一个不满足就比较第二个,如果满足执行后边对应的代码块。(如果前边的条件都不满足)到 default为止。
案例:输入年和月,输出该年的该月有多少天?
//输入年和月,输出该年的该月有多少天?
/**
* 分析:
* 1,3,5,7,8,10,12 31天
* 4,6,9,11, 30天
* 2 闰年 29天 普通28天
*/
public static void main(String[] args) {
System.out.println("请输入年");
Scanner sc1 = new Scanner(System.in);
int year = sc1.nextInt();
System.out.println("请输入月");
int month = sc1.nextInt();
//逻辑
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("该月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("该月有30天");
break;
case 2:
//闰年的条件 能被400整除 或者 能被4整除并且不能被100整除 if (year%400==0 || year%4==0 && year%100!=0){
System.out.println("该月有29天");
}else{
System.out.println("该月有28天");
}
break;
default:
System.out.println("输入数据不合法");
break;
}
三、循环结构
1.while 循环
循环四要素: ①初始化变量,②循环条件,③循环体,④循环变量的自增。
注意避免:
while(true) 如果这样,循环永远出不来。
while(false) 循环进不去。
2. do while循环
while 先判断再执行
do while 先执行一次再判断
do while至少会执行一次。
3.for循环
for( 初始化变量①;判断条件②;步进表达式④){
循环体③;
}
① 初始化变量
②判断条件
③循环体
④循环变量的自增
①-》②-》③-》④-》②-》③-》④-》②-》③-》④。。。-》②如果条件不满足直接结束循环。
案例:99乘法表
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
} System.out.println();
}
System.out.println("---------------------------------");
for (int i = 9; i >=1; i--) {
for (int j = 1; j <=i; j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
} System.out.println();
}
System.out.println("---------------------------------");
for (int i = 1; i < 10; i++) {
for (int j = 9; j >=i; j--) {
System.out.print(j+"*"+i+"="+i*j+" ");
} System.out.println();
}
System.out.println("---------------------------------");
for (int i = 9; i >=1; i--) {
for (int j = 9; j >= i; j--) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
输出时,这些符号有特殊含义:
4.break和continue
break:终止循环
continue:跳过部分代码继续循环