Java零基础-05-循环语句

目录

1.感受循环作用

2.while循环

2.1while语句语法结构

2.2执行流程

2.3代码实现

2.4分析循环的四要素

2.5循环的本质

2.6练习

3.do-while语句

3.1语法结构

3.2执行流程

3.3案例

3.4分析循环的四要素

3.5while和do-while区别

4.for循环

4.1语法结构

4.2执行流程

4.3案例

4.4for和while的区别

5.break和continue关键字

6.双重for循环

6.1打印菱形

7.作业


1.感受循环作用

平时我们说的循环就是重复去做某件事,比如围着操作跑1圈,2圈,3圈,....一直到100圈,那这就是一个重复的过程。那代码中的重复怎么一回事呢?看下面代码

​public class Test01_Xunhuan{
    public static void main(String[] args){
        //重复代码块
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
    }
}​

缺点:代码不够简洁,重复度很高

循环作用:简化代码编写。

2.while循环

案例:计算1+2+3+4+5+....100的和?

2.1while语句语法结构

  while:当...的时候
  while(布尔表达式){
    循环体
  }
  循环体:重复的代码块

2.2执行流程

先判断布尔表达式是否成立,
如果成立 就执行循环体, 再判断是否成立;
如果不成立,就执行循环下面的其他语句

2.3代码实现

public class Test02_While{
	public static void main(String[] args){
		//计算1+2+3+4+5+....100的和?5050  累加
		int a=1;//条件初始化
		int sum=0;
		/*
		sum+=a;
		a++;*/

		while(a<6){
		  sum+=a;
		  a++;
		}
		System.out.println(sum);

		/*
		1)2+4+6+8+.....+1000
		2)5+10+15+....+100
        3)99+97+95+....+3+1
        4)1*3*5...*100 
		*/

	}
}

2.4分析循环的四要素

  条件初始化  int a=1; 作用:给变量赋初始值
  条件判断    a<6      作用:循环体要不要执行
  循环体
  迭代器      a++;     作用:来控制循环次数  

2.5循环的本质

  代码变得简洁,
  代码的效率提高了嘛?---》并没有提高,只是提高了程序员编写代码的效率

2.6练习

统计1~100之间被3整除的数,一行输出6个数

public class Test03_While{
	public static void main(String[] args){
		//统计1~100之间被3整除的数,一行输出6个数
		/*1.输出1~100  
		  2.被3整除条件num%3==0
		  3.换行输出
		     3  6   9  12  15  18 
		     21 24  27 30  33  36
	                           ... 
		*/ 
		int num=1;
		int count=0;
		while(num<101){
			if(count%6==0&& count>0){
				//换行
				System.out.println();
			}
			if(num%3==0){
				System.out.print(num+"\t");
				count++;
			}
			num++;
		}
	}
}

3.do-while语句

3.1语法结构

  do做
  do{
    循环体;
  }while(布尔表达式);

3.2执行流程

上来就做,做完再判断

3.3案例

public class Test04_DoWhile{
	public static void main(String[] args){
		//计算1+2+3+4+5+....100的和?5050  累加
		int a=1;//条件初始化
		int sum=0;
        /*
		while(a<101){
		  sum+=a;
		  a++;
		}*/
		do{
			sum+=a;
			a++;
        }while(a<101);    
		
		System.out.println(sum+"=="+a);

	}
}

3.4分析循环的四要素

  条件初始化  int a=1; 作用:给变量赋初始值
  条件判断    a<6      作用:循环体要不要执行
  循环体
  迭代器      a++;     作用:来控制循环次数  

3.5while和do-while区别

import java.util.Scanner;
public class Test05_DoWhile{
	public static void main(String[] args){
		//学习---》考试 --->根据分数判断要不要继续学习、
		Scanner sc=new Scanner(System.in);
		int score;

		System.out.println("学习");
		System.out.println("考试");
		System.out.print("请输入一个分数:");
		while(score<60){
			System.out.println("学习");
			System.out.println("考试");
			System.out.print("请输入一个分数:");
			score=sc.nextInt();//获取分数
		}
		/*
		do{
			System.out.println("学习");
			System.out.println("考试");
			System.out.print("请输入一个分数:");
			score=sc.nextInt();//获取分数
		}while(score<60);*/
	}
}

4.for循环

