循环结构
流程控制语句中的一种,如果重复做一件事,就可以想,用循环能否解决问题?
循环结构有while、do while、for循环
一.while循环结构
// while:当....的时候
// 多次的判断 循环条件
while(条件表达式){ //true 为循环 false为停止
// 循环操作/循环体
}
一个循环必然包括循环条件和循环操作(循环体)。
public class Demo {
public static void main(String[] args) {
int i = 0; 循环变量初始化
while(i <= 50) { // 循环条件
// 循环体
System.out.println("正在打印第"+i+"份试卷!"); // 循环操作
i ++; // 循环出口
}
}
}
while循环的组成(四要素):
- 循环变量的初始化:如果没有它 无法进行判断,会报错。
- 循环的条件:循环满足什么条件时执行。
- 循环操作:循环中应该进行的重复操作。
- 循环变量的更新:如果不进行变量更新,那么变量不会进行改值,会造成循环条件一直满足,出现死循环。
二.do-while循环结构
通常用于先循环后判断
// 初始化循环的变量
do{
// 循环操作
// 循环出口
}while(循环条件);
while和do-while的区别?
语法不同:
while(循环条件){
// 循环操作
}
do{
// 循环操作
}while(循环条件);
运行时机不同:
while是先判断再执行。
do-while是先执行再判断。
三.for循环结构
for循环只能用于固定循环次数的场景。
for(1;2;3){
4
}
1:初始化循环的变量
2:循环条件
3:更新循环变量
4:循环体
多重循环
1.重循环的使用
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
循环操作
}
}
一个循环可以嵌套无限个循环,执行顺序为外层一次,内层一遍。
外层循环执行一次,内层循环执行一轮。
打印图形
for 外层循环控制行,内层循环控制列。
continue和break的区别
break: 退出当前循环!如果出现多重循环,不会退出外层循环,只会退出当前循环。
continue(继续):结束本次循环(后面的代码不执行了)进入下一次循环。
四.程序调试(debug/断点调试)
用于查看程序运行的步骤,可以用来查看错误点。
添加断点(break point)
1.断点:随意在左侧蓝条处添加,用来debug开始位置。不要添加在注释行或者一些输入上。(函数和类上)
2.右键debug as以调试形式运行,运行之后,程序会在断点处停止,中间有一个高亮矩形框,是程序下一步要执行的地方.
右键Inspect 查看状态
3.可以按下F6(Step Over)执行当前代码,并进入下一行
4.可以在一行一行调试的过程中,随意点断点的位置!并且可以随时按下F8(Resume)快速放行到下一个断点,如果没有下一个断点,直到程序结束。
5.按下F5(Step Into),可以进入方法内查看运行。
break作用
1、break用于switch语句的作用是结束一个switch语句。
2、break用于循环语句中的作用是结束当前所在的循环语句。
嵌套循环 break只能结束当前循环。
break作用域外层循环
outer:for()
inner:for()
break outer; // 结束外层循环
continue关键字
continue的适用范围: continue只能用于循环语句。
continue的作用:continue的作用是跳过本次的循环内容。继续下一次。
注意:
continue后面不能跟有其他语句,因为是永远都无法执行到。
continue也可以配合标记使用。
public static void main(String[] args) {
int j = 0;
outer:for(int i=0;i<5;i++) {
inner:while( i < 5) {
i++;
continue outer;
}
System.out.println(i);
}
}
sum = sum+num 简写sum += num
Random random = new Random(); 生成随机数
int num = random.nextInt(10); 0-100的随机数(不包括100)
int num = (int)(Math.random() * 100);