for循环语句
循环语句组成
1、初始化语句:完成初始化操作
2、判断语句:Boolean表达式,这个表达式决定是否执行循环体
3、循环体语句
4、控制条件语句:主要使循环在合适的时候结束
格式
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程
for(int x=1; x<=5; x++) {
System.out.println("HelloWorld");
}
while循环
格式
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行顺序
int x=1;
while(x<=5) {
System.out.println("HelloWorld");
x++;
}
dowhile循环
格式
* 基础格式
* do {
* 循环体语句;
* }while(判断条件语句);
*
* 完整格式:
* 初始化语句;
* do {
* 循环体语句;
* 控制条件语句;
* }while(判断条件语句);
执行流程
int x=1;
do {
System.out.println("HelloWorld");
x++;
}while(x<=5);
三种循环区别
三种循环语句可以完成相同的事情,但是也是有小区别的:
* do...while循环语句至少执行一次循环体。
* 而for和while循环语句要先进行条件的判断,然后看是否执行循环体语句。
*
* for循环和while循环的小区别:
* for循环结束后,初始化的变量不能被使用了。
* 而while循环结束后,初始化的变量还可以继续被使用。
*
* 推荐使用的顺序:
* for -- while -- do...while
循环嵌套
循环里面套循环,
for(int y=1; y<=7; y++) {
for(int x=1; x<=8; x++) {
System.out.print("*");
}
System.out.println();
\t:转移字符,表示一个tab键的位置
public class star {
public static void main(String[] args) {
for (int v=1;v<=9;v++) {
for (int i=1;i<=v;i++) {
System.out.print(i+"*"+v+"=");
System.out.print(i*v);
System.out.print(" ");
}
System.out.println();
}
}
}
控制循环语句
break语句
使用场景:
* A:switch语句中,用于结束switch语句
* B:循环语句中,用于结束循环
* 如何使用:
* A:跳出单层循环
* B:跳出多层循环
* 用带标签的语句格式。
public class BreakDemo {
public static void main(String[] args) {
for(int x=1; x<=5; x++) {
if(x == 3) {
break; break一般结合判断使用,当x=3时,结束当前循环
}
System.out.println("HelloWorld");
}
多层循环,break到底结束的是哪个循环呢?离break最近的那个循环
如果要跳出外层循环?带标签的语句
格式:
标签名:语句
wc:for(int x=1; x<=3; x++) {
nc:for(int y=1; y<=4; y++) {
if(y == 2) {
break wc; 当y=2时,直接终止最外层的循环,了解即可
}
System.out.print("*");
}
System.out.println();
continue语句
continue:继续的意思
*
* 使用场景:循环中。离开使用场景是没有意义的。
* break和continue的区别:
* break:跳出整个循环
* continue:跳出这一次的操作,进入下一次的执行
for(int x=1; x<=5; x++) {
if(x == 3) {
continue;
}
System.out.println("HelloWorld"+x);跳过x=3,进入下一次循环
随机数
使用步骤:
* A:导包
* import java.util.Random;
* B:创建对象
* Random r = new Random();
* C:获取随机数
* int number = r.nextInt(10); 获取1-100的随机数,r.nextInt(100)+1
* 获取的范围:[0,10)
综合练习:猜数
public class guess {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(100)+1;
for (;;) { 常见的死循环还有while(true){...}
Scanner sc = new Scanner(System.in);
System.out.println("输入:");
int guess = sc.nextInt();
if (number > guess) {
System.out.println("小了");
}else if (number < guess) {
System.out.println("大了");
}else {
System.out.println("good");
break;
}
}
}
}