选择结构之(if语句)
/* 关于java语言当中的if语句,属于选择结构,if语句又成为分支语句/条件控制语句: 1、if语句的语法结构:四种编写方式 第一种: if(布尔表达式){ java语句; java语句; java语句; ..... } 第二种: if(布尔表达式){ java语句; java语句; }else{ java语句; java语句; } 第三种: if(布尔表达式){ java语句; java语句; }else if(布尔表达式){ java语句; java语句; }else if(布尔表达式){ java语句; java语句; }else if(布尔表达式){ java语句; java语句; }.... 第四种: if(布尔表达式){ java语句; java语句; }else if(布尔表达式){ java语句; java语句; }else if(布尔表达式){ java语句; java语句; }else{ java语句; java语句; } 2、重点:对于java中的if语句来说,只要有一个分支执行,整个if语句全部结束。 3、注意:以上的第二种编写方式喝第四种编写方式都带有else分支,这两种方式可以保证会有分支执行。 4、“所有的控制语句”都是可以嵌套使用的,只要合理嵌套就行。 if(){ if(){ if(){ } } }else{ if(){ }else{ if(){ if(){ } } } } 注意:嵌套使用的时候,代码格式要保证完美。【该缩进的时候必须缩进,大部分情况下使用大括号包围的需要缩进】 5、if语句的分支中只有一条java语句的话,大括号可以省略不写。 if(true/false){ 一条java语句; } if(true/false) 一条java语句; 这种方式不推荐使用,别人这么写能看懂就行。 */ public class ifTest01 { public static void main(String[] agrs){ // 需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭 // 公里数 double distance = 6.0; // 单位KM // 判断语句 if(distance < 5){ System.out.println("去KFC吃开封菜!"); }else{ System.out.println("太远了不去了!"); } // 需求:假设系统给定一个考生的成绩,成绩可能带有小数点,成绩范围是0-100分,根据学生的成绩判断学生的成绩等级: // [90-100] A [80-90] B [70-80] C [60-70] D [0-60] E /* double grade = 99.5; if(grade >= 90){ System.out.println("你的成绩是“A”!"); }else if(grade >= 80){ System.out.println("你的成绩是“B”!"); }else if(grade >= 70){ System.out.println("你的成绩是“C”!"); }else if(grade >= 60){ System.out.println("你的成绩是“D”!"); }else{ System.out.println("你的成绩不合格"); } */ double soore = 100; if(soore < 0 || soore > 100){ System.out.println("对不起,你提供的考生成绩不合法!"); }else if(soore >= 90){ // 能够判断到这里说明成绩一定是[0-100] System.out.println("该考生的考试成绩等级是:A等级"); }else if(soore >= 80){ // 能够判断到这里说明成绩一定是小于90分的 System.out.println("该考生的考试成绩等级是:B等级"); }else if(soore >= 70){ System.out.println("该考生的考试成绩等级是:C等级"); }else if(soore >= 60){ System.out.println("该考生的考试成绩等级是:D等级"); }else{ System.out.println("该考生的考试成绩等级是:E等级"); } } }
知识点
/* System.out.println(); 负责向控制台输出【从内存到控制台】 接收用户键盘输入,从“键盘”到“内存”。【输入的过程,到内存中去】 以下代码先不要问为什么!固定编写就可以接收用户键盘的输入 */ public class KeyInputTest { public static void main(String[] args){ // 第一步:创建键盘扫描对象 java.util.Scanner s = new java.util.Scanner(System.in); // 第二步:调用Scanner对象的next()方法开始接收用户键盘输入 // 程序执行到这里会停下,等待用户的输入 // 当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent // 程序执行到这里,用户输入的信息已经到内存中了。 // 接手文本【以字符串的形式接收】 // String userInputContent = s.next(); // 标识符的命名规范:见名知意 // 将内存中的数据输出到控制台 // System.out.println("您输出了:"+ userInputContent); // 接手数字【以整数型int的形式来接收】 int num = s.nextInt(); System.out.println("您输出的数字是:" + num); } } /* 总结:记住代码,或者直接将代码复制粘贴 第一步: java.util.Scanner s = new java.util.Scanner(System.in); 第二步: String str = s.next() 或 int num = s.nextInt(); */
/* 需求: 假设系统给定一个人的年龄,根据年龄来判断这个人出于生命的哪个阶段,年龄必须在【0-150】 [0-5] 幼儿 [6-10] 少儿 [11-18] 青少年 [19-35] 青年 [36-55] 中年 [56-150] 老年 */ public class ifTest02 { public static void main(String[] args){ // 1、接收键盘输入:年龄【输入的时候必须输入数字】 java.util.Scanner s = new java.util.Scanner(System.in); // 输入您的年纪: // 输入提示信息,要不然用户根本不知道这里要干嘛! System.out.print("请输入您的年纪:"); // 停下来等待用户的输入,输入之后自动接收,赋值给age变量。 int age = s.nextInt(); // 2、根据需求进行业务逻辑判断 if(age <= 0 || age > 150){ System.out.println("对不起,你输入有误!"); }else if(age >= 56){ System.out.println("您好!,你得年纪处于:老年期!"); }else if(age >= 36){ System.out.println("您好!,你得年纪处于:中年期!"); }else if(age >= 19){ System.out.println("您好!,你得年纪处于:青年期!"); }else if(age >= 11){ System.out.println("您好!,你得年纪处于:青少年期!"); }else if(age >= 6){ System.out.println("您好!,你得年纪处于:少儿期!"); }else{ System.out.println("您好!,你得年纪处于:幼儿期!"); } } }
/* 需求: 判断当前的天气: 当外边下雨的时候: 带雨伞: 判断性别: 当性别为男:带一把大黑伞 当性别为女:带一把大花伞 当外边是晴天的时候: 判断天气的温度: 当天气温度在30度以上: 当性别为男:戴墨镜 当性别为女:擦防嗮霜 */ public class ifTest03 { public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.println("欢迎使用本系统,您通过本新系统可以完成一些简单的判断"); System.out.println("说明1:0表示下雨,1表示晴天"); System.out.println("说明2:0表示男,1表示女"); System.out.println("说明3:温度请输入20~40之间"); // 接收天气状况 System.out.print("请输入:0、下雨,1、晴天:"); int weather = s.nextInt(); // 接收性别状况 System.out.print("请输入:0、男,1、女:"); int gender = s.nextInt(); // 晴天 if(weather == 1){ // 判断温度 System.out.print("请输入温度:"); int rature = s.nextInt(); // 温度之间判断 if(rature <= 20 || rature > 40){ System.out.println("请输入温度在20~40之间"); }else if(rature >= 30){ if(gender == 0){ System.out.println("请戴墨镜哦~"); }else if(gender == 1){ System.out.println("请擦防晒霜哦~"); }else{ System.out.println("输入的语法有误,请输出0、男还是1、女"); } }else{ System.out.println("温度正常,不用带东西哦,放心去玩吧~"); } // 下雨 }else if(weather == 0){ if(gender == 0){ System.out.println("请带一把大黑伞"); }else if (gender == 1){ System.out.println("请带一把大花伞"); }else{ System.out.println("输入的语法有误,请输出0、男还是1、女~"); } }else{ System.out.println("输入的语法有误,请输出0、下雨还是1、晴天!"); } } }
/* if语句 */ public class ifTest04 { public static void main(String[] args){ boolean sex = true; if(sex){ System.out.println("男"); }else{ System.out.println("女"); } sex = false; if(sex) System.out.println("男"); else System.out.println("女"); // 以下程序中编译错误,没有嵌套大括号else语法错误 /* if(sex) System.out.println("男"); System.out.println("呵呵"); else System.out.println("女"); */ } }
选择结构之(switch语句)
/* 关于switch语句 1、switch语句也属于选择结构,也是分支语句 2、switch语句的语法结构: 一个比较完整的switch语句应该这样编写: switch(int或String类型的字面值或变量){ case int 或 String类型的字面值或变量: java语句: break; case int 或 String类型的字面值或变量: java语句: break; default: java语句: .... } 3、switch语句的执行原理: switch后面小括号当中的”数据“和case后面的”数据“进行一一匹配,匹配成功的分支执行。 按照自上而下的顺序依次匹配。 4、匹配成功的分支执行,分支当中最后有”break;“语句的话,整个switch语句终止。 5、匹配成功的分支执行,分支当中没有”break;“语句的话,直接进入下一个分支执行(不进行匹配), 这种现象被成为case穿透现象。【提供break;语句可以避免穿透】 6、所有分支都没有匹配成功,当有default的语句话,会执行default 7、switch后面和case后面只能是int或者String类型的数据,不能是探测其它类型。 - 当然byte、short、char也可以直接写到switch和case后面,因为他们可以进行自动类型转换, btye,short,char可以自动转换成int类型。 - JDK6的,switch和case后面只能探测int类型 - JDK7之后包括7版本在内,引入新特性,switch关键字和case关键字后面可以探测int或String类型的数据。 8、case可以合并: int i = 10; switch(i){ case 1: case 2: case 3; case10; System.out.println("Tst Code!"); } */ public class SwitchTest01 { public static void main(String[] args){ /* long x = 100L; // 编译报错 int b = a; long x = 100L; switch(x){} // 变异报错 */ // 解决编译报错 long x = 100L; switch((int)x){} byte b = 10; switch(b){}; byte d = 10; switch(d){}; char cc = 97; switch(cc){}; // 编译报错 // switch(true){} String username = "zhangsan"; switch(username){} /* 较switch完整的switch语句 */ // 接收用户的输入: // 1 表示星期一 // 2 表示星期二 // ... // 7 表示星期日 java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入数字:"); int num = s.nextInt(); 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("对不起,你输入的数字有误~"); } } }
/* switch确实可以探测String类型,这是Java7的新特性。 */ public class SwitchTest02 { public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入星期几:"); String dayOfweek = s.next(); switch (dayOfweek){ case "星期一": System.out.println(1); break; case "星期二": System.out.println(2); break; default: System.out.println("对不起,你输入的数字有误~"); } } }
public class SwitchTest03 { public static void main(String[] args){ // char c = 'A'; char c = 'B'; // char c = 'C'; // char c = '65'; // char c = 'D'; switch(c){ case 'A' : System.out.println("高级"); break; case 'B' : System.out.println("中级"); break; case 'C' : System.out.println("初级"); break; default: System.out.println("出错了!"); } // switch() switch(c){ case 'A' : System.out.println("高级"); break; case 66 : System.out.println("中级"); break; case 'C' : System.out.println("初级"); break; default: System.out.println("出错了!"); } } }
/* 实现计算器当中的 + - * / % 实现思路: 1、选择所有数据从键盘输入 2、使用switch语句进行判断 3、需要从控制台输入三次: - 第一个数字 - 运算符 - 第二个数字 最终在控制台上是这样的一个场景: 欢迎使用简单计算器系统; 请输入第一个数字:10 请输入运算符:+、-、*、/、% 请输入第二个数字:20 运算结果:10 + 20 = 30 */ public class SwitchTest04 { public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.println("欢迎使用计算器系统"); System.out.print("请输入第一个数字:"); int One = s.nextInt(); System.out.print("请输入运算符:"); String symbol = s.next(); System.out.print("请输入第二个数字:"); int Two = s.nextInt(); switch(symbol){ case "+" : System.out.println("云算结果:" + One + " + " + Two + " = " + (One + Two)); break; case "-" : System.out.println("云算结果:" + One + " - " + Two + " = " + (One - Two)); break; case "*" : System.out.println("云算结果:" + One + " * " + Two + " = " + (One * Two)); break; case "/" : System.out.println("云算结果:" + One + " / " + Two + " = " + (One / Two)); break; case "%" : System.out.println("云算结果:" + One + " % " + Two + " = " + (One % Two)); break; default : System.out.println("对不起,您输入的结果有误~"); } } }
/* 假设系统给定成绩,请判断该考生的成绩: 1、有效成绩范围:【0 - 100】 2、考试成绩可能带有小数 3、考成成绩和等级之间的对照关系: 【90-100】A 【80-90】 B 【70-80】 C 【60-70】 D 【0-60】 E 4、以上需求必须采用switch语句完成,不能采用if。 窍门:(int)(成绩/10) 0 1 2 3 4 5 6 7 8 9 10 */ public class SwitchTest05 { public static void main(String[] args){ // 考生成绩 // double soore = 95.5; // double soore = 60.5; double soore = 59.5; // 转换成int int grade = (int)(soore / 10); switch(){ case 9 : case 10 : System.out.println("A"); break; case 8 : System.out.println("B"); break; case 7 : System.out.println("C"); break; case 6 : System.out.println("D"); break; default : System.out.println("E"); } } }
循环结构之(for语句)
/* 1、循环结构: 在程序当中总有一些需要反复的/重复的执行,假设没有循环结构,那么这段需要重复执行的代码自然是需要重复编写的,代码无法得到重复使用。 所以多数编程语言都是支持循环结构的,将来把需要反复执行的代码片段放到,“循环体”,再联合“计数器”,共同控制这段需要反复执行的代码。 2、基本上所有的编程语言支持的循环包括三种: for循环 while循环 do..while循环 3、当前示例主要讲解for循环,for循环的语法结构是什么呢? 语法结构: for(初始化表达式; 布尔表达式; 更新表达式){ // 是需要重复执行的代码片段【循环体:由java语句构成】 } 4、for循环的执行过程/执行原理? - 初始化表达式、布尔表达式、更新表达式都不是必须的!【但是两个分好是必须的】 - 初始化表达式最先执行,并且在整个for循环当中只执行一次 - 布尔表达式必须是true/false,不能是其它值。 - for的执行过程: 先执行初始化表达式,并且该表达式只执行一次 判断布尔表达式的结果是true还是false - 布尔表达式true * 执行循环体 * 执行跟新表达式 * 判断布尔表达式的结果是true还是false - 布尔表达式true * 执行循环体 * 执行跟新表达式 * 判断布尔表达式的结果是true还是false - 布尔表达式true * 执行循环体 * 执行跟新表达式 * 判断布尔表达式的结果是true还是false .... - 布尔表达式false * 循环结束 - 布尔表达式false * 循环结束 - 布尔表达式false 循环结束 */ public class ForTest01 { public static void main(String[] args){ // 需求:输出数字1~10 // 使用循环结构来代替以上所有反复执行的代码块。 // 使用循环语句可以让代码量变少 for(int i = 1; i <= 10; i+=1){ System.out.println(i); } // 死循环 for(;;){ System.out.println("死循环"); } } }
/* i变量的作用域。 */ public class ForTest02 { public static void main(String[] args){ // 以下的for循环当中“i”变量的作用域是景象于当前for循环内部使用。 for(int i = 0; i < 10; i+=1){ System.out.println("i -- >" + i); } // 死循环 for(int i = 0; i <= 10; i+=1){ System.out.println("i -- >>" + i); } // 这个i变量可以在main方法的作用域当中访问吗?无法访问 // System.out.println("i -- >>" + i); // 编译错误 // main方法作用域当中的i变量,只要main方法没有结束,这里i就能用。 int i = 0; for(; i<10; i+=1){ System.out.println("i =" + i); // 9 } // 这里可以访问main方法作用域当中的i变量 System.out.println("i -- >>" + i); // 10 int j; for (j = 1; j < 10; j++){ System.out.println("j -- >>" + j); } System.out.println(j); } }
public class ForTest03 { public static void main(String[] args){ // 输出1~10中所有的奇数 for(int i = 1; i <= 10; i+=2){ System.out.println("i -->" + i); // 1 3 5 7 9 } System.out.println("--------------------------"); // 输出1~10中所有的偶数 for(int i = 2; i <= 10; i+=2){ System.out.println("i -->" + i); // 1 3 5 7 9 } System.out.println("--------------------------"); for(int i = 10; i > 0; i-=1){ System.out.println("i -->" + i); // 10 9 8 7 6 5 4 3 2 1 } System.out.println("--------------------------"); for(int i = 100; i > 50; i-=10){ System.out.println("i -->" + i); // 100 90 80 70 60 50 } System.out.println("--------------------------"); for(int i = 0; i < 10; ){ System.out.println("计数器 -->" + i); i += 1; } System.out.println("--------------------------"); for(int i = 0; i < 10; ){ i += 1; System.out.println("计数器 -->" + i); // 1 2 3 4 5 6 7 8 9 10 } } }
/* 循环语句和条件判断语句嵌套使用【for和if的嵌套】 */ public class ForTest04 { public static void main(String[] args){ // 找出1~100所有的奇数 // 第一种方案:从1开始,每次递增2,这样每一个数字一定是奇数。 for(int i = 1; i <= 100; i+=2){ System.out.println("奇数-->" + i); } // 第二中方案:从1开始,以1递增,每一个数据都进行判断,判断标准是该数字对求余数 for(int i = 1; i <= 100; i+=1){ // 判断i是否为奇数,是奇数的时候输出 // i % 2 == 0 // 偶数 // i % 2 == 1 // 奇数 // i % 2 != 0 // 奇数 if(i % 2 == 1){ System.out.println("奇数为:"+ i ); } } // 以上两种方案,优先选择第一种方案:代码少,循环次数少,效率较高 } }
/* 在前一个程序的基础之上,计算1~100所有奇数的和 1 + 3 + 5 + 7 + 9 ....+ 99累加 运算符 += 就是专门完成追加的。 */ public class ForTest05 { public static void main(String[] args){ // 定义一个变量【盒子】,初始值为0 int mun = 0; for(int i=1;i<=100;i+=2){ // i 一定是奇数 // 累加求和 // System.out.println(i); // mun存储的是最终求和的结果 // 不能每一次执行到这里,都把求和结果归零。 // 定义sum变量不能放到这里,因为这里是循环体 // int sum = 0; mun = mun + i; // 输出语句放到这里表示每循环一次则输出一个数据 // System.out.println("和:" + mun); } System.out.println("奇数的和为:" + mun); // ---------------------------------------------------- // 归零 int sum = 0; for(int i=1;i<=100;i++){ if(i % 2 != 0){ // 是剪奇数 sum += i; // 则累加求和 } } System.out.println("奇数的和为:" + sum); } }
/* for循环嵌套for循环 */ public class ForTest06 { public static void main(String[] args){ for(int i=1;i<=10;i++){ // 共循环10次 // 循环体中可以编写其他的控制语句 // 控制语句可以嵌套使用 // 控制语句可以是:if、if..else、switch、for、while、do..while // 即使循环体当中是一个for循环,不要将这个for特殊化,也是只一个普通的for循环 // 只不过是一个一段符合java语法的代码 // 内层循环,内层循环中的变量名和外层循环中的变量名不能重名。 /* for(int i=100; ; ){ } */ System.out.println("第一层i -->"+i); // 这里是循环体,无论这个循环体 当中编写了什么样的代码,这堆代码也需要执行10遍。 for(int j=0;j<3;j++){ System.out.println("第二层j -->" + j); for(int k=0;k<3;k++){ System.out.println("第三层k -->" + k); } } } } }
/* for循环嵌套 */ public class ForTest07 { public static void main(String[] args){ for(int i=1;i<10;i++){ // 循环10次 System.out.println("Begin"); // 这里代码片段执行10遍 for(int j=0;j<1;j++){ // 循环1次,输出0 System.out.println("j-->" + j); } System.out.println("Over"); } for(int i=1;i<=5;i++){ System.out.println("开始"); for(int j=1;j<=5;j++){ //System.out.println(j); System.out.println(i*j); } System.out.println("结束"); } // 第一次结果 /* 结果: 开始 1 2 3 4 5 结束 ... 5遍 */ // 第二次结果 /* 结果: 开始 1 1 * 1 2 1 * 2 3 1 * 3 4 1 * 4 5 1 * 5 结束 ... 5遍 */ } }
/* 使用for循环输出九九乘法表 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 */ public class ForTest08 { public static void main(String[] args){ for(int i = 1; i <= 9; i++){ // 外层循环9次 // i 是行号 // System.out.println(i); // 循环体当中的程序主要的任务是什么? // 处理当前行,将当前行中所有的项目全部输出 for(int j = 1; j <= i; j++){ System.out.print(j + " * " + i + " = " + (i*j) + " "); } System.out.println(""); } } }
/* 编写for循环找出1~100中所有的素数 素数:又被称为质数,能够被1自身整除,不能被其它整除的数字成为素数。 该题目主要掌握的知识点: for循环的使用 for循环嵌套 标记 break 统计 */ public class ForTest01 { public static void main(String[] args){ // 先编写程序,验证7这个数字是否为素数 /* 实现思路: 7 / 1 【不需要】 7 / 2 【7 % 2 != 0】 7 / 3 【7 % 3 != 0】 7 / 4 【7 % 4 != 0】 7 / 5 【7 % 5 != 0】 7 / 6 【7 % 6 != 0】 7 / 7 【不需要】 */ /* int i = 8; boolean isSuShu = true; // 默认将i看作一个素数【标记开发中比较常用】 for(int j=2;j<i;j++){ if(i % j == 0){ // 非素数 isSuShu = false; // 已经知道i是费素数,跳出循环.效率较高。 break; } } System.out.println(isSuShu ? i + "素数:": i + "不是素数"); */ // 外部的for循环只负责取出每一个数字i for(int i=2; i<=100;i++){ // 这里的这段代码只判断i是否为素数 boolean isSuShu = true; for(int j=2;j<i;j++){ if(i % j == 0){ isSuShu = false; break; } } if(isSuShu){ // 是素数 // System.out.println("是素数:"+i); }else{ // System.out.println("不是素数:"+i); } } // 升级版【加入统计机制】 int count = 0; for(int i=2; i<=100;i++){ // 这里的这段代码只判断i是否为素数 boolean isSuShu = true; for(int j=2;j<i;j++){ if(i % j == 0){ isSuShu = false; break; } } if(isSuShu){ // 是素数 System.out.print(i + " "); count++; if(count % 9 == 0){ System.out.println(); } } } } }
循环结构之(while语句)
/* while循环语句: 1、while循环的语法结构: while(布尔表达式){ 循环体; } 2、while循环的执行原理: 先判断布尔表达式的结果: - true - 执行循环体 * 判断布尔表达式的结果: * true - 执行循环体 * 判断布尔表达式的结果: * false - 循环结束 - false 3、while循环的循环次数: 0 ~ N次 注意:while循环的循环体可能执行次数为0次。 */ public class WhileTest01 { public static void main(String[] args){ // 死循环 /* while(true){ System.out.println("死循环"); } */ // 编译器检测到该程序永远都无法被执行,所以编译报错。 // System.out.println("hello world!"); int i = 10; int j = 3; while(i > j){ System.out.println("呵呵"); } System.out.println("hello world!"); } }
/* 使用while循环输出1~10 */ public class WhileTest01 { public static void main(String[] args){ int i = 1; while(i<=10){ System.out.println(i); i++; } System.out.println("end-->" + i); System.out.println("---------------------------------------------------------"); // ------------------------------------------------------------ int j = 10; while(j > 0){ System.out.println(j--); // 10 9 8 7 6 5 4 3 2 1 System.out.println("-->" + xj); // 9 8 7 6 5 4 3 2 1 0 } System.out.println("end j -->"+ j); // 10 System.out.println("---------------------------------------------------------"); // ----------------------------------------------------------- int k = 10; while(k>=0){ System.out.println(--k); // 9 8 7 6 5 4 3 2 1 0 -1 } } }
循环结构之(do...while语句)
/* do..while循环: 1、do..while循环的语法结构: do{ 循环体; }while(布尔表达式); 2、do..while循环的执行原理: 3、do..while循环的执行次数: do..while循环的循环体代码片段执行次数是:1-N次【至少一次】 4、使用do..while循环的注意事项: do..while循环语句最终有一个“分号”别丢了。 */ public class DowhileTest01 { public static void main(String[] args){ int i = 10; do{ System.out.println(i); }while(i>100); System.out.println("------------------"); while(i > 100){ System.out.println("i --> " + i); } System.out.println("------------------"); int a = 1; do{ System.out.println(a); // 1 2 3 4 5 6 7 8 9 10 a++; }while(a <= 10); } }
控制循环语句之(break语句)
/* 关于java控制语句当中的break语句: 1、break是java语言当中的关键字,被翻译为“中断/折断” 2、break + ";" 可以成为一个单独的完整的java语句:break; 3、break语句使用在switch语句当中,用来终止switch的语句执行。 4、break语句同样可以使用在循环语句当中,用来终止循环的执行 5、break终止哪个循环呢? 6、break; 语句使用在for,while,do..while循环语句当中用来跳出循环,终止循环的执行。 因为当程序循环到某个条件的时候,后续的循环没必要执行了,再执行也是耗费资源,所以可以终止循环,这样可以提高程序的执行效率。 7、以下以for循环为例讲解break;语句。 8、在默认情况下:break语句终止的是离它最近的循环语句。当然也可以指定终止某个循环,需要给循环起名,采用这种语法:break 循环名称; */ public class BreakTest01{ public static void main(String[] args){ for(int i = 0; i<10; i++){ if(i == 5){ break; } System.out.println("i-->" + i); } // 这里的程序和以上的for循环无关。 System.out.println("hello world"); for(int j=0;j<3;j++){ for(int i = 0; i<10; i++){ if(i == 5){ break; // 当前的break语句终止的是内层for循环,因为这个for离它最近。 // 这里的break语句不会影响到外层for循环 } System.out.println("i-->" + i); } } System.out.println("-----------------------"); // 以下语法使用较少 // 给for循环起名叫for1 for1:for(int j=0;j<3;j++){ // 给for循环起名for2 for2:for(int i = 0; i<10; i++){ if(i == 5){ break for1; //终止for1循环 } System.out.println("i-->" + i); } } System.out.println("hello world!"); } }
控制循环语句之(continue语句)
/* continue语句: 1、continue表示:继续/go on/下一个 2、continue; 也是一个continue关键字加一个分号构成一个单独的完整的java语句,主要出现循环语句当中用来控制循环的执行。 3、break和continue的区别? break表示循环不执行了,跳出循环,终止循环 continue表示终止当前”本次“循环,直接进入下一次循环继续执行。 4、continue也有这样的语法: continue 循环名称; 【作为了解内容】 */ public class ContinueTest01 { public static void main(String[] agrs){ for(int i = 0; i<10; i++){ if(i == 5){ break; } System.out.println("i = " + i); // 0 1 2 3 4 } System.out.println("hello world!"); for(int i = 0; i<10; i++){ if(i == 5){ continue; // 只要这个语句执行,当前本次循环停止,直接进入下一次循环”继续“执行 } System.out.println("i = " + i); // 0 1 2 3 4 6 7 8 9 } System.out.println("hello world!"); } }
/*关于java语言当中的if语句,属于选择结构,if语句又成为分支语句/条件控制语句:1、if语句的语法结构:四种编写方式第一种:if(布尔表达式){java语句;java语句;java语句;.....}第二种:if(布尔表达式){java语句;java语句;}else{java语句;java语句;}第三种:if(布尔表达式){java语句;java语句;}else if(布尔表达式){java语句;java语句;}else if(布尔表达式){java语句;java语句;}else if(布尔表达式){java语句;java语句;}....第四种:if(布尔表达式){java语句;java语句;}else if(布尔表达式){java语句;java语句;}else if(布尔表达式){java语句;java语句;}else{java语句;java语句;}2、重点:对于java中的if语句来说,只要有一个分支执行,整个if语句全部结束。
3、注意:以上的第二种编写方式喝第四种编写方式都带有else分支,这两种方式可以保证会有分支执行。
4、“所有的控制语句”都是可以嵌套使用的,只要合理嵌套就行。if(){if(){if(){}}}else{if(){}else{if(){if(){}}}}注意:嵌套使用的时候,代码格式要保证完美。【该缩进的时候必须缩进,大部分情况下使用大括号包围的需要缩进】
5、if语句的分支中只有一条java语句的话,大括号可以省略不写。if(true/false){一条java语句;}if(true/false) 一条java语句;
这种方式不推荐使用,别人这么写能看懂就行。
*/
public class ifTest01{public static void main(String[] agrs){// 需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭// 公里数double distance = 6.0; // 单位KM// 判断语句if(distance < 5){System.out.println("去KFC吃开封菜!");}else{System.out.println("太远了不去了!");}
// 需求:假设系统给定一个考生的成绩,成绩可能带有小数点,成绩范围是0-100分,根据学生的成绩判断学生的成绩等级:// [90-100] A [80-90] B [70-80] C [60-70] D [0-60] E/*double grade = 99.5;if(grade >= 90){System.out.println("你的成绩是“A”!");}else if(grade >= 80){System.out.println("你的成绩是“B”!");}else if(grade >= 70){System.out.println("你的成绩是“C”!");}else if(grade >= 60){System.out.println("你的成绩是“D”!");}else{System.out.println("你的成绩不合格");}*/
double soore = 100;if(soore < 0 || soore > 100){System.out.println("对不起,你提供的考生成绩不合法!");}else if(soore >= 90){// 能够判断到这里说明成绩一定是[0-100]System.out.println("该考生的考试成绩等级是:A等级");}else if(soore >= 80){// 能够判断到这里说明成绩一定是小于90分的System.out.println("该考生的考试成绩等级是:B等级");}else if(soore >= 70){System.out.println("该考生的考试成绩等级是:C等级");}else if(soore >= 60){System.out.println("该考生的考试成绩等级是:D等级");}else{System.out.println("该考生的考试成绩等级是:E等级");}
}}