🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # for -- 循环 * 执行顺序 `初始化表达式`,判断`条件表达式` 成立的话进入`循环体`执行完毕,执行`修改初始值表达式`,在执行`条件表达式` 看是否成立决定是否进入`循环体` ~~~ for(初始化表达式; 条件表达式; 修改初始值表达式) { 循环体; } ~~~ * 死循环 ~~~ for(;;){ 循环体; } ~~~ >[info] ## continue * continue语句用在循环体中,用于结束本次循环而开始下一次循环 ~~~ // 水仙花数就是每一位的立方相加等于其本身 public class ForWaterTest { public static void main(String[] args) { for (int i = 100; i <= 999; i++) { int a = i / 100; // 百位 int b = i % 100 / 10; // 例如123 123%100 = 23 23/10 = 2 int c = i % 10; // 获取个位 if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) != i) { continue; // 非水仙花跳出循环 } System.out.println(i); } } } ~~~ ~~~ public class Test { public static void main(String[] args) { Test ts = new Test(); // 写水仙花 for (int i = 0; i < 1000; i++) { int[] posNums = ts.getPosNumLs(i); if (!ts.forWater(posNums, i)) { continue; } System.out.println(i); } } public int[] getPosNumLs(int num) { int len = String.valueOf(num).length(); int[] numLs = new int[len]; int flag = 1; for (int i = 1; i <= len; i++) { int currentNum = (num / flag) % 10; numLs[len - i] = currentNum; flag *= 10; } return numLs; } public boolean forWater(int[] ls, int num) { int sum = 0; for (int i = 0; i < ls.length; i++) { sum += Math.pow(ls[i], 3); } return sum == num; } } ~~~ >[info] ## break * break 用于退出当前语句块,break用在循环体中用于退出循环。 ~~~ import java.util.Scanner; public class Talk { public static void main(String[] args) { System.out.println("开始聊天"); for (;;) { Scanner sc = new Scanner(System.in); String str = sc.next(); if (str.equals("退出")) { System.out.println("聊天结束!"); break; } System.out.println("我:" + str); System.out.println("机器人:" + str + "me"); } } } ~~~ >[danger] ##### 打印1-100的所有奇数 * 三种方法 ~~~ public class IfTest { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if (i % 2 == 1) { System.out.println(i); } } for (int i = 1; i <= 100; i += 2) { System.out.println(i); } for (int i = 1; i <= 50; i++) { System.out.println(i * 2 - 1); } } } ~~~ >[danger] ##### 计算1-100 的和 ~~~ public class Sum { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println(sum); } } ~~~ >[danger] ##### 打印水仙花数字 * 水仙花数就是每一位的立方相加等于其本身 ~~~ public class ForWaterTest { public static void main(String[] args) { for (int i = 100; i <= 999; i++) { int a = i / 100; // 百位 int b = i % 100 / 10; // 例如123 123%100 = 23 23/10 = 2 int c = i % 10; // 获取个位 if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) { System.out.println(i); } } } } ~~~ >[danger] ##### 猜数游戏 用来生成任意数到任意数之间的随机数 7 ~15 1. 让这个范围头尾都减去一个值,让这个范围从0开始 -7 0~8 2. 尾巴+1 8 + 1 = 9 3. 最终的结果,再加上第一步减去的值。 ~~~ /* Random r = new Random(); int number = r.nextInt(9) + 7;// 7 ~ 15 // 0 ~ 8 + 7 System.out.println(number);*/ ~~~ ~~~ import java.util.Scanner; import java.util.Random; public class Talk { public static void main(String[] args) { System.out.println("开始游戏输入1-100 一个数字"); Random ra = new Random(); int temp = ra.nextInt(100) + 1; System.out.println(temp); for (;;) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); if (num == temp) { System.out.println("恭喜猜对了"); break; } else if (num > temp) { System.out.println("大了"); } else { System.out.println("小了"); } } } } ~~~