数组
数组用来存取固定长度、同类型的数据,可以简单的把数组看成是一个存取数据的大容器。
例如:计算一个公司技术部30名员工的平均薪资、最高/最低薪资情况,不使用数组的的情况下,我们需要最少定义30个变量用来存放30名员工的薪资,然后在求和,计算平均值,最大最小值等等。这样做会很麻烦,在Java中提供数据这样的数据类型后,我们就可以定义一个长度是30的数组变量去存放30名员工的薪资,这样就会比较容易。
声明
- dataType[] arr = {data…}; // 声明一个数组变量并赋值。
- dataType[] arr = new dataType[length]; // 声明一个指定长度的数组。
- dataType[] arr = new dataType[]{data…};
注意:
- Java中的数组在声明时必须指定数组的长度。
- 可以通过不同的方式来指定数组的长度,例如方式1/3声明方式表示数组的长度根据{}内的数据的个数来决定。方式2是指定了数组长度,多用于数组数据动态赋值时。
- 当只知道数据时选用方式1/3声明数组,当只知道长度时选用方式2声明数组。
数组内置属性
length
arr.length表示获取数组的长度。
数组使用
Java中想要操作数组中的数据必须根据数组的下标(索引)去操作对应下标的数据。
注意:
- 数组的下标是从0开始的。
- 取值/赋值的时也必须根据下标去操作。
数组的特点
数组是有序的、可重复的数据集合的载体。
有序:数组中的元素会按照插入的顺序进行排序。
可重复:同一数组中的元素允许同时存在多个相同的元素,但下标位置不同。
循环语句
顺序执行的代码只能被执行一次,如果需要同样的操作执行多次时,就需要使用循环语句。
循环作用
- 数组/集合遍历操作。
- 数组/集合动态赋值操作。
- 执行多次重复的内容。
while
while是Java中最基本的循环。
语法:
while(循环条件){
...
}
循环条件返回值必须是Boolean值,返回true时则循环。
循环执行顺序:
- 先判断循环的条件是否成立。
- 成立则进行循环内的代码执行,执行完毕后继续判断循环条件是否成立,直到循环条件返回false后结束循环。否则结束循环。
do...while
对于while而言,如果循环的条件不成立则不进入循环,当需要无论循环条件是否成立都至少执行一次时,则需要使用do while循环。
语法:
do{
...
} while(循环条件);
循环执行顺序:
- 先执行do{}内的代码。
- 判断循环的条件是否成立。
- 成立则接着执行do{}内的代码,否则就结束循环。
while与do while的区别:
- while先判断循环条件是否成立,成立才执行循环内的代码,否则一次都不执行。
- do while 首先先执行do{}内的代码,然后才判断循环的条件是否成立。
- while执行循环的次数为{0,n}次,do while{1,n}次。
for
所有循环结构都可以用while 或者do...while表示,但 Java 提供了另一种循环语句 for 循环,使一些循环结构变得更加简单。
语法:
for(初始化; 循环条件; 更新/步长){
}
初始化:一般都是初始化控制循环次数的变量。
循环条件:控制循环执行的次数的条件语句。
更新/步长:更新初始化中声明的变量 一般为自增或自减。
执行顺序:
- 先初始化步骤。
- 判断循环的条件是否满足。
- 循环条件成立后,执行循环内的代码,然后进行更新。否则则结束该循环。
break
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 嵌套循环跳出最里层的循环,并且继续执行该循环下面的语句。
continue
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到循环条件的判断语句。
循环组成
- 循环变量初始化(初始化表达式)。
- 循环出口(布尔表达式)。
- 循环增量/减量(步进表达式)。
- 循环逻辑内容(循环体)。