• 技术文章 >Java >java教程

    Java使用条件语句和循环结构的详细介绍

    零下一度零下一度2017-06-25 11:01:26原创1315
    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流。本文将简单讲解条件、循环和switch。

    一、块作用域

    块(block),即复合语句。是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。

    比如:

     1 public class Code { 2 static 3 { 4     System.out.println("1"); 5 } 6 { 7     System.out.println("2"); 8 } 9 public Code()10 {11     System.err.println("3");12 }13 public static void main(String[]args)14 {15     new Code();16 }17 }

    注意:不能在嵌套的两个块中声明同名的变量。

    二、条件语句

    格式1:

    if(condition)

    {

    statement1

    statement2

    ........

    }

    例如:

    1 if(youSales>=target)2 {3    performance="Satisfactory";4    bonus=1000;5 }

    格式2:

    if(condition)statement1 else statement2

    例如:

     1 if(youSales>=target) 2 { 3   performance=“Satisfactory”; 4   bonus=100+10*(youSales-target“); 5  } 6 else 7 { 8   performance=”Unstatisfactory“; 9   bonus=0;10 }

    三、循环

    当条件为true时,while循环执行。

    格式1:

    while(condition)statemnet

    例如:

    1 while (balance<goal)2 {3 balance+=payment;4 double interest=balance*interestRate/100;5 balance+=interest;6 years++;7 }

    格式2:

    do statement while(condition);

     1 do 2     { 3         balance+=payment; 4         double interest=balance*interestRate/100; 5         balance+=interest; 6          7         year++; 8          9         System.out.printf("After year %d,your balance is %,.2f%,year,balance");10         11         System.out.print("Ready to retire?(Y/N)");12         input=in.next();13     }14     while(input.equals("N"));15 16     }

    四、确定循环

    for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代的次数。

    格式类似如下:

    for(int i=0;i<x.length;i++)

    System.out.println(i);

    例子4个:

     1 public class ShuZu1 { 2     public static void main(String[]args){ 3         int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}}; 4         int result=qiuHe(x); 5         System.out.println("和是"+result); 6         } 7     public static int qiuHe(int[][]x){ 8         int s=0; 9         for(int i=0;i<x.length;i++)10         {11             for(int j=0;j<x[i].length;j++)12             {13                 s+=x[i][j];14                 }15             }16         return s;17     }18 }
     1 public class ShuZu2 { 2     public static void main(String[]args){ 3         int [][] x=new int[7][7]; 4         //生成随机数组,注意没有返回值,另外打印一行字 5         suiJi(x); 6         System.out.println("生成的数组是:"); 7          8         //显示数组内容,注意没有返回值 9         showArray(x);10         11         //取值12         float result=getAvg(x);13         System.out.println("平均数是"+result);14         15     }16     static float getAvg(int [][] x){17         float s=0;18         for(int i=0;i<x.length;i++){19             for(int j=0;j<x[i].length;j++){20                 s+=x[i][j];21             }22         }23         return s/(x.length*x[0].length);24     }25     static void suiJi (int[][]x){           //这里我出错了。返回值写了int型,不应该的。思考一下。26         for(int i=0;i<x.length;i++){27             for(int j=0;j<x[i].length;j++){28             x[i][j]=(int)(Math.random()*10);29             }30         }31     }32     static void showArray(int[][]x){        //这里我出错了。返回值写了int型,不应该的。思考一下。33         for(int i=0;i<x.length;i++){34             for(int j=0;j<x[i].length;j++){35                 System.out.print(x[i][j]+"\t");// 给数据空格36             }37             System.out.println();//打印换行38         }39     }40 }
     1 import java.util.Arrays; 2 public class SuZu3{ 3     public static void main(String[] args) { 4         int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};    
     5         sort(x,'n'); 6         for(int i=0;i<x.length;i++){ 7             System.out.print(x[i]+"\t"); 8             } 9         }10     //给数组进行选择性排序11     //调用API进行升序12     static void sort(int[]x,char Flag){13         if('A'==Flag){14             Arrays.sort(x);15             }16         else {17             for(int i=0;i<x.length-1;i++){18                 for(int j=0;j<x.length-1-i;j++){19                     int temp=0;20                     if(x[j]<x[j+1]){21                         temp=x[j];22                         x[j]=x[j+1];23                         x[j+1]=temp;24                         }25                     }26                 }27             }28         }29     }
     1 import java.util.Scanner; 2  3 public class Suzu4 { 4     public static void main(String[] args) { 5         System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。 6         Scanner scan = new Scanner(System.in); 7         //System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面 8         String str = scan.nextLine();// nextLine才是接收一行 9         10         char[] s = str.toCharArray();// 把字符串转换称一个字符数组11         scan.close();12         int letterCount = 0;13         int numberCount = 0;14         int spaceCount = 0;15         int otherCount = 0;16         for (int i = 0; i < s.length; i++) {17             if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {18                 letterCount++;19             } else if (s[i] >= '1' && s[i] <= '9') {20                 numberCount++;21             } else if (s[i] == ' ') {22                 spaceCount++;23             } else {24                 otherCount++;25             }26         }27         System.out.println("字母有" + letterCount + "个");28         System.out.println("数字有" + numberCount + "个");29         System.out.println("空格有" + spaceCount + "个");30         System.out.println("其他有" + otherCount + "个");31     }32 }//ctrl+shift+f 是代码格式化33 //ctrl+shift+o  是导包

    五、多重选择:switch语句

    格式类似如下:

    switch(choice)

    case 1:

    ........

    break;

    case 2:

    .......

    break;

    .........

    //可以再来几个case(用break结束一下)

    default:

    .......

    break;

    注意:

    case标签可以是:

    * 类型为char、byte、short或int的常量表达式。

    * 枚举常量

    * 从Java SE 7开始,case标签还可以是字符串字面量。

    以上就是Java使用条件语句和循环结构的详细介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java 循环 语句 条件 使用
    上一篇:JAVA 之Random类,数组学习 下一篇:java中知识点的实例介绍
    千万级数据并发解决方案

    相关文章推荐

    • 一起来理解Java中的泛型• 整理分享Java语言表达式的五个谜题• java反射机制详细解析(总结分享)• 快速上手Java数据结构之字符串• 详细整理java枚举的使用总结
    1/1

    PHP中文网