个人如何建立免费网站,农业开发公司好名字,株洲人才网,万网域名注册官网查询入口⭐ 作者#xff1a;小胡_不糊涂 #x1f331; 作者主页#xff1a;小胡_不糊涂的个人主页 #x1f4c0; 收录专栏#xff1a;浅谈Java #x1f496; 持续更文#xff0c;关注博主少走弯路#xff0c;谢谢大家支持 #x1f496; 循环 1. 循环结构1.1 while 循环1.2 bre… ⭐ 作者小胡_不糊涂 作者主页小胡_不糊涂的个人主页 收录专栏浅谈Java 持续更文关注博主少走弯路谢谢大家支持 循环 1. 循环结构1.1 while 循环1.2 break1.3 continue1.4 for 循环1.5 do...while循环 2. 输入输出2.1 输出到控制台2.2 从键盘输入 彩蛋猜数字游戏 1. 循环结构
1.1 while 循环
基本语法格式
while(循环条件){循环语句;
}循环条件为 true则执行循环语句否则结束循环。 一个循环肯定有开始有结束
实例1打印 1-10 的数字
public static void main(String[] args) {int num 1;while (num 10) {System.out.println(num);num;}
}运行结果 实例2计算 1-100 的和 public static void main(String[] args) {int n 1;int sum 0;while (n 100) {sum n;//sumsumn,实现累加n;}System.out.println(sum);}运行结果 实例3求 1-100 以内偶数的和 //1-100偶数的和
public static void main(String[] args) {int sum1 0;int a 2;while (a 100) {sum1 a;a 2;}System.out.println(sum1);
}//1-100奇数的和
public static void main(String[] args) {int sum2 0;int a 1;while (a 100) {sum2 a;a 2;}System.out.println(sum2);
} 实例4计算 5 的阶乘 5!54321 4!4321 3!321 2!21 1!1 0!1 public static void main(String[] args) {int n 1;int result 1;while (n 5) {result * n;//累乘n;}System.out.println(result);
}运行结果 实例5计算 1!2!…5! 这里既要算加法还要算阶乘。在每一个数字阶乘计算后然后求和我们可以采用嵌套循环内循环负责求阶乘外循环负责求和。 public static void main(String[] args) {int num 1;int sum 0;// 外层循环负责求阶乘的和while (num 5) {int k 1;int i 1;// 里层循环负责完成求阶乘while (i num) {k * i;//kk*ii;}sum k;//sumsumknum;}System.out.println(sum sum);
}运行结果 实例6找到1-100之间既能被3整除也能被5整除的数
public static void main(String[] args) {int i 1;while (i 100) {if(i % 15 ! 0) {i;continue;//有关continue的介绍在下面}System.out.println(i);i;}
}运行结果 注
和 if 类似while 下面的语句可以不写 { } 但是不写的时候只能支持一条语句建议还是加上 { }。和 if 类似while 后面的 { 建议和 while 写在同一行。和 if 类似while 后面不要多写分号否则可能导致循环不能正确执行。
比如
int num 1;
while (num 10); {System.out.println(num);num;
}
//[无任何输出, 程序死循环]这里为 while 的语句体(这是一个空语句)实际的 { } 部分和循环无关此时循环条件 num 10 恒成立导致代码死循环。
1.2 break
break 的功能是让循环提前结束
实例找到 100 - 200 中第一个 3 的倍数
public static void main(String[] args) {int num 100;while (num 200) {if (num % 3 0) {System.out.println(找到了 3 的倍数, 为: num);break;}num;}
}运行结果 执行到 break 就会让循环结束。
1.3 continue
continue 的功能是跳过这次循环立即进入下次循环
实例找到 100 - 200 中所有 3 的倍数
public static void main(String[] args) {int num 100;while (num 200) {if (num % 3 ! 0) {num; // 这里的 不要忘记! 否则会死循环.continue;}System.out.println(找到了 3 的倍数, 为: num);num;}
}运行结果 执行到 continue 语句的时候就会立刻进入下次循环(判定循环条件)从而不会执行到下方的打印语句。
1.4 for 循环
基本语法
for(表达式1;布尔表达式2;表达式3){表达式4;
}表达式1: 用于初始化循环变量初始值设置在循环最开始时执行且只执行一次 表达式2: 循环条件满足则循环继续否则循环结束 表达式3: 循环变量更新方式 实例1打印 1-10 的数字
public static void main(String[] args) {for (int i 1; i 10; i) {System.out.println(i);}
}运行结果 实例2计算 1-100 的和 public static void main(String[] args) {int sum0;for (int i 1; i 100; i) {sum i;//sumsumi 累加//第一次sum011//第二次sum123//第三次sum336...}System.out.println(sum sum);}实例3计算 5 的阶乘
public static void main(String[] args) {int result 1;for (int i 1; i 5; i) {result * i;//第一次result1*11//第二次result1*22//第三次result2*36...}System.out.println(result result);}实例4计算 1!2!…5!
public static void main(String[] args) {int sum 0;//外循环求和for (int i 1; i 5; i) {int tmp 1;//内循环计算每位数字的阶乘for (int j 1; j i; j) {tmp * j;}sum tmp;}System.out.println(sum sum);}注
和 if 类似for 下面的语句可以不写 { } 但是不写的时候只能支持一条语句建议还是加上 { }。和 if 类似for 后面的 { 建议和 while 写在同一行。和 if 类似for 后面不要多写分号否则可能导致循环不能正确执行。和while循环一样结束单趟循环用continue结束整个循环用break。
1.5 do…while循环
基本语法
do{循环语句;
}while(循环条件);先执行循环语句再判定循环条件循环条件成立则继续执行否则循环结束。
实例 打印 1-10 的数字
public static void main(String[] args) {int num 1;//num 的初始条件do {System.out.println(num);num;} while (num 10);//循环条件}注
do while 循环最后的分号不要忘记。一般 do while 很少用到, 更推荐使用 for 和 while。无论是否满足循环条件都会先执行一次循环语句。
2. 输入输出
2.1 输出到控制台
基本语法
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出println 输出的内容自带 \nprint 不带 \n。(\n换行) printf 的格式化输出方式和 C 语言的 printf 是基本一致的。 代码示例
public static void main(String[] args) {System.out.println(hello world);//直接打印 hello worldint x 10;System.out.printf(x %d\n, x);//打印 x10
}格式化字符串
转换符类型举例结果d十进制整数(“%d”,100)100x十六进制整数(“%x”,100)64o八进制整数(“%o”,100)144f定点浮点数(“%f”,100f)100.000000s字符串(“%s”,100)100c字符(“%c”,‘1’)1b布尔值(“%b”,100)true%百分号(“%.2f%%”,2/7f)0.29%
2.2 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 import java.util.Scanner; // 需要导入 util 包public class Cycle_logitic {public static void main(String[] args) {Scanner sc new Scanner(System.in);//输入sc 由用户自己定义System.out.println(请输入你的姓名);//输出String name sc.nextLine();System.out.println(请输入你的年龄);int age sc.nextInt();System.out.println(请输入你的工资);float salary sc.nextFloat();System.out.println(你的信息如下);System.out.println(姓名: name\n年龄age\n工资salary);sc.close(); // 注意, 要记得调用关闭方法}运行结果 使用 Scanner 循环读取 N 个数字并求取其平均值 public static void main(String[] args) {Scanner sc new Scanner(System.in);int sum 0;int num 0;while (sc.hasNextInt()) {int tmp sc.nextInt();//输入sum tmp;//求和num;}//输出System.out.println(sum sum);System.out.println(avg sum / num);//计算均值sc.close();}运行结果 彩蛋
猜数字游戏 玩法玩家随便输入1-100以内的整数计算机会提示你是否猜对如果没猜对会告诉玩家是猜大了还是猜小了然后用户继续猜数直到成功。 程序设计关键
如何设置 1-100 以内的随机数判断随机数与用户输入的值的大小在猜对前用户如何循环输入数字猜对后又如何结束循环
1. 在 Java 中设置随机数需要用到一个包
import java.util.Random;如果想要控制在 100 以内代码实现是
Random random new Random(); // 默认随机种子是系统时间
int toGuess random.nextInt(100);//设置范围[0-10012. 用户输入数字:
上文已经总结过如何输入一个数字。用户输入时也需要一个包
import java.util.Scanner;//实现输入数字
Scanner sc new Scanner(System.in);//这里的 sc 由用户自定义3. 判断用户输入的数字大小
这里我们用 if 语句处理
int num sc.nextInt();//将输入的数字赋给 num
if (num toGuess) {System.out.println(低了);
} else if (num toGuess) {System.out.println(高了);
} else {System.out.println(猜对了);
break;//跳出循环
}4. 然后我们将代码整合一下
import java.util.Scanner;
import java.util.Random;public static void main(String[] args) {Random random new Random(); // 默认随机种子是系统时间Scanner sc new Scanner(System.in);int toGuess random.nextInt(100);while (true) {System.out.println(请输入要输入的数字: (1-100));int num sc.nextInt();if (num toGuess) {System.out.println(低了);} else if (num toGuess) {System.out.println(高了);} else {System.out.println(猜对了);break;}}sc.close();}运行结果 这只是简易版的猜数字游戏你还可以用 switch 语句去设置一个菜单选项控制游戏的开始等等功能去美化你的游戏