java数组学习

package 软件包;

import java.util.Scanner;

public class array {
    /*  //注释起始
    public static void main(String[] args){
        double hens[] ={3,5,1,3.5,2,50};//定义一个数组
        //遍历数组
        double totalWeight = 0;//总体重
        for(int i = 0 ; i<hens.length ; i++){
            System.out.println("第"+(i+1)+"个元素的值="+hens[i]);
            totalWeight +=hens[i];
        }
        System.out.println("总体重为"+totalWeight);
    }


    public static void main(String[] args){
        //输入和输出代码
        //double scores[] =new double[5];
        double scores[];//先声明
        scores = new double[5];//再分配空间
        Scanner myScanner = new Scanner(System.in);
        for(int i=0 ;i<scores.length;i++){
            System.out.println("请输入第"+(i+1)+"个元素");
            scores[i]=myScanner.nextDouble();
        }
    }


    String[] arr3 = {"北京","jack"};
    short[] arr4 = new short[3];


    public static void main(String[] args){
        //用数组保存A~Z的英文字母,并输出
        char[] chars = new char[26];
        for(int i = 0 ; i < chars.length ; i++){
            chars[i] = (char) ('A'+i);//'A'+i是int类型,chars是char[]类型,要强制类型转换,chars[i]是char类型
            System.out.print(chars[i]);
        }
    }


    public static void main(String[] args) {
        //求数组的最大值,并找到对应的下标
        int[] arr = {4, -1 , 9 , 10 , 23};
        int max = arr[0];
        int maxi = 0;
        for(int i = 1 ; i < arr.length ; i++){
            if(arr[i] > max) {
                max = arr[i];
                maxi = i;
            }
        }
        System.out.println("max="+max+",maxIndex="+maxi);
    }


    public static void main(String[] args) {
        //数组分配ArrayAssign

        //基本数据类型赋值,赋值方式为值拷贝
        //n2的变化,不会影响到n1
        int n1 = 10;
        int n2 = n1;
        n2 = 80;
        System.out.println("n1="+n1);
        System.out.println("n2="+n2);

        //数组
        //赋值方式为引用传递,赋值方式是地址,arr2的变化会影响arr1
        int[] arr1 = {1 , 2 , 3};
        int[] arr2 = arr1;
        arr2[0] = 4;
        for(int i = 0 ; i<arr1.length ; i++)
            System.out.println(arr1[i]);
    }


    public static void main(String[] args) {
        int arr1[] = {10,20,30};
        int arr2[] = new int[arr1.length];//开辟一个新的空间
        //遍历arr1,把每个元素拷贝到对应的位置
        for(int i = 0; i < arr2.length; i++)
            arr2[i]=arr1[i];
        arr2[0]=100;//修改arr2不会影响arr1
        for(int i = 0; i < arr1.length; i++)
            System.out.println(arr1[i]);
        for(int i = 0; i < arr2.length; i++)
            System.out.println(arr2[i]);
    }


    public static void main(String[] args) {
        //数组逆置
        int arr1[] = {1,2,3,4};
        int t;
        for(int i = 0; i < arr1.length/2; i++) {//arr1.length/2
            t=arr1[i];
            arr1[i]=arr1[arr1.length-i-1];
            arr1[arr1.length-i-1]=t;
        }
        for(int i = 0; i < arr1.length; i++){
            System.out.println(arr1[i]);
        }
    }


    public static void main(String[] args) {
        //数组逆置2,使用辅助数组,把arr中的元素,逆序复制到arr2
        int arr[] = {1,2,3,4};
        int arr2[] = new int[arr.length];
        for(int i = arr.length-1 , j=0 ; i >=0 ; i-- ,j++){
            arr2[j] = arr[i];
        }
        for(int i = 0; i < arr.length; i++){
            System.out.println(arr2[i]);
        }
    }


    public static void main(String[] args) {
        //数组添加元素
        int arr[] = {1,2,3};
        int arrNew[] = new int[arr.length + 1];
        int i;
        for(i = 0; i < arr.length; i++){
            arrNew[i] = arr[i];
        }
        arrNew[i] = 4;
        for(i = 0; i < arrNew.length; i++){
            System.out.println(arrNew[i]);
        }
    }


    public static void main(String[] args) {
        //数组添加
        //创建一个Scanner可以接受用户输入
        //用do-while循环输入
        Scanner myScanner = new Scanner(System.in);

        int arr[] = {1,2,3};

        do {
            int arrNew[] = new int[arr.length + 1];
            int i;
            for (i = 0; i < arr.length; i++) {
                arrNew[i] = arr[i];
            }
            System.out.println("请输入你要添加的元素");
            arrNew[i] = myScanner.nextInt();
            arr = arrNew;
            for (i = 0; i < arr.length; i++) {
                System.out.print(arr[i] + "\t");//用加号连接,\t放在“ ”里
            }
            System.out.println("是否要继续添加 y/n");
            char key = myScanner.next().charAt(0);
            if(key == 'n') break;
         }while(true);
    }
*/  //注释结尾
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值