for(初始化条件;条件判断语句;条件控制语句){
循环体语句
}
执行流程:
1、首次执行初始部分(仅一次)。
2、对条件判断语句(布尔表达式)进行判断,结果为true,则执行逻辑代码。
3、本次执行完毕后,执行条件控制语句,再次判断,结果仍旧为true,则再次执行逻辑代码(循环体语句)。
4、直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
以下插入案例:
//打印1-10
public class Demo01{
public static void main(String[] args){
for(int i=1;i<11;i++){
System.out.println(i);
}
}
}
经典案例1
public class Demo02{
public static void main(Stirng[] args){
//外循环控制行数
for(int i=1;i<5;i++){
内循环控制列数
for(int j=1;j
经典案例1结果为:*
**
***
****
for循环打印类似图案,要记住:外层控制层数,内层控制列数。
经典案例2
public class Demo03{
public static void main(String[] args){
for(int i=1;i<5;i++){
for(int j=1;j<5-i-1;j++){
System.out.print(" ");
}
for(int j=1;j
经典案例2结果为: (1个空格) *
(2个空格) **
(3个空格) ***
(没有空格) ****
二、while循环
while(布尔表达式){
循环体语句
条件控制语句
}
执行流程:
1、先对布尔表达式进行判断,结果为true,则执行循环体语句。
2、本次执行完毕后,再次进行判断,若结果仍旧为true,则再次执行循环体语句。
3、直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
do{
循环体语句
}while(布尔表达式);
执行流程:
1、先执行一次循环操作之后,再进行布尔表达式的判断。
2、如果结果为true,则再次执行循环操作。
3、如果结果为false,才会退出循环结构,执行后续代码。
以下插入案例:
//生成随机数,打印随机数并打印1-100之间比随机数大的奇数
import java.util.Random;
public class Demo04{
public static void main(String[] args){
Random ran=new Random();
int num=ran.nextInt(100)+1;//取值范围[1,101)
System.out.println("随机数:"+num);
int i=1;
while(i<101){
if(i>num && i&2!=0){
System.out.println(i);
}
i++
}
}
}
//我想存款过百万,月收入15k,每个月存8k,问多久完成梦想?
public class Demo08{
public static void main(String[] args){
//存款
int money = 0;
//月份
int month = 0;
while(money < 1000){
//存钱
money += 8;
//月份+1
month++;
}
System.out.println("存款百万需要:"+month+"个月");
}
}
下面小编制作了一个数字游戏:
import java.util.Random;
import java.util.Scanner;
public class Test05{
public static void main(String[] args){
int max=100;//最大值
int min=1;//最小值
int guess=0;//猜的数字
Scanner sc=new Scanner(System.in);
Random ran=new Random();
int num=ran.nextInt(98)+2; //随机数 随机生成范围[2,100)之间的数
do{
System.out.println("请在"+min+"到"+max+"之间猜一个数");
guess=sc.nextInt();//获取用户的数据
if(guess>num){
max=guess;//比随机数大,改变猜的数为最大值
}else if(guess



