JAVA基础练习-数组、排序和查找01

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");
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值