**赋值:**array1 与 array2 地址值相同,都指向了堆空间中唯一一个数组实体
public class ArrayTest{
public static void main(String[] args){//alt + /
//声明变量
int [] array1,arry2;
//初始化数组
array1 = new int[]{2,3,5,7,11,13,17,19};
//显示array1的内容
for(int i = 0;i<array1.length;i++){
System.out.println(array1[i] + "/t");
}
//数组变量的赋值:
array2 = array1;
//打印array1:
for(int i = 0;i < array2.length;i++){
if(i % 2 == 0){
array2[i] = i;
}
}
}
}
//array1 与 array2 地址值相同,都指向了堆空间中唯一一个数组实体
**复制:**array2 复制与 array1 地址值不同,指向堆空间中不同的数组实体
public class ArrayTest{
public static void main(String[] args){//alt + /
//声明变量
int [] array1,arry2;
//初始化数组
array1 = new int[]{2,3,5,7,11,13,17,19};
//显示array1的内容
for(int i = 0;i<array1.length;i++){
System.out.println(array1[i] + "/t");
}
//数组变量的复制:
int [] array2 = new int[array1.length];
for(int i = 0;i < array2.length;i++){
array2[i] = array1[i];
}
//打印array1:
for(int i = 0;i < array2.length;i++){
if(i % 2 == 0){
array2[i] = i;
}
}
}
}
//array2 复制与 array1 地址值不同,指向堆空间中不同的数组实体
反转:
publc class ArrayTes1 {
public static void main(String[] args){
String[] arr = new String[]{"aa","bb","cc","dd","ee","ff"};
//数组的反转方法1:
for(int i = 0;i < arr.length / 2;i++){
String temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
//方法2:
for(int i = 0,j = arr.length - 1;i <j;i++,j--){
String temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//遍历
for(int i = 0,i < arr.length;i++){
System.out.print(arr[i] + "/t")
}
}
}
查找(线性查找):
publc class ArrayTes1 {
public static void main(String[] args){
String[] arr = new String[]{"aa","bb","cc","dd","ee","ff"};
//线性查找:
String dest = "bb";
boolean isFlag = true;
for(int i = 0;i < arr.length;i++){
if(dest.equals(arr[i])){
System.out.println("找到指定元素,位置为:" + i);
isFlag = false;
break;
}
}
if(isFlag){
System.out.println("没有找到");
}
}
}
二分法查找: 适用于有序数组
publc class ArrayTes1 {
public static void main(String[] args){
int[] arr2 = new int[]{-98,-34,-1,3,5,24,75,105,188,345};
//二分法查找:
int[] dest1 = -34;
int head = 0;//初始首索引
int end = arr2.length - 1;//初始末索引
blooean isFlag1 = true;
while(head <= end){
int middle = (head + end)/2;
if(dest1 == arr2[middle]){
System.out.println("找到了指定元素,位置为:" + middle);
isFlag = false;
break;
}else if(arr2[middle] > dest1){
end = middle - 1;
}else if(arr2[middle] < dest1){
head = middle + 1;
}
}
if(isFlag1){
System.out.println("没有找到");
}
}