• Java使用条件语句和循环结构确定控制流


    与任何程序设计语言一样,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=010

    三、循环

    当条件为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]+"	");// 给数据空格
    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]+"	");
     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标签还可以是字符串字面量。

  • 相关阅读:
    数据库——游标
    避免全表扫描的sql优化
    聚合索引(clustered index) / 非聚合索引(nonclustered index)
    [摘抄]Python内置的字符串处理函数整理
    Web 安全渗透方面的学习路线?
    [转载]从关系型数据库到非关系型数据库
    [转载]shell脚本
    关于工具面试题
    ES6之promise
    关于vue-router总结
  • 原文地址:https://www.cnblogs.com/1693977889zz/p/6965324.html
Copyright © 2020-2023  润新知