zoukankan      html  css  js  c++  java
  • 4.循环结构

    一循环
    1.定义:反复执行同一个操作内容
    2.语法:
    a.while(条件){
    循环语句
    }
    b.do{
    循环语句
    }while(条件);
    c.for(表达式1;条件表达式2;表达式3){
    循环内容
    }
    表达式1=循环变量的初始化
    表达式2=循环条件
    表达式3=循环变量的操作


    3.循环的三要素:
    a:循环变量的初始化
    b:循环条件
    c:循环变量的操作

    4.三种循环的特点是:
    a。while是先判断条件再执行循环体
    b。do while 是先执行一次循环体再判断条件,也就是说一定会执行一次
    c.for是先判断再执行

    5.循环语法的适用场合
    a.while:适合循环次数不确定
    b.for:适合循环次数确定的场合

    6.如何控制循环的流程
    a.break:是退出循环,break在哪个循环中就退出哪个循环
    b.contiune:结束本次循环的剩余部分,继续下一次循环
    c.都要搭配if来使用

    二.例子

    package com.demo1025;
    
    import java.math.BigDecimal;
    import java.util.Scanner;
    
    public class Demo {
    	//while案例  打印输出"我喜欢java" 10遍
    //	public static void main(String[] args) {
    //		int i=1;//循环变量的初始化
    //		while(i<=10){//循环条件
    //			System.out.println("我喜欢java");
    //			i++;//循环变量的操作
    //		}
    //		System.out.println("完成作业");
    //	}
    
    	//练习3 求 1--1000中的偶数和
    //	public static void main(String[] args) {
    //		int i=0;
    //		int sum = 0;//求和的变量
    ////		while(i<=1000){
    ////			if(i%2==0){
    ////				sum += i;//sum = sum+i;
    ////			}
    ////			i++;
    ////		}
    //		while(i<=1000){
    //			sum += i;
    //			i+=2;
    //		}
    //		System.out.println(sum);
    //	}
    	
    	//练习4 输入一个数:打印输出该数的加法口诀
    //		输入:6
    //		0+6 = 6
    //		1+5 = 6
    //		2+4 = 6
    //		3+3 = 6
    //		4+2 = 6
    //		5+1 = 6
    //		6+0 = 6
    //	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    //		int num = sc.nextInt();
    //		int i = 0;
    //		int j = num;
    ////		while(i<=num){
    ////			System.out.println(i + "+" +(num-i) +"=" +num);
    ////			i++;
    ////		}
    //		while(i<=num){
    //			System.out.println(i + "+" +j +"=" +num);
    //			i++;
    //			j--;
    //		}
    //	}
    	
    	//a:循环变量的初始化  一个字符串 str
    	//	b:循环条件    str.equals("y")
    	//	c:循环变量的操作   str = sc.next();
    	//练习5.系统打印输出“正在提供数据” 然后询问用户是否继续?y/n  当用户输入 y的时候继续提供数据,并且继续询问是否继续,当用户输入n时停止询问  结束程序
    //	a:循环变量的初始化  一个字符串 str
    //	b:循环条件    str.equals("y")
    //	c:循环变量的操作   str = sc.next();
    //	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    //		String str = "";
    //		do{
    //			System.out.println("正在提供数据");
    //			System.out.println("是否继续?y/n");
    //			str = sc.next();
    //		}while(str.equals("y"));
    //		System.out.println("程序结束");
    //	}
    	
    	//练习7.请输出如下数列:1  3  5  7  9  11  13  15 输出20位。
    //	public static void main(String[] args) {
    ////		int a=1;
    ////		for(int i=1;i<=20;i++,a+=2){
    ////			System.out.print(a+"  ");
    ////		}
    //		for (int i = 1;i<=20;i++) {
    //			System.out.print(2*i-1+"  ");
    //		}
    //	}
    	
    	//8:输入一个整数,将其倒序输出
    //	例如:输入124578   输出875421
    //	用循环做
    //	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    //		System.out.println("请输入一个整数:");
    //		int num = sc.nextInt();
    //		while(num!=0){
    //			System.out.print(num%10);
    //			num/=10;
    //		}
    //	}
    	
    	//有如下数列:0  1  1  2  3  5  8  13  21  34  55
    	//用程序算出该数列第15位是什么数字?
    //	public static void main(String[] args) {
    //		int a1=0,a2=1,a3=1;
    //		for(int i=1;i<=13;i++){
    //			a3 = a1 + a2;
    //			a1 = a2;
    //			a2 = a3;
    //		}
    //		System.out.println(a3);
    //	}
    	
    	//break
    //	public static void main(String[] args) {
    //		int i=0;
    //		while(true){
    //			System.out.println("我在跑第"+i+"圈");
    //			i++;
    //			if(i==10){
    //				break;//退出循环
    //			}
    //		}
    //	}
    	//continue
    //	public static void main(String[] args) {
    //		for(int i=0;i<5;i++){
    //			System.out.println(i);
    //			if(i==3){
    //				continue;
    //			}
    //			System.out.println("我是第"+i+"个数");
    //		}
    //	}
    	
    	//练习10:计算1到100的偶数和,要求使用continue来实现
    	public static void main(String[] args) {
    		int sum = 0;
    		for(int i=1;i<=100;i++){
    			if(i%2==1){
    				continue;
    			}
    			sum += i;
    		}
    		System.out.println(sum);
    	}
    }
    

     

    /*
     * 1.循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误  break
     */
    package com.class1026;
    
    import java.util.Scanner;
    
    public class Test001 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		int score=0;
    		double altal=0;
    		Scanner sc=new Scanner(System.in);
    		for(int i=1;i<=5;i++)
    		{
    			System.out.println("请输入第"+i+"门课成绩");
    			score=sc.nextInt();
    			if(score>100||score<0)
    			{
    				System.out.println("输入错误");
    				break;
    			}
    			altal+=score;
    		}
    		altal=altal/5;
    		System.out.println("平均成绩为:"+altal);
    	}
    
    }
    

      

    /*
     * 2.1~10之间的整数相加,得到累加值大于20的当前数   break
     */
    package com.class1026;
    
    public class Test002 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		int altal=0;
    		for(int i=1;i<=10;i++)
    		{
    			altal+=i;
    			if(altal>20)
    			{
    				System.out.println(i+" "+altal);
    				break;
    			}
    		}
    	}
    
    }
    

      

    package com.demo1025;
    
    public class Work1 {
    	//1:从100每次递减5输出直至5
    //	public static void main(String[] args) {
    //		int num = 100;
    //		while(num>=5){
    //			System.out.println(num);
    //			num -= 5;
    //		}
    //	}
    	
    	//2.1至50中是7的倍数的数值之和
    //	public static void main(String[] args) {
    //		int i = 1;
    //		int sum = 0;
    //		while(i<=50){
    //			if(i%7==0){
    //				sum = sum+i;
    //			}
    //			i++;
    //		}
    //		System.out.println(sum);
    //	}
    	
    	//3:已知操场上有一群人,人数不确定,但是肯定小于100人。
    //		现在将这群人按5人一组分,最后会余下4人。
    //		按4人一组分,最后会余下3人。
    //		按3人一组分,最后会余下2人。
    //		请问这群人总共有多少?(编程题)
    //	public static void main(String[] args) {
    //		int i = 1;
    //		while(i<=100){
    //			if(i%5==4 && i%4==3 && i%3==2){
    //				System.out.println(i);
    //			}
    //			i++;
    //		}
    //	}
    	
    	//4.今有鸡兔同笼,上有三十五头,下有九十四足。问鸡兔各几只
    //	public static void main(String[] args) {
    //		int ji = 1;
    //		while(ji<=35){
    //			if(ji*2+(35-ji)*4==94){
    //				System.out.println("鸡"+ji+"只,兔子"+(35-ji)+"只");
    //			}
    //			ji++;
    //		}
    //	}
    	
    	//5.2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
    	public static void main(String[] args) {
    		double count = 8;
    		int year = 2006;
    		while(count<20){
    			count = count * (1+0.25);
    			year++;
    		}
    		System.out.println(year);
    	}
    }
  • 相关阅读:
    研究动态扩容数据库解决方案
    研究分布式唯一ID生成,看完这篇就够
    聊聊心跳机制及netty心跳实现
    聊聊微服务熔断降级Hystrix
    聊聊ReentrantLock的内部实现
    Python迭代器和生成器
    Flask容器化部署原理与实现
    WSGI到底是什么?
    Tensorflow基础
    Python字典 你必须知道的用法系列
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10088070.html
Copyright © 2011-2022 走看看