黑马程序员_Java语言基础2

来源:互联网 发布:教学钢琴的软件 编辑:程序博客网 时间:2024/06/05 12:05
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

五、程序流程控制(语句)

5.1、判断结构

       If语句

       If语句的三种结构:

       1).if(条件表达式)

         {

          执行语句;

}

       2) if(条件表达式)

{

    执行语句;

}

else

{

    执行语句;

}

3) if(条件表达式)

{

     执行语句;

}

else if(条件表达式)

{

     执行语句;

}

......

else

{

     执行语句;

}

 

If else结构简写格式:  变量 = (条件表达式)?表达式1:表达式2

三元运算符好处:可以简化if else 代码;  弊端:因为是一个运算符,所以运算完必须要有一个结果。

 

5.2、选择结构

格式:switch(表达式)

{

     case 取值1

            执行语句;

            break

     case 取值2

            执行语句;

            break

            .

            .

            .

     default:

            执行语句;

            break

}

       switch语句特点:

       1). switch语句选择的类型只有四种:byteshortintchar

       2). case之间与default没哟顺序,先执行第一个case,没有匹配的case执行default

3). 结束switch语句有两种情况:遇到break,执行到switch语句结束;

4). 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行到可以执行的语句,直到遇到break或者switch结尾结束。

示例:

    黑马程序员_Java语言基础2 - s1160621596 - s1160621596的博客

运行结果:A B C

由于default语句和case 1语句最后没有添加break;当switch语句没有找到对应的条件后,执行default语句输出:A,执行default语句后,不再判断条件而是直接继续执行,知道遇到break后退出,所以最后运行结果为:A B C.

 

Ifswitch语句有些相像,怎样选择呢?

如果判断的具体数值不多而且符合byte,short,int,char这四种类型,虽然两

语句都可以用,但建议使用switch语句,因为高效;其他情况,对区间判断,对结果为boolean类型判断,使用ifif使用范围更广。

 

5.3、循环结构

代表语句:while , do while, for;

1).while语句格式:

while(条件表达式)

{

    执行语句;

}

 

2).do while语句格式:

do

{

    执行语句;

}

while (条件表达式);

do while的特点是:无论条件是否满足,循环体至少被执行一次。

 

3).for语句格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

    执行语句;

}

注:

A、for里面的连个表达式的执行顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行操作后的表达式,接着继续判断循环条件,重复整个过程,知道条件不满足为止;

B、whilefor可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用;

C、最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件来控制循环。

 

5.4、其他流程控制语句

    Break(跳出)&continue(继续)

    Break语句使用范围:选择结构和循环结构

    Continue语句使用范围:循环结构。

 注:

A、这两个语句离开应用范围存在就没有意义;

B、这两个语句单独存在,其下面不能有语句,因为执行不到;

Ccontinue语句是结束本次循环开始下次循环;

   D、标号的出现,可以让这两个语句作用于指定的范围。

六、数组

6.1、数组的定义

数组:同一种类型数据的集合。其实数组就是一个容器。

 

使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

6.2、数组定义的格式

格式一:元素类型 [] 数组名 = new 元素类型[元素个数或者数组长度]

例:int [] arr = new arr[5];

 

格式二:元素类型 [] 数组名 = new元素类型[]{元素1,元素2…};

例:int [] arr = new arr[]{2,5,8,1,4};

    int[] arr ={2,5,8,1,4};

 

6.3、数组的应用

1)、定义一个数组,并打印出数组中的元素;

    黑马程序员_Java语言基础2 - s1160621596 - s1160621596的博客
 

 

2)、获取数组中的最大值

    黑马程序员_Java语言基础2 - s1160621596 - s1160621596的博客
 

3)、数组排序

A.选择排序:

    黑马程序员_Java语言基础2 - s1160621596 - s1160621596的博客
 

B.冒泡排序

    黑马程序员_Java语言基础2 - s1160621596 - s1160621596的博客


6.3、二维数组

二维数组的定义格式:

格式1int[][] arr = new int[3][2];

解释:定义了一个名称为arr的二维数组,该二维数组中有3个一维数组,每一个一维数组中有两个元素,以为数组的名称分别为:arr[0]arr[1]arr[2]

给第一个一维数组1角标赋值为25写法:arr[0][1] = 25.

格式2int[][] arr = new int[3][];

解释:二维数组中有3个一维数组,每一个数组都是默认初始化值null

可以对这三个一维数组分别初始化:
    arr[0] = new int[3];

arr[1] = new int[2];

arr[2] = new int[1];


例:int[] x,y[] -->int[] x;

      int[] y[]; x一维数组,y二维数组;



---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------