1、 创建一个 char 类型的 26 个元素的数组,分别 放置'A'-'Z'。使用 for 循环访问所有元素并打印出来。
提示:char 类型 数据运算 'A'+2 -> 'C
public class ArrayExercise01 {
public static void main(String[] args) {
char[] chars = new char[26];
for(int i = 0;i < chars.length;i++){
chars[i] = (char) ('A' + i);
}
System.out.println("输出数组");
for(int i = 0;i < chars.length;i++){
System.out.print(chars[i]+" ");
}
}
}
2、 请求出一个数组 int[]的最大值 {4,-1,9, 10,23},并得到对应的下标。
public class ArrayExercise02 {
public static void main(String[] args) {
int[] nums = new int[]{4,-1,9, 10,23};
int maxNum=nums[0];//假设第一个元素就是最大值
int maxNumsIndex = 0;//最大值的索引
for (int i = 0; i < nums.length; i++) {
if(maxNum < nums[i]){
maxNum = nums[i];
maxNumsIndex = i;
}
}
System.out.println("该数组的最大值为:" + maxNum + ",它的下标为:" + maxNumsIndex);
}
}
3、将 int[] arr1 = {10,20,30}; 拷贝到 arr2 数组, 要求数据空间是独立的.
public class ArrayExercise03 {
public static void main(String[] args) {
int[] arr1 = new int[]{10,20,30};
int[] arr2 = new int[arr1.length];
//将arr1的数据拷贝给数组arr2
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
System.out.println("输出数组arr2的值");
//遍历数组arr2
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i]+" ");
}
}
}
4、 要求:把数组的元素内容反转。 (包含逆序赋值方式反转)
arr {11,22,33,44,55,66} --反转为--> {66, 55,44,33,22,11}
public class ArrayReverse {
public static void main(String[] args) {
//方式一
// int[] arr = new int[]{11,22,33,44,55,66};
// int temp = 0;
// int len = arr.length;//数组长度
// for(int i = 0;i < len/2;i++){
// temp = arr[i];
// arr[i] = arr[len-1-i];
// arr[len-1-i] = temp;
// }
// //遍历反转后的数组并输出
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i] + " ");
// }
//方式二:使用逆序赋值方式
int[] arr = new int[]{11,22,33,44,55,66};
//先创建一个新的数组 arr2 ,大小 arr.length
int[] arr2 = new int[arr.length];
//逆序遍历 arr
for(int i = arr.length-1,j = 0;i >= 0;i--,j++){
arr2[j] = arr[i];
}//当 for 循环结束,arr2 就是一个逆序的数组 {66, 55, 44,33, 22, 11}
//让 arr 指向 arr2 数据空间, 此时 arr 原来的数据空间就没有变量引用
// 会被当做垃圾,销毁
arr = arr2;
for(int i = 0;i < arr2.length;i++){
System.out.print(arr[i] + "\t");
}
}
}