学习java的第四天
程序员文章站
2022-06-03 10:15:38
...
01. if双分支和三元表达式的相互转换
-
代码实现
public class Demo01_If { public static void main(String[] args) { int num1 = 2; int num2 = 5; int max;//最大值 if(num1>num2) { max = num1; }else { max = num2; } System.out.println(max); System.out.println("---------------"); max = num1 > num2 ? num1 : num2; System.out.println(max); } }
02. if多分支
-
概述
- 处理多种情况
-
语法
if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; }
-
执行流程
- 首先计算比较表达式1看其返回值是true还是false,
- 如果是true,就执行语句体1,if语句结束。
- 如果是false,接着计算比较表达式2看其返回值是true还是false,
- 如果是true,就执行语句体2,if语句结束。
- 如果是false,接着计算比较表达式3看其返回值是true还是false,
- 如果都是false,就执行语句体n+1。
-
代码实现
03. if语句的嵌套使用
-
需求
- 获取三个数中的最大值
-
代码实现
public class Demo04_If { public static void main(String[] args) { int num1 = 6; int num2 = 7; int num3 = 3; int max; if(num1>num2) { if(num1>num3) { max = num1; }else { max = num3; } }else { if(num2 > num3) { max = num2; }else { max = num3; } } System.out.println("最大值:"+max); } }
04. switch的概述和练习
-
语法
switch(表达式){ case 值1: 语句体1; break; ... default: 语句体; break; }
- 表达式
- 自动类型提升为int的类型数据(byte、short、char、int)
- String (java7.0)
- 枚举
- 表达式
-
代码实现
public class Demo05_Switch { /* * 需求:需求:输入星期几,显示今天的减肥活动 星期一:跑步 星期二:游泳 星期三:跑步 星期四:游泳 星期五:拳击 星期六:爬山 星期日:好好吃一顿 */ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("今天是星期几:"); String str = input.next(); switch(str) { case "一": System.out.println("跑步"); break; case "二": System.out.println("游泳"); break; case "三": System.out.println("跑步"); break; case "四": System.out.println("游泳"); break; case "五": System.out.println("拳击"); break; case "六": System.out.println("爬山"); break; case "日": System.out.println("好好吃一顿"); break; default : System.out.println("火星时间???"); break; } input.close(); } }
05. switch语句注意事项
- case后面的表达式只能是常量表达式
- default可以省略,但是不建议
- default可以放到任何位置,但是建议放到最后
- break可以省略,但是会造成case穿透,一般情况,不省略break
- switch语句结束条件
- 遇到break
- 遇到右大括号
06. 循环结构语句及for循环
-
语法
for(初始表达式;条件表达式;操作表达式){ 语句体; }
- 初始表达式
- 定义开始
- 条件表达式
- 定义结束
- 操作表达式
- 如何从开始到结束
- 语句体
- 重复做的事
- 初始表达式
-
执行流程
-
需求
- 在控制台输出10次"helloworld"
-
代码实现
public class Demo06_For { public static void main(String[] args) { for(int i=0;i<10;i++) { System.out.println("Hello World"); } } }
07. for循环练习之求和
-
需求
- 求出1-100之间数据之和
- 求出1-100之间偶数和
- 求出1-100之间奇数和
-
代码实现
public class Demo09_For { public static void main(String[] args) { int sum1 = 0,sum2 = 0,sum3 = 0; for(int i = 1;i <= 100; i++) { //判断是否为偶数 if(i%2==0) { sum1 += i; } else { sum2 += i; } sum3 += i; } System.out.println("偶数和:"+sum1); System.out.println("奇数和:"+sum2); System.out.println("总数和:"+sum3); } }
08. for循环练习之水仙花
-
水仙花数
- 三位数
- 百位数的立方+十位数的立方+个位数的立方 = 原值
-
代码实现
public class Demo08_For { public static void main(String[] args) { int geWei = 0,shiWei = 0,baiWei = 0; for(int i = 100;i <= 999; i++) { baiWei = i / 100 % 10; shiWei = i / 10 % 10; geWei = i % 10; if((geWei * geWei *geWei +shiWei * shiWei *shiWei + baiWei * baiWei * baiWei)==i) { System.out.println(i); } } } }
09. while循环
-
语法
初始表达式; while(条件表达式){ 语句体; 操作表达式; }
-
代码实现
/** * while循环的练习 * 需求: 需求:求出1-100之间偶数和 需求:求出1-100之间奇数和 需求:求出1-100之间总数和 * @author 海锋 * */ public class Demo10_While { public static void main(String[] args) { int sum1 = 0,sum2 = 0,sum3 = 0; int i = 1; while(i <= 100) { if(i % 2 ==0) { sum1 += i; }else { sum2 += i; } sum3 += i; i++; } System.out.println("偶数和:"+sum1); System.out.println("奇数和:"+sum2); System.out.println("总数和:"+sum3); } }
10. do…while循环
-
语法
初始表达式; do{ 语句体; 操作表达式; } while(条件表达式);
-
代码实现
int num = 1;
do {
System.out.println(num);
num++;
} while(num <= 10);
11. 三种循环的区别
- do…while循环
- 不管怎么样,至少执行一次循环体
- 循环中的变量,在循环外也有效
- while循环
- 是否执行循环体,由条件表达式决定
- 循环中的变量,在循环外也有效
- for循环
- 是否执行循环体,由条件表达式决定
- 循环中的变量,只在循环内有效
- 总结
- 如果,在程序执行过程中,在循环外并不会使用到该变量时,那么推荐使用for循环,因为for循环的变量生命周期仅限于循环,循环结束,变量回收!
12. 循环结构之死循环
-
代码实现
while(true) { System.out.println(1); }
for(;;) {
System.out.println(1);
}
13.死循环的应用
-
需求
- 使用死循环改造三个和尚的案例
-
代码实现
Scanner scanner = new Scanner(System.in); while(true) { System.out.println("请输入第一个和尚的身高"); int height1 = scanner.nextInt(); System.out.println("请输入第二个和尚的身高"); int height2 = scanner.nextInt(); System.out.println("请输入第三个和尚的身高"); int height3 = scanner.nextInt(); int max = ( height1 > height2 ? height1 : height2 ) > height3 ? ( height1 > height2 ? height1 : height2 ) : height3; System.out.println("max : " + max); }
14. 循环的嵌套使用
-
代码实现
for (int i = 1; i <= 5; i++) { //内循环的次数和行数相同 for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); }
15. 循环控制语句之break、continue、return
- 区别
- break
- 只能作用在switch、循环中
- 中止循环、switch
- continue
- 只能作用在循环中
- 中止本次循环,继续下次循环
- return
- 任何地方都可以使用
System.out.println("max : " + max);
}
- 任何地方都可以使用
- break
14. 循环的嵌套使用
-
代码实现
for (int i = 1; i <= 5; i++) { //内循环的次数和行数相同 for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); }
15. 循环控制语句之break、continue、return
- 区别
- break
- 只能作用在switch、循环中
- 中止循环、switch
- continue
- 只能作用在循环中
- 中止本次循环,继续下次循环
- return
- 任何地方都可以使用
- 中止方法,并返回结果
- break
上一篇: 网站如何建设才能够让用户心情好起来
下一篇: 甄夫人真的是被郭女王害死的吗?真相是什么