zoukankan      html  css  js  c++  java
  • java基础-控制流语句

    浏览以下内容前,请点击并阅读 声明

    一般情况下,代码的执行按照从上到下的顺序,然而通过加入一些判断,循环和跳转语句,你可以有条件地执行特定的语句。

    接下来分三部分介绍Java的控制流语句,他们是判断语句(if-then, if-then-else, switch),循环语句(for, while, do-while)和跳转语句(break, continue, return)。

    判断语句

      if-then语句

    if-then语句是控制流语句中最基本的语句,它告诉程序如果制定的条件为true,则执行一段特定代码。

      if-then-else语句

    if-then-else语句提供了两条或者多条可执行的路径。

         int testscore = 76;           
         char grade;
    
            if (testscore >= 90) {//如果if后条件返回true,则执行该花挂号内代码,接着执行最后一行代码,否则判断下一个条件句,依次类推
                grade = 'A';
            } else if (testscore >= 80) {
                grade = 'B';
            } else if (testscore >= 70) {
                grade = 'C';
            } else if (testscore >= 60) {
                grade = 'D';
            } else {
                grade = 'F';
            }
            System.out.println("Grade = " + grade);

    switch语句

      switch语句像是匹配执行的语句。switch后的括号内的数据类型可以是基础类型中的byte,short,char,和int。也可使用枚举类型和String(字符串),封装了基础类型的Character,Byte,Short,Integer。其用法如下代码所示:

    public class SwitchDemo {
        public static void main(String[] args) {
    
            int month = 8;
            String monthString;
            switch (month) {
                case 1:  monthString = "January";
                         break;
                case 2:  monthString = "February";
                         break;
                case 3:  monthString = "March";
                         break;
                case 4:  monthString = "April";
                         break;
                case 5:  monthString = "May";
                         break;
                case 6:  monthString = "June";
                         break;
                case 7:  monthString = "July";
                         break;
                case 8:  monthString = "August";
                         break;
                case 9:  monthString = "September";
                         break;
                case 10: monthString = "October";
                         break;
                case 11: monthString = "November";
                         break;
                case 12: monthString = "December";
                         break;
                default: monthString = "Invalid month";
                         break;
            }
            System.out.println(monthString);
        }
    }

    switch语句的主体又被称为switch代码块,switch代码块内可以多个case标签标记的代码,default标签可有可无,它表示如果没有匹配的结果,则执行default标记的代码,注意break的作用,如果没有break,则从匹配的case开始,switch代码块内的所有代码都会被执行。

    循环语句

    while语句

    如果特定的条件为true时,while语句就会继续执行一段代码,执行后再对条件进行判断不断循环,条件为false时,循环终止。

    while (expression) {//当条件为true时,执行花括号内代码,并再次判断
         statement(s)
    }

    do-while语句

    do-while语句的作用与while语句类似,不过它是先执行代码,后判断条件,循环至条件为false为止。

    do {//无论expression是否为true,先执行花挂号内代码,然后判断循环的条件
         statement(s)
    } while (expression);

    for语句

    for语句有两种用法,一种是:

    • for (initialization; termination;increment) {//注意圆括号内用分号隔开 statement(s) }
    • initialization 表达式是对整个循环的初始化,在循环开始的时候只执行一次。
    • termination表达式用于判断循环是否终止,如果为false,则终止。
    • increment表达式每次循环都会执行一次,通常用来对一个变量增加一个值。

    另外一种用法是通常是对一个数组或者集合进行遍历:

             int[] numbers = 
                 {1,2,3,4,5,6,7,8,9,10};
             for (int item : numbers) {//注意圆括号内用表达式引号隔开
                 System.out.println("Count is: " + item);

    其中,左边表达式是声明一个与数组元素类型一致,或者兼容(继承或实现)的变量右侧则是数组变量。

    跳转语句

    break语句

    break语句分为有标记的和无标记的两种情况,break语句除了可以用于switch语句中之外,也可用于打断循环语句,当没有标记时,break打断最内层的循环,有标记时则打断制定标记处的循环:

    class BreakWithLabelDemo {
        public static void main(String[] args) {
    
            int[][] arrayOfInts = { 
                { 32, 87, 3, 589 },
                { 12, 1076, 2000, 8 },
                { 622, 127, 77, 955 }
            };
            int searchfor = 12;
    
            int i;
            int j = 0;
            boolean foundIt = false;
    
        search://标记用在循环的语句之前
            for (i = 0; i < arrayOfInts.length; i++) {
                for (j = 0; j < arrayOfInts[i].length;
                     j++) {
                    if (arrayOfInts[i][j] == searchfor) {
                        foundIt = true;
                        break search;//如果打断标记处循环,则要指出标记名称,此处为search
                    }
                }
            }
    
            if (foundIt) {
                System.out.println("Found " + searchfor + " at " + i + ", " + j);
            } else {
                System.out.println(searchfor + " not in the array");
            }
        }
    }

    上述代码输出位:Found 12 at 1, 0

    continue语句

    continue用于跳过循环中剩余的部分代码,继续下一次循环,continue语句也分为标记代码和未标记的用法:

    class ContinueDemo {
        public static void main(String[] args) {
    
            String searchMe = "peter piper picked a " + "peck of pickled peppers";
            int max = searchMe.length();
            int numPs = 0;
    
            for (int i = 0; i < max; i++) {
                // interested only in p's
                if (searchMe.charAt(i) != 'p')
                    continue;//此处跳过循环中的余下代码
    
                // process p's
                numPs++;
            }
            System.out.println("Found " + numPs + " p's in the string.");
        }
    }

    上述代码输出为:Found 9 p's in the string.

    return语句

    return语句用于方法中的返回,return语句有两种用法,后带返回值和不带返回值。执行return语句后,程序会退出该方法的执行。

  • 相关阅读:
    Python-24-Django(Model Form、Ajax、上传文件、KindEditor)
    P23-Django-model、Form补充 & 序列化
    P22-Django-Session、CSRF、Form、信号
    21-Python-Django进阶补充篇
    Python-Django进阶
    Python-18-Django 基础篇
    17-前端开发之jQuery
    15-前端开发之JavaScript
    14-前端开发之CSS
    14-前端开发之HTML
  • 原文地址:https://www.cnblogs.com/justforcon/p/6009310.html
Copyright © 2011-2022 走看看