数组基础

package Javacode.chapter06;

public class Array01 {
    public static void main(String[] args) {
        double[] hens={3,5,1,3.4,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+"平均体重="+(totalWeight/6));
    }
}
package Javacode.chapter06;

import java.util.Scanner;

public class Array02 {
    public static void main(String[] args) {
        //创建一个double数组,大小为5

        //double scores[]=new double[5];
        double scores[];//声明数组,这是scores是null
        scores=new double[5];//分配内存空间,可以存放数据

        Scanner scanner=new Scanner(System.in);
        //循环输入
        for(int i=0;i<scores.length;i++){
            System.out.print("请输入第"+(i+1)+"个元素:");
            scores[i]=scanner.nextDouble();

        }
        System.out.println("数组的元素/值的情况如下:");
        for(int i=0;i<scores.length;i++){
            System.out.println("第"+(i+1)+"个元素:"+scores[i]);
        }
    }
}
package Javacode.chapter06;

public class ArrayDetail {
    public static void main(String[] args) {
        //1、数组是多个相同类型数据的组合,实现对这些数据的统一管理

        //int[] arr1={1,2,3,60,"hello"};错误,String不能自动转换为int类型
        double[] arr2={1.1,2.2,3.3,23.3,100};//int->double(自动转换)

        //2、数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用
        String[] arr3={"北京","jack","milan"};

        //3、数组创建后,如果没有赋值,有默认值
        //int、short、byte、long:0
        //float、double:0.0;char:\u0000
        //boolean:false;String:null
        short[] arr4=new short[3];
        System.out.println("======数组arr4======");
        for(int i=0;i<arr4.length;i++){
            System.out.println(arr4[i]);//输出short默认值0
        }

        //4、使用数组的步骤 1、声明数组并开辟空间;2、给数组各个元素赋值;3、使用数组
        //5、数组的下标是从0开始的

        //6、数组下标必须在指定范围内使用,否则报:下标越界异常,比如 int【】 arr =new int[5];有效下表是0-4
        int[] arr=new int[5];
        System.out.println(arr[5]);//输出时报下标越界错误

        //数组属于引用类型,数组型数据是对象(Object)


    }
}
package Javacode.chapter06;

public class ArrayExercise01 {
    public static void main(String[] args) {
        /*
        创建一个char类型的26元素的数组,分别放置‘A’-‘Z’。
        使用for循环访问所有元素并打印出来
        提示:char类型数据运算‘A'+1->'B'

        思路分析
        1、定义一个数组char[] chars=new char[26]
        2、因为'A'+1=’B‘类推,所以老师使用for来赋值
        3、使用for循环访问所有元素

         */
        char[] chars=new char[26];
        //输入
        for(int i=0;i<chars.length;i++){
            //chars是char[]
            //chars[i]是char
            chars[i]= (char) ('A'+i);//‘A’+i是int,需要强转
        }
        System.out.println("chars数组========");
        //输出
        for(int i=0;i<chars.length;i++){
            System.out.println(chars[i]+" ");
        }
    }
}
package Javacode.chapter06;

public class ArrayExercise02 {
    public static void main(String[] args) {
        //求出一个数组int[]的最大值{4,-1,9,10,23},并得到对应的下标
        int[] arr={4,-1,9,10,23};
        int max=arr[0];//假定第一个元素就是最大值
        int maxIndex=0;//下标
        for(int i=1;i<arr.length;i++){
            if(max<arr[i]){
                max=arr[i];//如果max《当前元素
                maxIndex=i;//把max设置成当前元素

            }
        }
        //当我们遍历这个数组arr后,max就是真正的最大值,maxIndex最大值下标
        System.out.println("max="+max+",maxIndex="+maxIndex);
    }
}

package Javacode.chapter06;

public class ArrayCopy {
    public static void main(String[] args) {
        //将int[] arr1={10,20,30};拷贝到arr2数组
        //要求数据空间是独立的

        int[] arr1={10,20,30};
        //创建一个新的数组arr2,开辟新的数据空间
        //大小aee1.length
        int[] arr2=new int[arr1.length];

        //遍历arr1,把每个元素拷贝到arr2对应的元素位置
        for(int i=0;i<arr1.length;i++){
            arr2[i]=arr1[i];
        }

        //修改arr2(因为开辟的新空间,修改arr2时arr1的值不变
        arr2[0]=100;

        //输出arr1
        System.out.println("+=====arr1======");
        for(int i=0;i<arr1.length;i++){
            System.out.println(arr1[i]);//10,20,30
        }
        System.out.println("========arr2======");
        for(int i=0;i<arr2.length;i++){
            System.out.println(arr2[i]);//100,20,30
        }
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值