Math类和常见循环结构

Math类

数学相关的类,不需要导包,在java.lang下的类不需要导包

可以直接通过类名.功能去使用

Math.random( )产生随机数[0,1)随机小数

double num = Math.random();
int num1 = (int)Math.random();

随机小数

[min ,max)某个范围内的随机小数 Math.random()*(max-min)+min

随机整数

[min ,max] (int)(Math.random()*(max-min+1)+min)

math.round(数据)//四舍五入

循环结构

for

for(条件初始化;条件判断;条件变化){

​ 重复执行的代码;

}

若重复执行的代码只有一行,则前后的{}可以省略

执行流程:1.条件初始化

​ 2.条件判断

​ 3.不满足条件结束循环,满足条件则执行循环体语句。

​ 4.条件变化,返回第2步(从第二次循环开始,条件初始化就不执行了)

while

条件初始化;

while(条件判断){

​ 循环体语句;

​ 条件变化;

}

能使用for循环的都能使用while,可以互相转换

确定循环次数|变量变化区间 ——> 推荐使用for

条件不需要我们声明,变化也不需要去管——>推荐while

死循环

for(;;)

while(true)

当进循环时候不确定一共会执行多少次,可以选择使用while…true…,在内部进行判断决定循环的结束

do…while 和while之间的区别:

do…while 无论是否满足条件都至少执行一次

习题:打印水仙花数

提示:水仙花数指一个三位整数,其个位数的立方和等于改数本身。

例如:153 = 1 * 1 * 1+5 * 5 * 5+3 * 3 * 3

for(int i = 100;i <= 999;i++){
			int m = i / 100;//得到百分位m
			int n = i % 100 / 10;//得到十分位n
			int k = i % 100 % 10;//得到个位k
			if(i == m*m*m+n*n*n+k*k*k){
				System.out.println("水仙花数是"+i);
			}
习题:判断平年还是闰年

闰年:能被4整除但是不能被100整除或者能被400整除

if(year % 4 == 0 && year % 100 !=0||year % 400 == 0)

break、continue之间的区别

break:

作用:结束,终止;

应用场景:switch、循环中

continue:

作用:结束本次循环,直接进入下一次循环

应用场景:循环中

双重循环

习题:打印 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZK4Iu11G-1574435346495)(/Users/dongzhenhua/Library/Application Support/typora-user-images/image-20191122200818012.png)]

//单层循环

for(int i = 1;i <= 25;i++){
	System.out.print("* ");
	count++;//计数器
	if(count==5){//每5个换行,之后清零
	Systen.out.println();
	count == 0;
	}
}

//双层循环

for(int i = 1;i <= 5;i++){//控制行
			for(int j = 1;j <= 5;j++){//控制列
				System.out.print("* ");//内层控制打印每行的*
			}
			System.out.println();//外层控制换行
		}
习题:打印[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2gcdILfL-1574435346497)(/Users/dongzhenhua/Library/Application Support/typora-user-images/image-20191122201419376.png)]

提示:抓住特点——当是第一行/第五行/第一列/第五列时打印*,其他时打印""

for(int i = 1;i <= 5;i++){
			for(int j = 1;j <= 5;j++){
				if(i == 1 ||i == 5||j == 1||j == 5){
					System.out.print("* ");
				}else{
					System.out.print("  ");
				}
			
			}
				System.out.println();
习题:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6ly9OBm-1574435346500)(/Users/dongzhenhua/Library/Application Support/typora-user-images/image-20191122203757216.png)]
for(i = 1;i <= 5;i++){
	for(int j=1;j<1000;j*=10){
		Systme.out.println(i*j+"\t");
	}
}
习题:打印九九乘法表
for(int i = 1;i <= 9;i++){
			for(int j = 1;j <= i;j++){
				System.out.print(j+"*"+i+"="+j*i+"\t");//注意点:print
			}
			System.out.println();//注意点:不能漏这句
		}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIOny1AD-1574435346502)(/Users/dongzhenhua/Library/Application Support/typora-user-images/image-20191122204645739.png)]

数组

存储数据

变量:存储单个数据

数组:存储多个数据(相同数据类型的有序集合)

数组的特点:

  1. 引用数据类型,容器。
  2. 一个数组中的多个数据的数据类型一致
  3. 数组的长度一旦确定不可改变
  4. 数组中的数据是有序的(索引|下标:自0开始,往后依次+1)

数组的声明:

数据类型 [ ] 数组名 ;——>推荐使用

数据类型 数组名[ ];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值