一、if语句-第一种
if后面可以不加括号,不加括号的情况下只管离它最近的一行
1.定义格式
if(条件判断) {
语句体;
}
2.执行流程
- 判断小括号中的条件
- 如果是true,执行大括号中的语句体。然后if语句结束
- 如果是false,不执行语句体。然后if语句结束
3.示例代码
public class Demo02If {
public static void main(String[] args) {
System.out.println("今天天气不错,正在压马路……突然发现一个快乐的地方:网吧");
int age = 15;
if(age >= 18) {
System.out.println("进入网吧,开始high!");
System.out.println("遇到了一群猪队友,开始骂街。");
System.out.println("感觉不爽,结账走人。");
}
System.out.println("回家吃饭");
}
}
二、if语句-第二种
1.定义格式
if(条件判断) {
语句体1;
}else {
语句体2;
}
2.执行流程
- 判断条件是否成立
- 如果条件为true,则执行语句体1。if语句结束
- 如果条件为false,则执行语句体2。if语句结束
3.示例代码
public class Demo03IfElse {
public static void main(String[] args) {
int num = 666;
if (num % 2 == 0) { // 如果除以2能够余数为0,说明是偶数
System.out.println("偶数");
} else {
System.out.println("奇数");
}
}
}
三、if语句-第三种
1.定义格式
if(条件判断1) {
语句体1;
}else if(条件判断2) {
语句体2;
}else if(条件判断3) {
语句体3;
}else {
语句体4;
}
2.执行流程
- 先判断条件1,如果为true:则执行语句体1.如果为false,
- 判断条件2,如果为true:则执行语句体2.如果为false,
- 判断条件3,如果为true:则执行语句体3.如果为false,
- 再执行最后的else中语句体4
3.示例代码
public class Demo04IfElseExt {
public static void main(String[] args) {
int x = -10;
int y;
if (x >= 3) {
y = 2 * x + 1;
} else if (-1 < x && x < 3) {
y = 2 * x;
} else {
y = 2 * x - 1;
}
System.out.println("结果是:" + y);
}
}
四、if语句的案例-判断成绩
1.案例需求
- 定义一个成绩变量
- 使用if语句对成绩变量进行判断
2.代码实现
public class Demo05IfElsePractise {
public static void main(String[] args) {
int score = 95;
if (score >= 90 && score <= 100) {
System.out.println("优秀");
} else if (score >= 80 && score < 90) {
System.out.println("好");
} else if (score >= 70 && score < 80) {
System.out.println("良");
} else if (score >= 60 && score < 70) {
System.out.println("及格");
} else if (score >= 0 && score < 60) {
System.out.println("不及格");
} else { // 单独处理边界之外的不合理情况
System.out.println("数据错误");
}
}
}
五、switch语句
1.定义格式
表达式:byte short char int String、枚举
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
default:
语句体;
break;
}
2.执行流程
- 使用case值分别和表达式进行匹配,如果匹配上了,则执行对应的语句体
- 如果所有的case都没有匹配上,则执行default
3.示例代码
public class Demo07Switch {
public static void main(String[] args) {
int num = 3;
switch (num) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("数据不合理");
break; // 最后一个break语句可以省略,但是强烈推荐不要省略
}
}
}
六、for循环
1.定义格式
for(初始化语句;条件判断语句;步进语句) {
循环体语句;
}
2.执行流程
- 执行初始化语句。而且只执行一次
- 执行条件判断语句,如果条件成立,则进入第3步
- 执行循环体语句
- 执行步进语句
- 回到第2、3、4步不断循环执行,直到条件判断不成立位置,循环结束
3.示例代码
public class Demo09For {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
System.out.println("我错啦,原谅我吧!" + i);
}
System.out.println("程序停止");
}
}
4.for循环计算1~100之间的偶数和
public class Test03{
public static void main(String[] args) {
//4.通过for循环计算1~100之间的偶数和
int sum = 0;
for(int i = 1; i <= 100; i++) {
if(i % 2 == 0) {
//累加
sum += i;
}
}
System.out.println(sum);
}
}
七、while循环
1.定义格式
初始化语句;
while(条件判断) {
循环体;
步进语句;
}
2.执行流程
- 执行初始化语句。而且只执行一次
- 执行条件判断语句,如果条件成立,则进入第3步
- 执行循环体语句
- 执行步进语句
- 回到第2、3、4步不断循环执行,直到条件判断不成立位置,循环结束
3.示例代码
public class Demo10While {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println("我错啦!" + i);
}
System.out.println("=================");
int i = 1; // 1. 初始化语句
while (i <= 10) { // 2. 条件判断
System.out.println("我错啦!" + i); // 3. 循环体
i++; // 4. 步进语句
}
}
}
4.珠峰案例
public class Test04{
public static void main(String[] args) {
//需求:珠穆朗玛峰8848米 一张纸0.01米
//通过while循环,来计算出,纸折叠多少次才能超过珠峰的高度?
int zf = 884800;
int paper = 1;
//定义一个统计变量-统计思想
int count = 0;
while(paper < zf) {
paper*=2;
count++;
}
System.out.println(count);
}
}
八、do-while循环
1.定义格式
初始化表达式;
do {
循环体语句;
步进语句;
}while(条件判断);
2.执行流程
- 执行初始化表达式语句
- 执行循环体语句
- 执行步进语句
- 执行条件判断,如果条件成立,则继续回到第2步。直到条件不成立位置
3.示例代码
public class Demo11DoWhile {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println("原谅你啦!起来吧!地上怪凉!" + i);
}
System.out.println("===============");
int i = 1; // 1. 初始化语句
do {
System.out.println("原谅你啦!起来吧!地上怪凉!" + i); // 3. 循环体
i++; // 4. 步进语句
} while (i <= 10); // 2. 条件判断
}
}
九、三种循环的区别
1.for循环和while循环的区别
- for循环一般使用在循环次数明确的情况下
- while循环一般使用在循环次数不确定的情况下
2.do-while循环和for、while循环的区别
- do-while循环无论条件是否成立,都会执行一遍循环体
- for、while循环都是先判断条件,只有条件成立,才会执行循环体
十、break、continue
1.break关键字
- 使用场景
- switch语句中
- 循环语句中
- 作用
- 在switch语句中,用于结束switch语句
- 在循环语句中,用于结束循环语句
2.continue关键字
- 使用场景:循环语句中
- 作用:跳过本次循环,继续下一次的循环
3.两个关键字的案例
/*
需求1:我想在控制台输出2次我爱学习java
需求2:我想在控制台输出7次我爱学习java
需求3:我想在控制台输出13次我爱学习java
*/
public class Test06{
public static void main(String[] args) {
for(int i = 1; i <= 10; i++) {
if(i % 3 == 0) {
//补充代码
//break;
//continue;
//System.out.println("我爱学习java");
}
System.out.println("我爱学习java");
}
}
}
十一、死循环
public class Demo16DeadLoop {
public static void main(String[] args) {
while (true) {
System.out.println("I Love Java!");
}
// System.out.println("Hello");
}
}
十二、循环的嵌套
1.嵌套循环的执行特点
外层循环执行一次,内层循环执行一圈
2.在控制台打印四行五列的*
/*
我想在控制台输出这样的矩形
*****
*****
*****
*****
外层循环控制的是行数 4行
内层循环控制的是列数 5列
*/
public class Test09{
public static void main(String[] args) {
for(int i = 1; i <= 4; i++) {
for(int j = 1; j <= 5; j++) {
System.out.print("*");
}
System.out.println();
}
}
}