day03-switch-for-while-Random

switch语句

格式

switch (表达式) {
	case 1:
		语句体1;
		break;
	case 2:
		语句体2;
		break;
	...
	default:
		语句体n+1;
		break;
}

执行流程

从上至下,逐个case值判断,直到找到对应的case值为止;如果都找不到,则执行default;

注意事项

1:switch语句只能写 byte,short,int,char,String,枚举类型的数据
2:default语句的位置是任意的;
3:如果不写break关键字会发生穿透现象

穿透现象就行从选中的case开始,一直向下执行,不再判断其他case值,直到遇到breaak为止,没有break就穿透到switch的结尾;

循环

概念

重复的执行某一段代码

格式

for循环

for (初始化语句;条件判断语句;条件控制语句) {
	循环体语句;
}

while循环

初始化语句;
while (条件判断语句) {
	循环体语句;
    条件控制语句;
}

do while循环

初始化语句;
do {
	循环体语句;
	条件控制语句;
}while(条件判断语句);
//特点  先斩后奏

死循环

不会停止的循环就是死循环

循环嵌套

概念 在循环体中写循环就是循环嵌套
特点 外层循环变量变化一次,内层循环循环一圈

跳转语句

continue 忽略一次循环
break 打破循环

三种循环的区别

1: for和while是先判断条件,后执行循环体,而dowhile循环是先执行循环体再判断条件
2: for循环结束后,for中的变量不能继续使用了,而while结束后,变量可以继续使用;

Random

作用 生成一个指定范围内的随机数

使用步骤 3步

1: 导包 import java.util.Random
2:创建对象 Random r=new Random();
3:调用方法 int xxx=r.nextInt(最大范围值);

注意事项

默认情况下生成的数字包含0不包含指定的最大值

猜数字小游戏

1: 生成一个随机数
2:死循环让用户一直输入要猜的数字
3:使用用户输入的数字与生成的随机数比较
4:根据比较的大小关系,打印相应的提示,如果猜对了,使用break打破循环;

代码展示

/*
	需求:
		打印出1--100之间的所有包含6的数字,并且每5个数字换一行;
	分析:
		1:使用循环,获取1--100之间的数字;
		2:求出这些数字的个位和十位;
		3:判断这个数字的个位和十位是否是6,如果是则打印之,且打印时不换行;
		4:统计已经打印的数字的个数,判断,如果个数是5的倍数时则换行;
*/
public class KeHou{
	public static void main(String[] args){
		//在这里定义一个变量,用于统计已经打印的数字的个数
		int count = 0;
		//1:使用循环,获取1--100之间的数字;
		for(int i=1;i<=100;i++){
			//2:求出这些数字的个位和十位;
			int ge = i%10;
			int shi = i/10%10;
			//3:判断这个数字的个位和十位是否是6,
			if(ge==6||shi==6){
				System.out.print(i+"\t");
				//4:统计已经打印的数字的个数,判断,如果个数是5的倍数时则换行;
				count++;
				//判断,如果个数是5的倍数时则换行;
				if(count%5==0){
					System.out.println();
				}
			}
		}
	}
}
/*
	需求:
		生成10个30至50之间的随机数;
	分析:
		要想得到随机数,必须使用java中的Random,而Random中的nextInt方法生成的随机数一定是[0-?)
		我们想要的是  [30--50]
		Random生成的  [0 -- ?) 
		要想从第7行的区间得到第6行的区间,只能在Random生成的数字的基础上加上  30,再保证加30之后,不超过50即可;
		总结得出通用公式:
		int x = r.nextInt(最大值-最小值+1)+最小值;
	步骤:
		1:导包  import java.util.Random;
		2:创建对象  Random r = new Random();
		3:写一个循环,保证循环10次
		4:在循环体中,套用上面总结的公式,即可得到[30--50]区间的随机数
		
*/
//1:导包  import java.util.Random;
import java.util.Random;
public class RandomDemo{
	public static void main(String[] args){
		//2:创建对象  Random r = new Random();
		Random r = new Random();
		//3:写一个循环,保证循环10次
		for(int i=1;i<=10;i++){
			//4:在循环体中,套用上面总结的公式,即可得到[30--50]区间的随机数
			int x = r.nextInt(50-30+1)+30;
			System.out.println("第"+i+"次生成的随机数是:"+x);
		}
	}
}
/*
	需求:
		使用while循环,打印出所有的水仙花数;
	分析:
		1:定义一个变量,用于保存数字100;
		2:写while循环,在循环中,求出数字的个位,十位,百位,并计算立方和是否等于本身;
		3:让数字++;
*/
public class WhileDemo{
	public static void main(String[] args){
		int i=100;
		while(i<=999){
			
			//求出数字的个位,十位,百位,并计算立方和是否等于本身;
			int ge = i%10;
			int shi = i/10%10;
			int bai = i/100;
			
			//计算立方和是否等于本身;
			if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
				System.out.println(i);
			}
			//3:让数字++;
			i++;
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值