for循环
for循环是我最喜欢使用的循环语句,清晰,简洁。
## for循环的格式为:
for(初始化值,如int i=0 ; 循环条件,如 i<10 ; 重新赋值,如i++){
代码块
}
注:1.初始化值必须为表达式,如i=0"for(i=0;i<3;i++)"或for(int i=0;i<3;i++),但不可以是一个单独的变量如for(i;i<3;i++)这样会报错
![image](/i/l/?n=24&i=blog/3552622/202411/3552622-20241106154244762-945431136.png)
while循环
while循环可以用于对循环次数未知的循环。
## while循环的格式为:
初始化; //如 int i =0;
while(条件){ //条件中表达式的结果应为boolean类型
代码块;
重新赋值; //切记一定要对初始化值重新赋值,使条件表达式的值能够改变以跳出循环
或者使用break语句跳出循环,否则会陷入死循环
}
![image](/i/l/?n=24&i=blog/3552622/202411/3552622-20241106155409077-1005008475.png)
do while循环
do while循环对比于for和while,它是先执行代码块,然后对条件进行判断
,也就是说do while的代码块至少会执行一次。
## do while循环格式:
do{
代码块;
重新赋值;
}while(条件); //在while后需要加分号
![image](/i/l/?n=24&i=blog/3552622/202411/3552622-20241106160116531-231167083.png)
循环退出语句break和continue
## break:
break用于退出当前循环
可以看到循环只进行了一次便被退出,不继续执行
break也可用于switch语句
未使用break使语句进入case 0后未退出,无论是否满足下面语句的判断条件都会执行该语句的代码块
可以看到加入break语句后,结果正常
## continue:
continue用于退出当次循环
由于使用了continue使j=2时退出当次循环,所以未输出2
数组
数组可以存放多个元素,但是元素的类型必须一致
## 静态初始化数组
格式:数据类型[] 数组名 = {元素1,元素2,元素3,...};
## 动态数组初始化动态数组初始化
格式:数据类型[] 数组名 = new 数据类型[数组长度];
当未给动态数组赋值时,数组内元素有默认值:
字符串数组的默认值为null
整数数组的默认值为0
小数数组的默认值为0.0
字符类型默认是nul
布尔类型默认是false
## 数组元素的引用
通过使用下标来引用数组元素
格式:数组名[下标];
下标的范围为[0,数组名.length-1]范围内的整数,下标越界后会报错
生成随机数
## 使用Math类的random方法生成随机数
random方法可以随机生成一个[0,1)之间的数
格式:double 变量名 = Math.random();
通过与整数相乘和强制类型转化random也能随机生成整数
-
int r = (int)(Math.random()*100); //生成一个0-99的随机数;
-
int s = (int)(Math.random()*90+10); //生成一个10-99的随机数;
## 使用Random类生成随机数
-
生成随机整数
格式:Random 对象名 = new Random();
int 变量名 = 对象名.nextInt(数据范围);//数据范围若不写,范围则为Int的取值范围;若写范围则为[0,数据范围) -
生成随机小数
格式:Random 对象名 = new Random();
double 变量名 = 对象名.nextDouble(); //没有数据范围参数,默认为[0,1) -
生成随机布尔类型
格式:Random 对象名 = new Random();
boolean 变量名 = 对象名.nextBoolean(); //结果仅为true或false