4.1语法结构

  for(条件初始化1;条件判断2;迭代器3){
    循环体4
  }

4.2执行流程

 1--》2—》4---》3---》2--》4---》3————》2.....

4.3案例

1+2+3+4...100和

for循环的变形

public class Test06_For{
	public static void main(String[] args){
		//1+2+3+4...100和
		
		int sum=0;
		/*
		for(int i=1;i<101;i++){
			sum+=i;
		}

        int i;
		for(i=0;i<101;i++){//i的作用域
			sum+=i;
		}

		int i=0;
		for(;i<101;i++){//i的作用域
			sum+=i;
		}
		
		//当条件判断不写的时候,默认为true,会造成死循环
		int i=0;
		for(;;i++){
			sum+=i;
			System.out.println("循环体");
		}

        int i=0;
		for(;;){
			i+=1;
			sum+=i;
			System.out.println(i);
		}
		*/
	}
}

4.4for和while的区别

1)for知道循环的次数---》常见的
2)while不知道循环的次数

5.break和continue关键字

/*
break:中断,跳出for循环
continue:继续,结束本次循环继续下一次循环
*/
public class Test08_continue{
	public static void main(String[] args){
		for(i=1;i<=100;i++){
			if(i%7==0){
				System.out.println("被7整除的数:"+num);
				continue;
			}
			System.out.println(num+"==for循环结束了");
		}
		
		System.out.println("程序结束了");
	}
}
/*
break:中断,跳出for循环
*/
public class Test09_break{
	public static void main(String[] args){
		//1)判断一个数是不是素数 
		/*素数的判断条件:只能被自己整除的数叫素数 
		  9
			num%2==0;
			num%3==0;-----
			num%4==0:  
		*/
		int num=89;
		int i;
		boolean b=true;//是素数
		for(i=2;i<num/2;i++){
			if(num%i==0){
				b=false;//能除数除尽,所以不是素数
				break;
			}
			System.out.println(num+"==for循环结束了");
		}
		if(b){
			System.out.println(num+"是素数");
		}else{
			System.out.println(num+"不是素数");
		}
		
		System.out.println("程序结束了");
	}
}

6.双重for循环

6.1打印菱形

将菱形分为上下两部分,上部分 * 的数量是1、3、5、7、9以此类推," "的数量是4、3、2、1;下半部分 * 的数量是7、5、3、1," "的数量是1、2、3、4,以此为突破口寻找规律。利用两个for语句将菱形分为上下两部分,然后在for语句中嵌套两个for语句一个控制 * 的数量,一个控制" " 的数量;

public class Test07_For{
  public static void main(String[] args){
		
    //控制菱形的行数(必须为奇数)
    int row = 9;
    for (int i = 1; i <= row / 2 + 1; i++) {//控制上半部分的行数
        for (int j = 1; j <= row / 2 + 1 - i; j++) {//控制" "的数量
            System.out.print(" ");
        }
        for (int k = 1; k <= 2 * i - 1; k++) {//控制" "的数量
            System.out.print("*");
        }
        //进行换行
        System.out.println();
    }
    for (int i = row / 2; i >= 1; i--) {//控制下半部分的行数
        for (int j = 1; j <= row / 2 + 1 - i; j++) {//控制" "的数量
            System.out.print(" ");
        }
        for (int k = 1; k <= 2 * i - 1; k++) {//控制" "的数量
            System.out.print("*");
        }
        System.out.println();
    }
  }
}

7.作业

1)求任意两个数范围之内的奇数和 \打印1~100之内的素数
2)求两个数a和b的最大公约数和最小公倍数。
3)使用变量控制循环次数,输入任意多个正整数,输入-1结束,找最大数
     输入:
    45
    123
    789
    156
    -1
     输出:
    789
4)打印九九乘法表
 * 1*1=1
 * 1*2=2    2*2=4
 * 1*3=3    2*3=6    3*3=9
 * 1*4=4    2*4=8    3*4=12    4*4=16
5)输入两个数n和a, 如n==4, a==3, 求3 + 33 + 333 + 3333的和
6)限制用户登录,提示用户输入用户名和密码,
      如果用户名和密码不是"admin"和"123"的话,就提示用户继续输入,
      最多输入五次。
7)换零钱,把一元钱换成5毛,2毛,1毛, 有多少种换法,打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值