// Java/数组/Array01.java
import java.util.Scanner;
public class Array01{
public static void main(String[] args){
double scores[] = new double[5];
Scanner myScanner = new Scanner(System.in);
// 循环从控制台输入值
for (int i = 0; i < scores.length; i++) {
System.out.println("输出值");
scores[i] = myScanner.nextDouble();
}
// 遍历输出值
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
}
}
// Java/Array/Array02.java
public class Array02 {
public static void main(String[] args){
int arr[];
arr = new int[10];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
// Java/Array/Array03.java
int arr[] = {0,1,2,3,4,5};
1.数组是相同类型的组合
但低精度是可以赋给高精度,因为可以进行隐式转换
double arr[] = {1.2, 3.4, 100};
2.数组中的元素,不能将基本数据类型和引用数据类型混用
3.数组初始化后不赋值,每个元素都会附有默认值
int: 0, short 0, byte 0, long 0
float: 0.0, double 0.0, char \u0000
boolean false
String null
4.下标越界访问会报出异常
5.数组是引用类型,数组型的数据是对象
//Array04.java
public class Array04 {
public static void main(String[] args){
char[] chars = new char[26];
for (int i = 0; i < chars.length; i++) {
chars[i] = (char)('A'+i);
}
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i] + " ");
//A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
}
}
}
// Array05.java
public class Array05 {
public static void main(String[] args){
int[] arr = {3,4,5,5,9,4};
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if(max<arr[i]){
max = arr[i];
}
}
System.out.println(max); // 9
}
}
引用传递
,数组赋的值是地址
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
arr2[1]=100;
// Array06.java
public class Array06 {
public static void main(String[] args){
int[] arr1 = {3,4,5,5,9,4};
// 需要新开辟一个空间
int[] arr2 = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
}
}
public class Array07 {
public static void main(String[] args){
int[] arr = {3,4,5,5,9,4};
int len = arr.length;
int temp = 0;
for (int i = 0; i < len / 2; i++) {
temp = arr[len-1-i];
arr[len-1-i] = arr[i];
arr[i] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
将原数组指向新数组后,原数组会被自动垃圾回收
// Array08.java
public class Array08 {
public static void main(String[] args){
int[] arr1 = {3,4,5,5,9,4};
int[] arr2 = new int[arr1.length];
for (int i = arr2.length-1, j = 0; i>=0;i--,j++) {
arr2[j] = arr1[i];
}
arr1 = arr2;
}
}