java之for,while,do-while循环

for循环

基本语法:
for (循环变量初始化1;循环条件2;循环变量迭代3) {
 	代码体4;
 	break;//执行到break跳出整个for循环
 	continue;//执行到continue跳出这次循环
}

循环顺序  :执行一次1,2,4,3,2,4,3 ……

注意事项
  1. 循环条件是返回的一个布尔值的表达式

  2. for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略

  3. 循环初始值,可以有多条初始化语句,但类型必须一样

  4. 循环变量迭代,也可以有多条语句,逗号分隔

int i = 2; 将初始变量放在for循环外,可以增大i变量的作用域
for(;i<=5;i++) {
System.out.println("hello,world");
}

练习


//求打印所有9的倍数;并将其个数统计,及总和

import java.util.Scanner;
public class text {
	public  static  void main(String[]  args) {

	 //定义变量number用来接收键盘值
		Scanner scanner= new Scanner(System.in);
		System.out.println("请输入一个数字");
		int number = scanner.nextInt();	
        int s = 0;
		int count = 0;
		treble = 9; //treble是倍数

	for(int i=1;i<=number;i++) 
	{
			if(i % treble == 0) 
			{
				System.out.println("i="+i);
				s++;
				count+=i;
			}		
	}
	System.out.println("s="+s);
System.out.println("count="+count);

	} 
}

 
 //求出所有队伍对阵打乒乓的各种可能
 
 import java.util.Scanner;
 
 
 
 public class text {
 	public  static  void main(String[]  args) {
 		Scanner scanner=  new Scanner(System.in); 
 		
 	System.out.println("请输入最大值" );	
 	int number = scanner.nextInt();
 
  int count=0;
 //for (  int i=0; i<(number/2+1); i++)
 	for (  int i=0; i < number; i++)
 	{
 		
 		if (i<(number/2+1))
 		{
 			System.out.println(i + "+" + (number-i) + "="+number );
 			count++;
 		}
 	
 	}	
 System.out.println("一共有" + count + "种可能" );	
 
 	}
 }
 
//九九乘法表
public class text {
	public  static  void main(String[]  args) {	
	
	System.out.println("\n ");
	
	for( int i=1;i<10;i++)	
	{
			for(int k=1;k<=i;k++)
					{
					
						System.out.print(k+"x"+i+"="+(k*i)+"  ");					 
					}
		System.out.println("\n ");	
	}	

	}
}


//倒立九九乘法表

public class text {
	public  static  void main(String[]  args) {	
	
	System.out.println("\n ");
	
	for( int i=9;i>0;i--)	
	{
			for(int k=1;k<=i;k++)
					{
					
						System.out.print(k+"x"+i+"="+(k*i)+"  ");			           
							 
					}
			System.out.println("\n ");	
	}	

	}
}

while循环控制

基本语法:
 循环变量初始化 1  
while  (循环条件2) {
			循环体3;
			循环变量迭代4;
	}
流程:1 > 2 > 3 > 4 > 2 > 3 > 4
练习

//实现1-100,以内被3整除的数
public class text {
	public  static  void main(String[]  args) {	
	
int i =1;
    while(i<=100)
    {
            if(i%3 == 0) {
                System.out.println(i);		
            }

            i++;
    }
  }
}

do-while循环控制

基本语法:
 循环变量初始化1
 do{
		循环体2;
		循环变量迭代3;	
	}while(循环条件4); 
执行顺序 1,2,3,4,2,3,4

多重循环控制

  1. 将一个循环体放入另一个循环中,就形成了嵌套循环。 for,while,do while 均可作为内外循环。
  2. 嵌套循环 就是将内层循环当成循环体,只有内层循环条件为false,结束内层循环,结束外层当前的一次循环;当外层条件还是T,则再进入内部循环进行循环,直到内部条件再次false,跳出内部,跳出外部当次循环。
  3. 设置外层循环次数位m次,内层为n次,则内部循环体实际需要执行m*n次



//统计3个班学生的平均值,各班及格人数
import java.util.Scanner;

public class text {
	public  static void  main(String [] args) {
		Scanner scanner= new Scanner(System.in);
		
		
		double   Sum=0;//三个班级成绩总和
	   
	for(int m=1;m<=3;m++) { // m 代表班级
	
		double sum=0; //一个班级成绩总和
		int count =0; //计数器
		
		      for(int i=1;i<6;i++) { // i 代表学生
				
						System.out.println(m+"班的学生,请输入你的成绩");
						double scores = scanner.nextDouble();//定义一个变量scores用于接收成绩
					if(scores >=60) {
						count++;
					}
	
					sum+=scores;
			}
			
		System.out.println(m+"班的平均成绩"+(sum / 5)+" 及格人数是"+count+"\n");
			Sum +=	sum;
					
		}
		System.out.println("三个班级的平均成绩是"+(Sum / 15));
	}
	
}

//打印金字塔
public class text {
	public  static void  main(String [] args) {
		
	//外循环控制行数,内部两个循环依次打印 空格+*
	for( int i=1;i<=6;i++) {  //假设i代表行数
			for(int  m=1;m<=6-i;m++) {  //m控制空格数
	            System.out.print(" ");
				}	
					for(int n=1;n<=2*i-1;n++) {	 //n控制*的个数
						System.out.print("*");
		
					}	
			System.out.println();
				
	}
		
  }
}

//打印空心金字塔
public class text {
	public  static void  main(String [] args) {
		
		int  totalLevel=6;//层数,先死后活
	//外循环控制行数,内部两个循环依次打印 空格+*
	for( int i=1;i<=totalLevel;i++) {  //假设i代表行数
			for(int  m=1;m<=totalLevel-i;m++) {  //m控制空格数
	            System.out.print(" ");
				}	
					for(int n=1;n<=2*i-1;n++) {	 //n控制*的个数
							if(( n==1 || n==2*i-1) || i==totalLevel){
								System.out.print("*");
								
		                     }
							 else
								System.out.print(" ");
					}	
			System.out.println();
				
	}
		
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值