int[] nums = new int[5]{1,3,5,7,9};/ /の書き方が間違っています。 静的初期化と動的初期化を同時に使用することはできません。
2.3 静的初期化をいつ使用するか、動的初期化をいつ使用するか?
どのようなデータを保存する必要があるかが 事前にわかっている場合は 、静的初期化 を選択します;
わからない場合は データを保存するときは、動的初期化のみを使用できます。;
Java では、以下に示すように、データ型に初期値が設定されます。
データ型
##初期値
バイト、ショート、int
##0
long
0L
##float
0F
ダブル
# #0.0D
ブール値
false
#char
'\u0000' (空を示します)
参照データ型
null
三、数组基本操作(一维数组)
3.1 数组基本操作:
获取元素: 元素类型 变量 = 数组名[index];
设置元素: 数组名[index] = 值;
遍历数组元素: 建议使用for循环,因为for循环事先知道循环的次数。
数组长度: int len = 数组名.length; length是属性,不是方法.
索引范围: 从0开始,逐一递增。 [0,数组名.length-1]
3.2 操作数组常见异常:
NullPointerException:空指针异常(空引用)。
出现该异常的原因:当数组还未初始化,就直接操作数组
如以下代码:
String[] bs = null;
System.out.println(bs.length)
ログイン後にコピー
ArrayIndexOutOfBoundsException:数组的索引越界异常。
出现该异常的原因:根据索引取出数据元素时,输入了超出数组索引范围之外的值。
如下代码:
int[] nums = {1,3,5,7,9};
int a = nums[4];
ログイン後にコピー
3.3 获取数组最大最小元素
/**
* 求数组最大值
*
* @param nums
* @return
*/
public static int getMax(int[] nums) {
int result = 0;
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
if (result < num) {
result = num;
}
}
return result;
}
/**
* 求数据最小值
*
* @param nums
* @return
*/
public static int getMin(int[] nums) {
int result = 0;
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
if (i == 0) {
result = num;
}
if (result > num) {
result = num;
}
}
return result;
}
public static String[] reversedOrder(String[] nums) {
String[] result = new String[nums.length];
int index = 0;
for (int i = nums.length - 1; i >= 0; i--) {
result[index] = nums[i];
index++;
}
return result;
}