一,分支结构1:if --1,练习 --商品打折 package cn.tedu.basic; import java.util.Scanner; //测试 分支结构 商品打折 public class Test7 { public static void main(String[] args) { //1,定义变量,记录原价 System.out.println("请输入您消费的金额: "); double price = new Scanner(System.in).nextDouble() ; //TODO 2,判断--打印 折后价 double zhehouprice = 0 ;//定义变量,记录折后价 if(price >= 5000){//满5000 zhehouprice = price*0.5;//打5折 }else if(price >= 2000){ //满2000 zhehouprice = price*0.8;//打8折 }else if(price >= 1000){//满1000 zhehouprice = price*0.9;//打9折 }else{//不打折 zhehouprice = price ; } System.out.println("原价是: "+price+",折后价是: "+zhehouprice); } } --BMI package cn.tedu.basic; import java.util.Scanner; public class Test8 { public static void main(String[] args) { System.out.println("请输入您的身高:米"); double gao = new Scanner(System.in).nextDouble() ; System.out.println("请输入您的体重:千克"); double tizhong = new Scanner(System.in).nextDouble() ; // --计算公式为:BMI=体重(千克)除以身高(米)的平方。 double bmi = tizhong/(gao*gao) ; if(bmi<18.5){ System.out.println("过轻"); }else if(bmi >= 18.5 && bmi < 24){ System.out.println("正常範圍"); }else if(bmi >= 24 && bmi < 27){ System.out.println("過重"); }else if(bmi >= 27 && bmi < 30){ System.out.println("輕度肥胖"); }else if(bmi >= 30 && bmi < 35){ System.out.println("中度肥胖"); }else if(bmi >= 35){ System.out.println("重度肥胖"); } } } --统计学员得分 package cn.tedu.basic; import java.util.Scanner; //测试 分支结构 public class Test1 { public static void main(String[] args) { //1,接收用户输入的分数 System.out.println("请输入您的分数:"); double score = new Scanner(System.in).nextDouble() ; //2,判断,并输出 if(score>=0 && score<=100){//增强程序的健壮性 if(score >= 90){ System.out.println("优秀"); }else if(score >= 80 && score <= 89){ System.out.println("良好"); }else if(score >= 70 && score <= 79){ System.out.println("中等"); }else if(score >= 60 && score <= 69){ System.out.println("及格"); }else if( score <= 60){ System.out.println("不及格"); } }else{ System.out.println("分数不合理!!"); } } } 二,分支结构2:switch --1,概述 也像if一样,可以完成 先判断 的需求 只支持 byte short int char String 数据类型 --2,语法 switch(判断条件){ case 0 : syso(0); case 1 : syso(1); case 2 : syso(2); case 3 : syso(3); case 4 : syso(4); default: syso(100);//以上case都不满足才来这儿 } --3,测试 package cn.tedu.basic; //测试 switch public class Test2 { public static void main(String[] args) { int a = 2 ; //TODO 1,表达式,,只支持 byte short int char String switch(a){ case 0 : System.out.println(0); case 1 : System.out.println(1); //TODO 3,程序遇到结束符号} 或者遇到break就会结束 case 2 : System.out.println(2);break; case 3 : System.out.println(3); case 4 : System.out.println(4); //TODO 2,以上case都不满足才来这儿 default: System.out.println(100); } } } 三,循环结构1:for --1,概述 循环结构用来解决,,,重复要执行的代码 --2,语法 for(1;2;3){ 重复执行的任务/循环体 } --3,练习 package cn.tedu.basic; //测试 循环结构 public class Test3 { public static void main(String[] args) { /* *int i = 1 是 开始位置,i表示的是次数 *i <= 10000 是循环条件,执行10000次 *i++ 是 更改条件,表示次数依次递增 */ //for(开始位置;循环条件;更改条件){ for(int i = 1; i <= 3; i++){ //循环体 System.out.println("大家好,我叫皮皮霞"); } //练习: 打印0到10 /* * int i = 0 是开始位置, * i表示的是你想要获取的值 * i <= 10 是循环的条件 * i++ 是 数据的变化规律 i=i+1 */ for(int i = 0;i <= 10;i++){ System.out.println(i); } //练习: 打印10到0 i=i-1 for(int i = 10;i >= 0;i--){ System.out.println(i); } //练习: 打印8,88,888,8888, //死循环--条件永远满足--条件要谨慎!!! // for(int i = 8 ; i <= 8888 ; i--){ for(int i = 8 ; i <= 8888 ;i=i*10+8){ System.out.print(i+",");//同行展示 } System.out.println();//换行 //TODO 打印[1,100]的偶数 for(int i=1;i<101;i++){//循环,获取每个数字 if(i % 2 == 0){//找到偶数 //打印 System.out.println("偶数::"+i); } if(i % 2 == 1){//找到奇数 //打印 System.out.println("奇数=="+i); } } } } 四,嵌套for循环 --1,概述 使用的场景:算法 + 图形 --2,语法 for(1;2;3){//外循环 循环体 for(1;2;3){//内循环 循环体 } } --3,测试 package cn.tedu.basic; //测试 嵌套for public class Test4 { public static void main(String[] args) { //第1次循环, //int i=1,满足判断条件,进去执行第三大步, //输出i的值1,输出j的值1 2 3 4 5,把i自增变成2 //第2次循环, //int i=2,满足判断条件,进去执行第三大步, //输出i的值2,输出j的值1 2 3 4 5,把i自增变成3 //第3次循环, //int i=3,满足判断条件,进去执行第三大步, //输出i的值3,输出j的值1 2 3 4 5,把i自增变成4 //循环条件不再满足,循环结束!!! //特点1: 外循环执行1次,内循环执行多次 for(int i = 1;i < 4;i++){//外循环,执行3次 System.out.println(i); for(int j = 1;j < 6;j++){//内循环,执行5次 System.out.println(j); } } //特点2:外循环控制行,内循环控制列 for(int i = 1;i <= 3;i++){//外循环,执行3次 for(int j = 1;j <= 2;j++){//内循环,执行2次 System.out.print("*");//同行展示 } System.out.println();//换行 } //练习:五行五列的* for(int i = 100;i < 105;i++){//外循环控制行,执行5次 for(int j = 100;j < 105;j++){//内循环控制列,执行5次 System.out.print("*");//同行展示 } System.out.println();//换行 } } }
# break和continue --1概述 都是用来结束循环的. break 简单粗暴,立刻结束 continue 结束当前这次,还能继续 --2,测试 package cn.tedu.basic; import java.util.Scanner; //测试 break或者continue public class Test1_Break { public static void main(String[] args) { //1,打印100以内的偶数 for (int i = 1; i <= 100; i++) { if( i % 2 == 0 ){//过滤偶数 System.out.println(i); //2,关键字后面不许出现代码!!! // continue;//结束这次,还能继续 break;//立刻结束循环 } } //TODO 练习:找数字88 for(int i =10;i < 20;i++){ //接收10次用户输入的数字 int input = new Scanner(System.in).nextInt(); //判断,是88吗,是就结束 if(input == 88){ System.out.println("猜对了"); break;//结束break }else{ //不是就继续 continue;//继续continue } } } } 五,循环结构:while --1,语法 while(循环条件){ 循环体 } --2,猜数字 package cn.tedu.basic; import java.util.Random; import java.util.Scanner; //测试 while循环 public class Test2_While { public static void main(String[] args) { //1,接收用户输入的数字 // int input = new Scanner(System.in).nextInt(); // //2, >30,重复的打印这个数字 // //while循环---先判断再执行 // //do...while循环---先执行一遍再判断 // do{ // System.out.println(input); // }while(input>30); //TODO 练习: 猜数字游戏 //让程序产生一个随机数--指定范围,从0开始 int a = new Random().nextInt(100) ; System.out.println(a); //while是 先判断再执行 while(a > 50){ //接收用户输入的数字 int input = new Scanner(System.in).nextInt(); //比较 if(input > a){ System.out.println("大了"); }else if(input < a){ System.out.println("小了"); }else if(input == a){ System.out.println("猜对了"); break;//结束循环 } } } } 六,循环结构:do...while --1,语法 do{ 循环体 }while(循环条件); --2,改造猜数字 package cn.tedu.basic; import java.util.Random; import java.util.Scanner; //测试 while循环 public class Test2_While { public static void main(String[] args) { //1,接收用户输入的数字 // int input = new Scanner(System.in).nextInt(); // //2, >30,重复的打印这个数字 // //while循环---先判断再执行 // //do...while循环---先执行一遍再判断 // do{ // System.out.println(input); // }while(input>30); //TODO 练习: 猜数字游戏 //让程序产生一个随机数--指定范围,从0开始 int a = new Random().nextInt(100); // int a =(int)(Math.random()*100); //Math.random()产生(0~1)的随机小数 System.out.println(a); //while是 先判断再执行 //do...while是先执行再判断 do{ //接收用户输入的数字 int input = new Scanner(System.in).nextInt(); //比较 if(input > a){ System.out.println("大了"); }else if(input < a){ System.out.println("小了"); }else if(input == a){ System.out.println("猜对了"); break;//结束循环 } }while(a>50); } } # 三种循环总结 相同点:都能处理 重复执行的 需求 不同点: --1,for(开始条件;循环条件;更改条件) 具体的了解开始位置,要执行多少次,怎么改 --2,while(循环条件) 只需要知道条件 -- 先判断再执行 --3,do...while(循环条件) 只需要知道条件,可以保证循环体 最少执行1次