java基础学习(三)控制执行流程

    xiaoxiao2021-03-25  51

    一、true和false java不允许将一个数字作为布尔值使用,可以使用所有关系操作符(>、<、>=、<=、==、!=)构造条件语句,将其转换为一个布尔值。

    二、if-else 其中 else 是可选的。else if只是一个else后面紧跟另一个新的if语句。

    public static void main(String[] args){ int x=55; if(x>30){ System.out.println("x大于30"); }else if (x>40){ System.out.println("x大于40"); }else{ System.out.println("其他情况"); } if(x>10){ System.out.println("x大于10"); } System.out.println("X的值:x="+x); } 结果: x大于30 x大于10 X的值:x=55

    说明:由 if [ else if | else ](可选)组成的语句中,如果满足其中一条,那剩下的语句不管是否满足,都不再继续执行,而是直接执行语句后面的剩余部分程序。

    三、循环语句/迭代语句 使用while、do-while、for 用来控制循环。语句重复执行,直到布尔值为false为止。

    public static void main(String[] args){ while(condition()){ System.out.println("循环while语句"); } } public static boolean condition(){ boolean result=Math.random()<0.99f; return result; } 结果: 循环while语句 循环while语句 循环while语句 循环while语句 循环while语句

    while循环语句,满足条件后,才执行循环体里的语句。其中Math.random()方法产生0和1之间(包括0,不包括1)的double类型的随机数。

    public static void main(String[]args){ int i=1; do{ System.out.println("i的值,i="+i); i++; }while(i<5); } 结果: i的值,i=1 i的值,i=2 i的值,i=3 i的值,i=4

    do-while语句至少执行一次,即便表达式第一次计算为false。 注意,不要忘记do while()后面的分号。

    public static void main(String[] args) { for(char c='a';c<128;c++){ System.out.println("c="+c); } } 结果: c=a c=b c=c c=d c=e c=f

    for循环在迭代之前要进行初始化,进行条件测试,每次迭代结束后,进行步进。 初始化,布尔表达式、步进都可以为空。 例子中,变量c在for循环中被定义的,因此它的作用域就是for控制的表达式范围内。

    逗号分隔符(,)可以用来分隔函数的不同参数。 逗号操作符(,)在for语句中,可以在初始化和步进中使用。这些语句均会独立执行 通过使用逗号操作符,可以在for语句内定义多个变量,但是它们必须具有相同的类型。

    public static void main(String[] args) { for(int i=1,j=i+10;i<5;i++,j+=2){ System.out.println("i="+i+" ,j="+j); } } 结果: i=1 ,j=11 i=2 ,j=13 i=3 ,j=15 i=4 ,j=17

    forEach语法:不必创建int变量去对访问项构成的序列进行计数,foreach将自动产生每一项。

    int[] array={132,32,3244,32232}; for(int a:array){ System.out.println("a="+a); } 结果: a=132 a=32 a=3244 a=32232

    任何返回一个数组的方法都可以使用foreach。还可以用于Iterable对象、集合对象。foreach不能在序列中步进。除非提前在数组中步进。

    四、Return关键字

    两方面的作用: a、指定方法返回值 b、导致当前的方法退出,不再执行方法后面的语句,而不是return后面的语句。

    public static void main(String[] args) { int x=50; if(x>30){ return; } System.out.println("x大于30"); } //结果没有打印语句。该语句不会被执行。

    如果在返回void的方法中没有return语句,那么在该方法的结尾会有一个隐式的return。 一个方法声明将返回非void的其他东西,那么必须确保每一条代码路径都将返回一个值。

    //如果没有else语句,那在末尾也要加一个return返回值。 public static String getName(int age){ if(age>10){ return "good"; }else if(age>20) { return "bad"; } return "test"; } //如果有else语句,末尾不需要return语句 public static String getName(int age){ if(age>10){ return "good"; }else{ return "bad"; } }

    五、break 和continue 关键字 这两个关键字可以控制循环的流程: break用于强行退出循环,不执行循环中剩余的语句。 continue停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。

    public static void main(String[] args) { for(int i=0;i<100;i++){ if(i==44) break; if(i%9!=0) continue; System.out.print(i+" "); } } 结果: 0 9 18 27 36

    六、switch语句 它是实现多路选择的方法,但是要求选择因子必须是int或char那样的整数值。case中使用单引号引起的字符也会产生用于比较的整数值。

    public static void main(String[] args) { int x=30; switch(x){ case 20:x++;System.out.println("x="+x); break; case 30:x++;System.out.println("x="+x); case 10:x++;System.out.println("x="+x); default: System.out.println("x="+x); } } //结果,继续执行后面的语句直达结尾或遇到break x=31 x=32 x=32

    选择因子可以是一个能够产生整数值的表达式,表达式的结果能够与每种case相比较。case的值也是能够产生整数值的表达式。

    如果case是以break结尾,那可使执行流程跳转至switch主体的结尾,跳出switch语句,执行程序后面的语句。

    如果没有break结尾,程序会继续执行后面的case语句,而不管是否满足条件,直到遇到一个break或 default结尾。

    转载请注明原文地址: https://ju.6miu.com/read-32306.html

    最新回复(0)