一、顺序结构
程序的执行和代码的执行顺序有关,如果调整代码的书写顺序, 则执行顺序也发生变化
二、分支结构
基本语法形式1:
**if(布尔表达式){ **
//条件满足时执行代码 }
基本语法形式2
**if(布尔表达式){ **
**//条件满足时执行代码 **
**}else{ **
**//条件不满足时执行代码 **
**} **
基本语法形式3 多分支的情况
**if(布尔表达式){ **
//条件满足时执行代码
**}else if(布尔表达式){ **
**//条件满足时执行代码 **
**}else{ **
**//条件都不满足时执行代码 **
}
举例:代码如下
public static void main(String[] args) { int n = 10; //if里面只能是布尔表达式 if(n % 2 == 0) { System.out.println("偶数"); }else{ System.out.println("奇数"); } } }
**读入字符串 **
**读入字符串,如果字符串存在空格的情况下,遇到空格结束 **
如果你要读取字符串和整数,要先读取字符串再读取整数
** 如果要简单使用输入函数,可以用。项目当中,慎重!!!!!!**
判断是不是闰年:
public class TestDemo {
方法1: public static void main1(String[] args) {
int year = 2000;
if (year % 100 == 0) {
if (year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
} else {
if (year % 4 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}
}
方法2: public static void main(String[] args) {
int year = 2000;
if(year % 100!= 0 && year % 4== 0 ||year % 400 == 0){
System.out.println("是闰年");
}else{
System.out.println("不是闰年");
}
}
}
悬垂 else 问题
2.2 switch 语句
**基本语法 **
**switch(整数|枚举|字符|字符串){ **
**case 内容1 : { **
**内容满足时执行语句; **
**[break;] **
**} **
**case 内容2 : { **
**内容满足时执行语句; **
**[break;] **
**} ... **
**default:{ 内容都不满足时执行语句; **
**[break;] **
**} **
}
举例:
public static void main(String[] args) { //long double float boolean不是不能做switch语句里面的参数的 int a = 10; switch (a){//小括号里面是一个表达式,必须是一个简单的表达式,不能像c语言一样,比如说a>=10 && a<=20 case 1: System.out.println("1"); break; case 2: System.out.println("2"); default: System.out.println("参数不匹配"); break; } } }
**String类型可以作为Java中switch语句的参数 **
** 根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句**
**如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句. **
我们建议一个 switch 语句最好都要带上 default
我们发现, 不写 break 的时候, case 语句会依次向下执行, 从而失去了多分支的效果
**注意事项1 **
break 不要遗漏, 否则会失去 "多分支选择" 的效果
**注意事项2 **
switch 中的值只能是 整数|枚举|字符|字符串
注意事项3 switch 不能表达复杂的条件
// 例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe
**// 这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示. **
**if (num > 10 && num < 20) { **
**System.out.println("hehe"); **
}
三、 循环结构
**3.1 while 循环 **
基本语法格式:
**while(布尔表达式){ **
**语句块; **
}
**循环条件为 true, 则执行循环语句; 否则结束循环 **
举例:
求1到10的和 public static void main(String[] args) { int i = 1; int sum = 0; while(i <=10) { sum += i; i++; } System.out.println(sum); } } 求n的阶乘 public static void main(String[] args) { int j = 3; int ret = 0; int sum = 1; int i = 1; while(i<=j) { sum *=i; i++; } System.out.println(sum); }
注意事项:
**1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { } **
**2. 和 if 类似, while 后面的 { 建议和 while 写在同一行. **
**3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行 **
3.2 break
** break 的功能是让循环提前结束**
代码示例:找到 100 - 200 中第一个 3 的倍数
public static void main(String[] args) { int num = 100; while (num <= 200) { if (num % 3 == 0) { System.out.println("找到了 3 的倍数, 为:" + num); break; } num++; } // 执行结果 //找到了 3 的倍数, 为:102
** 执行到 break 就会让循环结束.**
3.3 continue
** continue 的功能是跳过这次循环, 立即进入下次循环**
**举例: **
求1到10之间三倍数 public static void main(String[] args) { int i = 1; while(i<=10) { if(i % 3 !=0 ){ i++; continue; } System.out.println(i); i++; }
**执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句 **
总结:break结束所有循环,continue结束本趟循环
** break和continue都必须在循环里,【特殊:break可以在switch语句当中】**
3.4 for 循环
基本语法:
**for(布尔表达式1;布尔表达式2;布尔表达式3){ **
**语句块; **
}
**表达式1: 用于初始化循环变量. **
**表达式2: 循环条件 **
表达式3: 更新循环变量
举例:
求1到100之间的和 public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } }
**注意事项 (和while循环类似) **
**1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { } **
**2. 和 if 类似, for 后面的 { 建议和 while 写在同一行. **
**3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行. **
**3.5 do while 循环(选学) **
**基本语法 do{ **
**循环语句; **
}while(循环条件);
**先执行循环语句, 再判定循环条件. **
举例:
打印1-10 public static void main(String[] args) { int num = 1; do { System.out.println(num); num++; } while (num <= 10); }
注意事项:
**1. do while 循环最后的分号不要忘记 **
2. 一般 do while 很少用到, 更推荐使用 for 和 while.
总结:
今天还是蛮累的,加入了计划之星第三季,要更加的忙起来了,后面我会多多刷题多多写博客。
加油!!!!!!
版权归原作者 K媾 所有, 如有侵权,请联系我们删除。