package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class BreakTest01 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * 关于Java空值语句当中的break语句: * 1、break是Java语句当中的关键字,被翻译为“中断/折断” * 2、break + “;” 可以成为一个单数的完整的Java语句:break * 3、break语句使用在weitch语句当中,用来终止switch的语句执行。 * 4、break语句同样可以使用在循环语句当中,用来终止循环的执行。 * 5、break终止哪个循环呢? * 6、break;语句使用在for,while,do..while循环语句当中用来跳出循环,终止循环的执行。 * 应为当程序循环到某个条件的时候,后续的循环没必要执行了,再执行也是耗费资源,所以可以终止循环,这样可以提高程序的执行效率。 * 7、在默认情况下:break语句终止的是离它最近的循环语句 * 8、在默认情况下:break语句终止的是离它最近的循环语句。当然也可以指定终止某个循环,需要给循环起名采用这种语法:braek循环名称; * */ for (int i = start; i <= end; i++) { if (i == 5) { break; } System.out.println("i ---> " + i); } /** * 这里的程序和以上的for循环无关 */ System.out.println("你好,世界"); /** * 给for循环起名A */ A: for (int j = start; j < end; j++) { /** * 给for循环起名B */ B: for (int z = start; z < end; z++) { if (z == 5) { /** * 当前的break语句终止的内层for循环,应为这个for离它最近。 * 这里的break语句不会影响到外层for循环 */ break A; } System.out.println("z ---> " + z); } } System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ContinueTest01 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * continue语句: * 1、continue表示:继续/go on/下一个 * 2、continue也是一个continue关键字加一个分号构成一个单据的完整的Java语句,主要出现循环语句当中用来空值循环的执行。 * 3、break和continue的区别? * * break表示循环不执行了,跳出循环,终止循环 * * continue表示直接进行下一次循环继续执行。 * 4、continue也有这样的语法: * continue循环名称:【作为了解内容】 */ for (int i = start; i < end; i++) { if (i == 5) { break; } System.out.println("i = " + i); } System.out.println("This is Power!!"); myFor: for (int i = start; i < end; i++) { if (i == 5) { /** * 只要这个语句执行,当前本次循环停止,直接进入下一次循环“继续”执行 */ continue myFor; } System.out.println("i = " + i); } System.out.println("DanDIn"); System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class DoWhileTest01 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * do...while循环: * 1、do...while循环的语法结构: * do{ * 循环体; * }while(布尔表达式); * 2、do..while循环的执行原理 * 3、do..while循环的执行次数: * do..while循环的循环体代码片段执行吃书是:1-N次【至少一次】 * 4、使用do..while循环的注意事项: * do..while循环语句最终有一个“分号”别丢了 */ do { System.out.println(start); } while (start > 100); System.out.println("-----------------------------------"); while (start > 100) { System.out.println("i ---> " + start); } System.out.println("-----------------------------------"); do { System.out.println(start); start++; } while (start <= 10); System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; /** * 1、循环结构: * 在程序当猴子屁股呢总有一些需要反复的、重复的执行,假设没有循环结构,那么这段需要重复执行的代码自然是需要重复编写的。 * 代码无法得到重复使用。 * 所以多数变成语言都是支持循环结构的。 * 将来把需要反复执行的带啊吗片段放到”循环体“,再联合计算器,共同控制这段需要反复执行的代码。 * 2、基本上所有与的变成语言支持的循环包括三种: * * for循环 * * while循环 * * do..while循环 * 3、for循环的语法结构? * 语法结构: * for(初始化表达式 ; 布尔表达式 ; 更新表达式 ){ * <p> * //是需要重复执行的代码片段【循环体:由Java语句构成】 * } * 4、for循环的执行过程/执行原理?【******】 * 4.1、初始化表达式、布尔表达式、更新表达式都不是必须的 * 4.2、初始化表达式最先执行,并且在整个for循环当中只执行一次。 * 4.3、布尔表达式必须是true/false,不是为其他值 * 4.4、for的执行过程: * * 先执行初始话表达式,并且该表达式只执行一次 * * 判断布尔表达式的结果是true还是false * - 布尔表达式true * * 执行循环体 * * 执行更新表达式 * * 判断布尔表达式的结果是真还是假 * - 布尔表达式true * * 执行循环体 * * 执行更新表达式 * 。。。。。。。。。 * - 布尔表达式是false */ @SuppressWarnings("all") public class ForTest01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int num = scanner.nextInt(); /** * 需求:输出数字1·10 */ for (int i = num; i <= 11; i = i + 1) { System.out.println(i); } for (int i = num; i <= 11; i += 1) { System.out.println(i); } for (int i = num; i <= 11; i++) { System.out.println(i); } /** * 使用循环结构可以替换所有反复执行的代码块。 * 使用循环结构可以使代码量减少 */ } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ForTest02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int num = scanner.nextInt(); /** * 以下的for循环当中“i”变量的作用域是仅限当前for循环内部使用 */ for (int i = num; i < num * 2; i++) { System.out.println("i ---> " + i); } /** * 以下的for循环当中“i”变量的作用域是仅限当前for循环内部使用 */ for (int i = num * 2; i >= num; i--) { System.out.println("i ---> " + i); } /** * main方法作用域当中的i变量,只要main方法没有结束,这里的i就可以使用 * 其中书写在fori中的int i 为局部变量,在fori 外面的int i为全局变量 */ } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ForTest03 { public static void main(String[] args) { System.out.println("--------------------------------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int num = scanner.nextInt(); System.out.println("--------------------------------------------------------"); /** * 输出 1 - 10 中所有的奇数 */ for (int i = num; i < num * 2; i += 2) { System.out.println("i ---> " + i); } /** * 输出 1 - 10 中所有的偶数 */ System.out.println("--------------------------------------------------------"); for (int j = num + 1; j < num * 2; j += 2) { System.out.println("j ---> " + j); } System.out.println("--------------------------------------------------------"); for (int k = num; k > num / 2; k--) { System.out.println("k ---> " + k); } System.out.println("--------------------------------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ForTest04 { public static void main(String[] args) { System.out.println("--------------------------------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int num = scanner.nextInt(); System.out.println("--------------------------------------------------------"); /** *找出 1 - 100 所有的奇书 * */ /** * 通过if判断是否为奇数还是偶数 */ if (num > 0 && num % 2 != 0) { for (int i = 1; i <= num; i += 2) { System.out.println("奇数 ---> " + i); } } else { for (int i = 1; i <= num - 1; i += 2) { System.out.println("奇数 ---> " + i); } } System.out.println("--------------------------------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") /** * 计算 1 - 100 所有奇书的和 * 其中+=为专门进行完成追加的 */ public class ForTest05 { public static void main(String[] args) { System.out.println("----------------------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int num = scanner.nextInt(); System.out.println("----------------------------------------------"); /** * i一定是奇数 * 累加求和 * sum存储的最终求和的结果 * 不能每一次执行到这里,都把求和结果归零 * 定义sum变量不能放到这里,应为这里是循环体 */ int sum = 0; if (num > 0 && num % 2 != 0) { for (int i = 1; i <= num; i += 2) { sum += i; } } else { for (int i = 1; i <= num - 1; i += 2) { sum += i; } } System.out.println("奇数总数 ---> " + sum); System.out.println("----------------------------------------------"); } }
package com.yonyou; import java.util.Scanner; /** * for循环嵌套循环 */ @SuppressWarnings("all") public class ForTest06 { public static void main(String[] args) { System.out.println("----------------------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("----------------------------------------------"); /** * 共循环num次 * 循环体中可以编写其他的控制语句 * 控制语句可以嵌套使用 * 控制语句可以是:if、if...else、switch、for、while、do...while * 最好不要想太多,即使循环体当中是一个for循环,不要将这个for特殊化,也是只一个普通的for循环 * 只不过是一段符合Java语法的代码 * 内存循环。内存循环中的变量名和外层循环中的变量名不能重复名 */ // for (int i = start; i <= end; i++) { // /** // * 这里是循环体,无论这个循环体当中编写了什么杨的代码,这堆代码也需要执行10遍 // */ // System.out.println("i ---> " + i); // } for (int i = start * 2; i <= end * 2; i++) { System.out.println("i ---> " + i); for (int j = start; j <= end; j++) { System.out.println("j ---> " + j); } } System.out.println("----------------------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ForTest07 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * for循环嵌套 * 这里的代码获取初始值与结束值两个值,进行循环输出 */ for (int i = start; i <= end; i++) { System.out.println("第" + i+"遍"); for (int j = start; j <= end; j++) { System.out.println("第" + j+"个数字"); System.out.println("i * j = " + i*j ); } /** * 换行 */ System.out.println(); } System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") /** * 1、循环体当中的程序主要的任务是社么? * 2、处理当前行,将当前行中所有的项目全部输出 */ public class ForTest08 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); for (int i = start; i <= end; i++) { for (int j = start; j <= i; j++) { System.out.print("\t" + j + "*" + i + "=" + i * j + "\t"); } /** * 换行 */ System.out.println(); } System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class ForTest09 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * 编写循环:使用for循环找出1~100中所有的素数 */ for (int i = start; i <= end; i++) { if (i == i / 1 ){ System.out.println("i ---> " + i); } } System.out.println("-----------------------------------"); } }
package com.yonyou; import java.util.Scanner; /** * 关于switch语句: * 1、switch语句也属于选择结构,也是分支语句 * 2、switch语句的语法规则: * 一个比较完整的switch语句应该这样编写: * switcj(int 和 String类型的字面值或变量){ * case int 或 String 类型的字面值或变量: * Java语句; * Java语句; * Java语句; * 。。。 * break; * case int 或 String 类型的字面值或变量: * ava语句; * Java语句; * Java语句; * 。。。 * break; * } * 3、switch语句执行原理: * switch后面小括号当中额“数据”和case后面的“数据”进行一一匹配,匹配成功的分支执行。 * 怎么匹配?按照自上而下的顺序依次匹配。 * <p> * 4、匹配成功的分支执行,分支当中最后有“break;”语句的话,整个switch语句终止 * <p> * 5、匹配成功的分支执行,分支当中没有“break;”语句的话,直接进入下一个分支执行(不进行匹配), * 这种现象被成为case穿透现象,【提供break;语句可以避免穿透】 * <p> * 6、所有分支都没有匹配成功,当有default的语句,会执行default当中的程序。 * <p> * 7、stitch后面和case后面只能是int或者String类型的数据,不能是探测其他类型。 * <p> * * 当然byte、short、char也可以直接写道switch和case后面,因为他们可以进行自动类型转换。 * byte、short、char可以自动转换成int类型。 * <p> * * JDK6的,switch和case后面只能探测int类型。 * <p> * * JDK7之后包括7版本在内,引入新特性,switch关键字和case关键字后面可以探测int或者String类型的数据 * <p> * 8、case可以合并: * int i = 10; * switch(i){ * case 1 ; * case 2 ; * case 3 ; * System.out.println("Test Code!"); * } */ @SuppressWarnings("all") public class SwitchTest01 { public static void main(String[] args) { /** * 编译报错 * long a = 10L; * int b = a; * * 编译报错 * long x = 100L; * switch (x){ * } */ /** * 解决编译报错 */ long x = 100L; switch ((int) x) { } byte b = 10; switch (b) { } short s = 10; switch (s) { } char c = 'A'; switch (c) { } char cc = 97; switch (cc) { } /** * 编译报错 * switch (true){} */ String username = "zhangsan"; switch (username) { } /** * 完整的switch语句 * 接受用户的输入: * 1、表示星期一 * 2、表示星期二 * 。。。 */ Scanner scanner = new Scanner(System.in); System.out.println("请输入数字:"); int num = scanner.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("请输入在取值范围内的数值"); } /** * 去除break; * 显示case的穿透性 */ System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); switch (num) { case 1: System.out.println("星期一"); case 2: System.out.println("星期二"); case 3: System.out.println("星期三"); case 4: System.out.println("星期四"); case 5: System.out.println("星期五"); case 6: System.out.println("星期六"); case 7: System.out.println("星期日"); break; default: System.out.println("请输入在取值范围内的数值"); } } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") /** * switch确实可以探测String 类型,这是Java7的新特性。 */ public class SwitchTest02 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入星期几:"); String dayOfWeek = s.next(); switch (dayOfWeek) { case "星期一": System.out.println(1); break; case "星期二": System.out.println(2); break; case "星期三": System.out.println(3); break; case "星期四": System.out.println(4); break; case "星期五": System.out.println(5); break; case "星期六": System.out.println(6); break; case "星期日": System.out.println(7); break; default: System.out.println("请输入符合在区间之内的取值"); } } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") /** * switch后续可以跟进char类型 */ public class SwitchTest03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); int string = scanner.nextInt(); /*char c = 'A';*/ char c = 'B'; 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; default: System.out.println("异常情况需要清楚!"); } } }
package com.yonyou; import java.util.Scanner; /** * 实现计算器当中的 * + * - * * * / * % * 实现思路; * 1、选择所有数据从键盘输入 * 2、使用switch语句进行判断 * 3、需要从控制台输入三次: * * 第一个数字 * * 第二个数字 * * 运算符 * 请输入第一个数字、运算符、第二个数字、成功输出 * 请输入第一个数字:10 * 请输入运算符:+ - * / * 请输入第二个数字:20 * 运算结果:10 + 20 = 30 */ @SuppressWarnings("all") public class SwitchTest04 { public static void main(String[] args) { /** * 获取键盘输入值 */ Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("请输入第一个数字:"); int num01 = scanner.nextInt(); System.out.println("请输入运算符:"); String string = scanner.next(); System.out.println("请输入第二个数字:"); int num02 = scanner.nextInt(); int result = 0; switch (string) { case "+": result = num01 + num02; System.out.println("最终计算结果为:" + result); break; case "-": result = num01 - num02; System.out.println("最终计算结果为:" + result); break; case "*": result = num01 * num02; System.out.println("最终计算结果为:" + result); break; case "/": result = num01 / num02; System.out.println("最终计算结果为:" + result); break; case "%": if (num02 >= 0) { System.out.println("请输入正确数值:"); } else { result = num01 % num02; System.out.println("最终计算结果为:" + result); } break; default: System.out.println("请输入在取值范围内的字符!!!"); } System.out.println("最终运算结果为:" + num01 + string + num02 + "=" + result); } }
package com.yonyou; import java.util.Scanner; /** * 假设系统给定考生成绩,请判断该考生的成绩等级: * 1、有效成绩范围为 0 - 100 分 * 2、考试成绩可能带有小数 * 3、考试成绩和等级之间的对照关系: * 90 - 100 A * 80 - 90 B * 70 - 80 C * 60 - 70 D * 0 - 60 E * 4、以上需求必须采用switch语句完成,不能采用if语句。 */ @SuppressWarnings("all") public class SwitchTest05 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); double num = scanner.nextInt(); int grade = (int) (num / 10); switch (grade) { case 10: case 9: 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"); } } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class WhileTest01 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * while循环语句: * 1、while循环的语法结构: * while(布尔表达式){ * 循环体; * } * 2、while循环的执行原理: * 先判断布尔表达式的结果: * * true * - 执行循环体 * * true * - 执行循环体 * * 判断布尔表达式的结果: * 。。。 * 。。。。。。。。。。。。。。。。。 * 3、while虚幻的循环次数: * 0~N次 * 注意:while寻你换的循环体可能执行次数为0次 **/ /** * 死循环 */ // while(true){ // System.out.println("死循环"); // } /** * 编译器检测到该程序永远都无法被执行,所以编译报错。 * 程序没运行是无法得知是真还是假的 */ for (int i = start; i < end; i++) { while (start <= end) { System.out.println("判定中,判定结果待定..."); } } System.out.println("xxx"); } }
package com.yonyou; import java.util.Scanner; @SuppressWarnings("all") public class WhileTest02 { public static void main(String[] args) { System.out.println("-----------------------------------"); Scanner scanner = new Scanner(System.in); System.out.println("获取键盘输入值:"); System.out.println("获取初始值值:"); int start = scanner.nextInt(); System.out.println("获取结束值值:"); int end = scanner.nextInt(); System.out.println("-----------------------------------"); /** * 使用while循环输出1-10 */ while (start <= 10) { System.out.println(start); start++; } while (end > 0) { System.out.println(end--); start++; } System.out.println("start ---> " + end); System.out.println("-----------------------------------"); } }