1.循环语句
--作用
解决重复代码执行的问题
--分类
1,while
1.语法:while(条件表达式){
循环体;
}
2.注意:
当条件表达式为true时,执行循环体代码,
循环体代码执行完毕后,在此判断条件表达式,
如果表达式依然为true,继续执行循环体代码
如果表达式值为false,结束循环
2,do while
1.语法:do{
循环体;
}while(条件表达式)
2.注意:
---- 先执行循环体代码,执行完之后,在此判断条件表达式,当条件表达
式为true时,继续执行循环体代码,如果表达式值为false,结束循环
----与while的区别:
1,do while先执行循环体,在判断条件表达式
2,while先判断条件表达式,在执行循环体
3,for
1.语法:for(表达式1;条件表达式2;表达式3){
循环体4;
}
2.注意:
表达式1:初始化变量,只执行一次
条件表达式2:循环条件
表达式3:修改表达式1的变量的值
循环体:要重复执行的代码
2.随机数
---作用:随机生成一个数字
---使用:
1,创建Random对象 【Random random = new Random();】
2,获取随机数
方式1:随机获取一个int范围内的整数
int 变量名 = random对象.nextInt();
方式2:随机获取一个0~x范围内的整数
int 变量名 = random对象.nextInt(x+1);
3. break 与continue
--作用:流程控制语句
--1,break
注:1,break 在循环中使用表示跳出当前循环循环
2,break与switch中使用,表示跳出当前代码块
3,break与标记结合使用,表示跳出指定代码块(了解)
--2,continue
注:1,continue 单独使用表示跳出本次循环
2,continue只能在循环中使用
3,continue与标记结合,表示跳过标记所在的本次循环(了解)
4. 猜数字小游戏
import java.util.Random;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args){
//从1到100的int型随数
//int id=(int)(Math.random()*100);
//创建random对象,随机生产100以内的随机数
Random r = new Random();
int id =r.nextInt(100);
while(true){
//创建scanner对象,键盘录入数字
Scanner scan=new Scanner(System.in);
System.out.println("请输入数字:");
int num =scan.nextInt();
//用if分支语句进行判断
if(id==num){
System.out.println("恭喜您,猜对了,太棒了!");
break;
}else if(num<id){
System.out.println("抱歉,您猜小了,请继续!");
}else{
System.out.println("抱歉。您猜大了,请继续!");
}
}
}
}
结果:
5. 利用循环与随机数生产简单的验证码
生成6位验证码
六位验证码包含:数字, 小写字母,大写字母
思路:
1,定义一个变量记录已经生成的验证码 String
2,开启循环,循环次数为6.因为每次只能生成一位验证码
3,获取一位验证码
3.1:随机生成一个数字,用这个数字判断本次到底生成的是小写字母,大写字母还是数字
3.2:判断3.1生成的数字对应的到底是小写字母还是大写字母,或者是数字
3.2.1:生成小写字母
3.2.1.1随机生成一个0~25的数字+97
3.2.1.2:将3.2.1.1的数字强转为字符
3.2.1.3:将3.2.1.2生成的字符与步骤1的变量拼接
3.2.2:生成大写字母
3.2.2.1随机生成一个0~25的数字+65
3.2.2.2:将3.2.2.1的数字强转为字符
3.2.2.3:将3.2.2.2生成的字符与步骤1的变量拼接
3.2.3:生成数字
3.2.3.1随机生成一个0~9的数字
3.2.3.1将3.2.3.1生成的数字与步骤1的变量拼接
4,当循环结束后打印生成的验证码
import java.util.Random;
public class Demo10 {
public static void main(String[] args) {
//设置一个空字符串,进行拼接
String str = "";
//定义一个变量n设置验证码的位数
int n = 6;
Random random = new Random();
for (int i = 0; i < 6; i++) {
int num = random.nextInt(3);
//判断num的值,当num为0时,进行小写字母的转换与拼接
if (num == 0) {
int num1 = random.nextInt(26) + 97;
char c = (char) num1;
str += c;
//当num为1时,进行大写字母的转换与拼接
} else if (num == 1) {
int num2 = random.nextInt(26) + 65;
char C = (char) num2;
str += C;
//当num为2时,直接进行数字的拼接
} else {
int num3 = random.nextInt(10);
str += num3;
}
}
System.out.println("此6位数的验证码是:" + str);
}
}
结果: