您的位置:首页 > 编程语言 > Java开发

Java基础知识 四 (数组)

2015-11-09 10:25 267 查看
JAVA- 数组

(1)数组:存储同一种数据类型的多个元素的容器。

(2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。(编号的专业叫法:索引)

(3)定义格式

A:数据类型[] 数组名;

B:数据类型 数组名[];

(4)数组的初始化

A:动态初始化

只给长度,系统给出默认值

举例:int[] arr = new int[3];

B:静态初始化

给出值,系统决定长度

举例:int[] arr = new int[]{1,2,3};

简化版:int[] arr = {1,2,3};

(5)Java的内存分配

A:栈 存储局部变量

B:堆 存储所有new出来的

C:方法区

D:本地方法区(系统相关)

E:寄存器(CPU使用)

注意:

a:局部变量在方法定义中或者方法声明上定义的变量。

b:栈内存和堆内存的区别

栈:数据使用完毕,就消失。

堆:每一个new出来的东西都有地址

每一个变量都有默认值

byte,short,int,long 0

float,double 0.0

char '\u0000'

boolean false

引用类型 null

数据使用完毕后,在垃圾回收器空闲的时候回收。

(6)数组的常见操作

A:遍历

方式1:

public static void printArray(int[] arr) {
for (int x = 0; x < arr.length; x++) {
System.out.println(arr[x]);
}
}
方式2:

public static void printArray(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
System.out.println(arr[x] + "]");
} else {
System.out.println(arr[x] + ", ");
}
}
}


B:最值

最大值:

public static int getMax(int[] arr) {
int max = arr[0];
for (int x = 1; x < arr.length; x++) {
if (arr[x] > max) {
max = arr[x];
}
}
return max;
}


最小值:

public static int getMin(int[] arr) {
int min = arr[0];

for (int x = 1; x < arr.length; x++) {
if (arr[x] < min) {
min = arr[x];
}
}
return min;
}
C:逆序

方式1:

public static void reverse(int[] arr) {
for (int x = 0; x < arr.length / 2; x++) {
int temp = arr[x];
arr[x] = arr[arr.length - 1 - x];
arr[arr.length - 1 - x] = temp;
}
}


方式2:

public static int reverse(int[] arr) {
for (int start = 0, end = arr.length - 1; start <= end; start++, end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
D:查表

public static String getString(String[] strArray, int index) {
return strArray[index];
}
E:基本查找

方式1:

public static int getIndex(int[] arr, int value) {
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
return x;
}
}
return -1;
}


方式2:

public static int getIndex(int[] arr, int value) {
int index = -1;
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
index = x;
break;
}
}
return index;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: