一、局部变量只在它的作用域内有作用
在for循环内定义了多次num,但是不会出现错误,因为每次定义的num只在每次的循环中{}有效。
public class Test104 {
public static void main(String[] args) {
for(int i =1;i<=3;i++) {
int num = 1;
System.out.println(num);
}
}
}
在下面这串代码中,虽然定义了num但是num只在它的每次循环中有效,跳出循环后是相当于没有定义这个num,所以会报错。
public class Test104 {
public static void main(String[] args) {
for(int i =1;i<=3;i++) {
int num = 1;
}
System.out.println(num);
}
}
二、冒泡排序法
冒泡排序法两两进行比较,将较小的数换到前面这个位置,最后换下来的效果是把最大的数换到了最后一位。如图
所以下一轮比较的次数要比上一轮比较的次数少一次,相当于把最大的数冒泡到最右边。
三、Math.random()的用法
Math.random()返回的数是double型的[0.0,1.0)的随机数
double型的[0,100)
double num=Math.random()*100;
想要生成整型的[0,100)
int num=(int)Math.random*100;
int类型的[0,100]
int num=(int)Math.random()*(100+1)
int类型的[1,100]
int num=(int)(1+Mat.random()*100);
总之Math.random()生成的范围为[0,1),后面的乘以的数增加区间的倍数,加上的数增加区间的长度。
int类型的[min,max)
int num=(int)Math.random*(max-min)+min;