Java——流程控制与数组

混江龙づ霸主 提交于 2020-04-16 07:46:36

【推荐阅读】微服务还能火多久?>>>

一:顺序结构

    从上到下顺序执行,中间没有任何判断和跳转。

二:分支结构:

    1、if条件语句

    if语句使用布尔表达式或布尔值作为分支结构来进行分支控制。

    第一种形式:

    if(Logic Expression)

    {

        statement...

    }

//{}里面是代码块,一个代码块通常被当做一个整体来执行

    第二种形式:

    if(Logic Expression)

    {

        statement...

    }

    else

    {

        statement...

    }

    第三种形式:

    if(Logic Expression)

    {

        statement...

    }

    else if(Logic Expression)

    {

        statement....

    }

//可以跟多个else if语句

    else

    {

        statement...

    }

//else可以省略

    以上三种形式,放在if后面括号里的只能是一个逻辑表达式,这个返回值只能是true或false。不要省略花括号,哪怕只有一条执行语句或者是只有一个分号的空语句。如果省略if后面的花括号,那么if条件只控制到紧跟该条件语句的第一个分号处。在使用if...else语句时,一条基本规则:优先把包含范围小的条件放在前面处理。例子:

public class Test

{

    public static void main(String[] args)

    {

        int age=45;

        if(age>60)

        {

            System.out.println("老年人")//age大于60岁,判断为“老年人”

        }

        if(age>40 && (age<60))

        {

            System.out.println("中年人")//age大于40且小于60,判断为“青年人”

        }

        if(age>20 && !(age>60) && !(age>40 && !(age>60)))

        {

            System.out.println("青年人")//age大于20且小于40,判断为“青年人”

        }

    }

}

    三:switch分支语句

    switch语句由一个控制表达式和多个case标签组成,switch后面控制表达式的数据类型只能是byte,short,char,int型。

    语法格式:

switch(Expression)

{

    case condition1:

    {

        statement...

        break;

    }

    case condition2:

    {

        statement...

        break;

    }

    case condition3:

    {

        statement...

        break;

    }

......

    case conditionN:

    {

        statement...

        break;

    }

    default:

    {

        statement

    }

}

    先对expression求值,依次匹配condition,遇到break结束,如果没有与之相匹配的,则执行default。

    四:while循环语句

    语法格式:

while(test_expression)

    {

        statement

    }

    使用while循环时,一定要保证循环条件有变成false的时候,不然变成死循环。

    五:do while循环语句

    语法:

do

{

    statement;

}while(test_expression);

    先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环。do whlie循环的循环条件后必须有一个分号,这个分号表明循环结束。

    六:for循环

    语法格式:

for([init_statement];[test_expression];[iteration_statement])

{

    statement

}

    对于for循环,循环条件总比循环体要多执行一次,因为最后一次执行循环条件返回false,就不再执行循环体。for循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到continue语句结束本次循环,循环迭代语句也会执行。for循环允许同时指定多个初始化语句,循环条件也可以是一个包含逻辑运算符的表达式。

    最好不要在循环体内修改循环变量(也叫循环计数器)的值,否则会增加程序出错的可能性。万一程序真的需要访问、修改循环变量的值,建议重新定义一个临时变量,先将循环变量的值赋给临时变量,然后将临时变量的值进行修改。

    嵌套循环:如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是内层循环需要反复执行自己的循环体而已。

    七:控制循环结构:

    break:完全结束一个循环,跳出循环体。

    continue:只忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环。

    return:结束一个方法,不管这个return处于多少层循环之内。

    八:数组类型

    数组元素具有相同的数据类型,一个数组里只能存储一种数据类型。数组的长度不可改变,可以存储基本数据类型,也可以存储引用数据类型。数组也是一种数据类型,本身是一种引用类型(指针)。只有对数组初始化后才能使用。静态初始化:显示指定每个数组元素的初始值,由系统决定数组长度;动态初始化:只指定数组长度,由系统为数组元素分配初始值。不要同时使用静态初始化和动态初始化。

    foreach循环:用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素。

    数组引用变量只是一个引用,希望在程序中访问数组对象本身,只能通过这个数组的引用变量来访问。实际的数组放在堆中,引用变量是一个局部变量,放在栈内存。








易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!