Day4
1. java条件语句之if
生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,如果考试成绩大于 90 分,则奖励一个 苹果。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 if 条件语句实现。
语法: if(条件){
执行的语句
}
执行过程:
例如:
int score = 90;
if(score>80){
System.out.println("奖励一个苹果!");
}
注意: 如果if条件语句成立时的执行语句只有一条,可以省略大括号!
**
2. if…else语句
if…else语句比if语句多了一层判断:当条件成立时,执行if部分代码块,不成立时,执行else代码块。
**
语法: if(条件的布尔表达式){
代码块1
}esle{
代码块2
}
执行过程:
例如:
int score = 90;
if(socre>85){
System.out.println("奖励一个苹果");
}else{
System.out.println("奖励一个香蕉");
}
**
3. 多重if
**
多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。例如,如果考试成绩大于 90 分,则奖励一个 苹果 ,如果成绩介于 70 分至 90 分之间,则奖励一个西瓜,否则罚做 10 个俯卧撑。
语法:
执行过程:
例如:
int score = 85;
if(score>90){
System.out.println("奖励一个苹果");
}esle if(score>70){
System.out.println("奖励一个西瓜");
}esle{
System.out.println("惩罚做10个俯卧撑");
}
**
4. 嵌套if
**
嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。例如,活动计划的安排,如果今天是工作日,则去上班,如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。
语法:
执行过程:
例如:
String today = "周末";
String weather = "晴朗";
if(today.equals("周末")){
if(weather.equals("晴朗")){
System.out.println("去室外游乐场玩");
}else{
System.out.println(“去室内游乐场游玩”);
}
}else{
System.out.println("滚去上班!");
}
注:equals用于判断字符串内容是否相同,是返回Ture,反之返回False
**
5. java条件之switch语句
**
当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。例如:根据考试的名次,给予前 4 名不同的奖品。第一名,奖励笔记本一台;第二名,奖励 IPAD 2 一个;第三名,奖励移动电源一个;最后一名奖励 U 盘一个。
语法:
执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。
例如:
int num = 1; //保存的考试名次
switch(num){
case 1:
System.out.println("奖励一个笔记本");
break;
case 2:
System.out.println("奖励一个IPAD");
break;
case 3:
System.out.println("奖励一个充电宝");
break;
default:
System.out.println("奖励U盘一个");
}
5.1、 switch 后面小括号中表达式的值必须是整型或字符型
5.2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
5.3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束
5.4 可以把相同功能的case语句合并起来使用,如:
case1:
case2:
System.out.println("奖励。。。");
5.5 default可以出现在任意位置,也可以忽略
**
6. java循环语句之while
**
重复的执行某一些功能,例如打印1000遍我爱你
语法:
执行过程:
< 1 >、 判断 while 后面的条件是否成立( true / false )
< 2 >、 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止
特点:先判断,后执行
例如:
int i = 1;
while(i<=1000){
System.out.println("我爱你");
i++;
}
7. java循环语句之do…while
语法:
执行过程:
<1>、 先执行一遍循环操作,然后判断循环条件是否成立
<2>、 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止
特点: 先执行,后判断
由此可见,do...while 语句保证循环至少被执行一次!
例如:依然打印1000我爱你
int i = 1;
do {
System.out.println("我爱你");
i++;
}while(i <= 1000);
8. java循环之for
Java 的循环结构中除了 while 和 do…while 外,还有 for 循环,三种循环可以相互替换。
语法:
执行过程:
<1>、 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
<2>、 进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环
<3>、 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
<4>、 依次重新执行< 2 >、< 3 >、< 4 >,直到退出循环
特点:相比 while 和 do...while 语句结构更加简洁易读
例如: 用for循环输出1000遍我爱你
for(int i=1;i<=1000;i++){
System.out.println("我爱你");
}
注意:
1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。
a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如:
int i =1;
for(;i<=1000;i++){
System.out.println("I love you");
}
b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:
for(int i=1;;i++){
System.out.println("死循环");
}
在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用 break 强制跳出循环
c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化,如:
for(int i = 1;i<=1000;){
System.out.println("我爱你");
i++; //在循环体中改变变量 i 的值
}
_____________________________________________________________________________________________________
2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值
for(int i=1,j=5;i<=5;i++,j--){
System.out,println(i+"+"+j+"="+(i+j));
}
代码中,初始化变量部分同时对两个变量 i 和 j 赋初值,循环变量变化部分也同时对两个变量进行变化,运行结果:
1+5=6
2+4=6
3+3=6
4+2=6
5+1=6
_____________________________________________________________________________________________________
3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级
for(int i=1;i<10 && i !=5;i++){
System.out.println("我爱你");
}
代码中,必须同时满足变量 i 小于 10 ,并且 i 不等于 5 时才会进行循环,输出变量 i 的值。
9. java循环跳转语句之break
在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码。
例如,使用循环输出 1–10的数值,其中,如果数值大于 2 ,并且为 3 的倍数则停止输出。
for(int i=1;i<=10;i++){
if((i>2) && (i % 3 == 0)) {
break;
}
System.out.println(i);
}
System.out.println("结束了");
打印结果: 1 2 结束了
10. java循环跳转语句之continue
continue 的作用是跳过循环体中剩余的语句执行下一次循环。
例如,打印 1–10 之间所有的偶数,使用 continue 语句实现代码为:
for(int i =1;i<=10;i++){
if(i % 2 !=0){
continue;
}
System.out.println(i);
}
打印结果: 2 4 6 8 10
**
11. java循环之多重循环
**
循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。
例如: 打印长方形
实现代码为:
//外层循环控制行数
for (int i = 1; i <=3; i++){
//内层循环打印*
for( int j = 1;j <=8; j++){
System.out.print("*");
}
//打印完一行换行
System.out.println();
}
执行流程:当 i = 1 时,外层循环条件成立,进入内层循环,开始打印第一行内容。此时, j 从 1 开始,循环 8 次,内层循环结束后换行,实现第一行 8 个 * 的输出。接下来返回外层循环 i 变为 2 ,准备打印下一行,依此类推,直到完成长方形的打印。