Math类和Random类相比,不需要导入包
Math.random() 产生随机数 [0,1) 随机小数
随机小数
[min,max)某个范围内的随机小数 Math.random()(max-min)+min
[min,max] nax的小数也能获取到 Math.random()(max-min+1)+min
随机整数
[min,max] nax的小数也能获取到 (int)(Math.random()*(max-min+1)+min)
math.round(数据) 四舍五入
能够使用for循环的都能使用while,可以互相转换
确定循环次数|变量变化区间–>推荐使用for
条件不需要我们声明,变化也不需要我们声明 -> 推荐使用while
for(条件初始化;条件判断;条件变化){ //行
//代码
for(条件初始化;条件判断;条件变化){ //列
//代码
}
//代码
}
外层循环执行一次,内层循环执行一轮(从开始到结束)
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
数组的特点:
1.引用数据类型,容器
2.一个数组中的多个数据数据类型一致|相同
3.长度一旦确定不可改变
4.数组中的数据是有序的(索引|下标)
索引|下标:
从0开始,以此+1
索引的变化范围:
从0开始,最后一个数据的索引: 数组的长度-1 --> 数组名.length-1
数组的长度:
数组名.length
操作数组中的数据(赋值|获取值|修改值):
根据数组的下标|索引 数组名[索引|下标]–>定位到数组中的每一个小空间
数组的声明: []
数据类型[] 数组名; --推荐使用
数据类型 数组名[];
数据类型 : 指明数组中存放的每一个数据的类型
数组的初始化:
1.动态初始化:先根据数据的长度创建一个数组,但是没有赋值,确定数据的时候再赋值
数据类型[] 数组名 = new 数据类型[长度n];
数组中的数据没有赋值存在默认值:
整数0 小数0.0 字符串null 字符型’ ’ 布尔型false
2.静态初始化:创建的同时赋值
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3…};
数据类型[] 数组名 = {值1,值2,值3…}; --简略写法,不够灵活,但是简单
数组的遍历: 从前到后拿到每一个数据
1.普通for循环
遍历索引->循环变量i控制数组的索引
2.增强for循环 | for…each
for(数据类型 变量名: 数组名|容器名){
变量代表数组中的每一个数据(非索引)
}