JAVA流程控制 循环结构

Java迭代语句 (循环)

这里写图片描述

循环的作用是反复执行一段代码,直到不满足条件为止。循环语句一般分为一下四个部分:
  • 初始化部分
  • 循环条件
  • 循环体
  • 迭代部分
    这里写图片描述

while循环

   while(条件)
       {
         循环体
       }

do while循环

    do {
       循环体
    } while(条件);

for循环

for (初始化部分;循环条件;迭代部分){
    循环体;
    }
  • do-while最少会被执行一次。
  • 循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
  • for语句内声明的变量的作用域为当前for语句,不能在for语句以外的地方使用它
  • for循环在初始化部分和迭代部分可以使用逗号语句。
  • for循环先执行初始化部分,然后判断循环条件,再执行循环体。 一般用于固定次数的循环。

    //反转数组元素
    pubilic int[] inverse(int[] oldArray){
    int [] newArray = new int[oldArray.length];
    for (int i=0, j=oldArray.length-1; i

增强的for循环的语法是:
               for(declaration : expression) {
                         //Statements
                    }



declaration声明: 新声明块变量,这是一种与正在访问数组中的元素兼容的。变量将是可利用的块内并且它的值将是相同的作为当前的数组元素。

expression表达: 这个计算结果完成需要循环数组。表达式可以是一个数组变量或方法调用返回一个数组。

####无限循环的写法
for(;;){
// 代码
}

流程跳转语句
  • break 退出本层循环

  • continue 跳出本次循环或者说进入下一轮循环

  • return 结束当前方法

import java.util.ArrayList;
import java.util.Random;
/**
* @JAVA04.test.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月31日 上午8:48:19
* 
*/
public class test {

    public static void main(String[] args) throws InterruptedException {
      ArrayList<Integer> arr =new ArrayList<Integer>();
      for(int i=1;i<=9;i++){       //普通循环
       arr.add(new Random().nextInt(99));
      }  
      System.out.println(arr);
        for(int x:arr){            //增强型for循环
            System.out.println(x);
        }
     }
}
/**
* @JAVA04.for100sum.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:59:19
* 实现1到100的和两头相加进行计算
* (1+100)+(2+99)+(3+98)+... ...+ (50+51)
*/
public class for100sum {

    public static void main(String[] args) {
         int x = 0;
         for(int i=1,j=100;i<=50;i++,j--){
             x+=(i+j);
             System.out.println(i+"+"+j+"="+x);
         }
         System.out.println(x);
    }
}
import java.util.Scanner;
/**
* @JAVA04.formul.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口诀
* 要求 输入  1-9 之间的数字 打印出对应的算式。
*/

public class formul {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        System.out.println("请输入1-9之间的数字");
        Scanner in =new Scanner(System.in);
        int x = in.nextInt();
        for(int i=1;i<=9;i++ ){
            System.out.println(i +"*"+x+"="+i*x);
        }
    }
}
import java.util.Scanner;

/**
* @JAVA04.forimi.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:47:50
* 模拟输入密码三次错误,退出系统 吞卡。
* 正确密码(任意数字)
*/
public class forimi {

    @SuppressWarnings({ "resource", "unused" })
    public static void main(String[] args) {
        int x = 0;
        Scanner in = new Scanner(System.in);
        for(int i=1;i<=3;i++){
            if(in.nextInt() == 999 ){

                showmain();
                break;
            }else{
                x++;
                System.out.println("密码错误");
            }
        }System.out.println("您的账户被锁定");

    }
    private static void showmain() {    
        System.out.println("登陆成功");
    }
}
/**
* @JAVA04.for100sum.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:43:08
* 计算1-100 之间,7 的倍数 之和
*/
public class for7sum {

    public static void main(String[] args) {
        int x = 0;
        for(int i=1;i<=100;i++){
             if(i%7==0){
                 x+=i;
             }
        }
        System.out.println("1-100 之间7的倍数之和为:"+x);
    }
}
/**
* @JAVA04.forinterval.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:33:40
* 计算1997年1月1日到2017年1月1日相距多少天。(注意闰年)
* (year%4 ==0 && year%100!=0 ) II (year%400 ==0)
*
*/
public class forinterval {

    public static void main(String[] args) {
         int x = 0;
         for(int i=1997;i<=2017;i++){
             if((i%4 ==0 && i%100!=0 )||(year%400 ==0)){
                 x++;
             }
         }
         System.out.println((2017-1997)*365+x);
    }
}
/**
* @JAVA04.formul.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口诀
* 要求 输入  1-9 之间的数字 打印出对应的算式。
*/
public class formul {

    public static void main(String[] args) {

        for(int i=1;i<=9;i++ ){
                for(int j=1;j<=i;j++)
                System.out.print(j +"*"+i+"="+i*j+"\t");
                System.out.print("\n");         
       }
    }
}
package Endless;

import java.util.Random;
import java.util.Scanner;

/**
* @JAVA05.fingergame.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月31日 下午12:36:59
* 猜拳石头剪刀布
*/
public class fingergame {

    public static void main(String[] args) {
        System.out.println("\t猜拳游戏\n");
             start();
    }
    @SuppressWarnings("resource")
    public static void start(){

        Scanner in = new Scanner(System.in);
        Random n= new Random();
        try {
        do{
            System.out.println("请选择:1,石头\t2,剪刀\t3,布");  
            int z =in.nextInt(); 
            int x =n.nextInt(3)+1;
             if(z==1||z==2||z==3){
                System.out.println("你出"+s(z)+"\t电脑出"+s(x));
                 if (z==1&&x==2||z==2&&x==3||z==3&&x==1) {
                    System.out.println("你赢了!");
                 }else if (z==0) {
                     System.out.println("已退出");
                     System.exit(0); 
                 }else if (z==x) {
                     System.out.println("平局!");

                 }else{
                    System.out.println("你输了!");
                 }System.out.println("输入0退出");  
             }
             else{
                 System.out.println("请重新选择");
                 continue;
             }
        }while(true);
    } catch (Exception e) {
         System.out.println("请输入数字");
         start();
    }
    }
    public static String s(int x){
        String str = null;
        if(x==1){
            str = "石头";
        }else if (x==2) {
            str = "剪刀"; 
        }else if (x==3) {
            str = "布";
        }
        return str;
    }
}
package Endless;

import java.util.Scanner;

/**
* @JAVA05.jiapio.java
* @author 当前用户:Endless作者 :Endless
* @version 创建时间:2017年7月31日 下午12:06:52
* 机场订票 1-12 月 系统
* 郑州-汉城  机票 5000  
* 4-10月 为旺季  头等舱0.9 经济舱0.6
* 其它月 为淡季  头等舱0.5 经济舱0.3  
* 输入T  退出系统    
*/
public class jiapio {
      @SuppressWarnings("resource")
    public static void main(String []args){
          System.out.println("郑州-汉城机票查询系统");
          System.out.println("当前月份为:");
          Scanner in = new Scanner(System.in);
          try {
          do{
              String n = in.next();
              if (n.equals("t")){
                    System.exit(0); 
                    System.out.println("已退出");
              }else{
                  switch (Integer.parseInt(n)) {
                case  4:
                case  5:
                case  6:
                case  7:
                case  8:
                case  9:
                case  10:
                    System.out.println("当前为旺季\n头等舱票价:"+5000*0.9+"\t经济舱票价:"+5000*0.6);
                    break;
                case 1:
                case 2:
                case 3:
                case 11:
                case 12: 
                    System.out.println("当前为旺季\n头等舱票价:"+5000*0.5+"\t经济舱票价:"+5000*0.3);
                    break;
                default:
                    System.out.println("请输入1-12");
                    break;
                }
              }
          }while(true);
          } catch (Exception e) {
            System.out.println("请输入数字");
            main(null);
        }
      }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值