day04

数组

/*
    数组:是一块连续固定大小的内存空间,有着索引的概念

    定义数组的语句格式:
        数据类型[] 数组名;【推荐】
        数据类型 数组名[];

    如果只是定义一个数组的话,没有给初始化值,相当于一个变量没有值,是不能够直接使用的
    如何对一个数组进行初始化?
        1、动态初始化:我们自己给定数组的大小,数组中的默认值由JVM来赋值
        2、静态初始化:我们自己给元素值,由JVM根据我们给的值数量来设置数组的大小

    动态初始化语句定义格式:
        数据类型[] 数组名 = new 数据类型[元素的个数];

 */
public class ArrayDemo1 {
    public static void main(String[] args) {
        //定义一个存储int类型元素的数组
        //数据类型 变量名 = 初始化值;
        int[] arr = new int[3];
        /*
            左边:
                int: 表示该数组中元素的数据类型,需要一致
                []: 表示一个一维数组
                arr:是数组名,符合标识符变量的命名规则
            右边:
                new:将来看到new,表示在堆内存中开辟一个空间
                int: 表示该数组中元素的数据类型,需要一致
                []: 表示一个一维数组
                3: 表示该数组最大只能存储3个int类型的元素
         */

        System.out.println(arr); // [I@4554617c 地址值【16进制】
        //数组有索引的概念,从左向右,索引下标从0开始编号,我们可以通过这个索引下标来定位到具体位置的元素
        //语法格式:数组名[索引]
        //获取数组中的第一个元素
        int i = arr[0];
        System.out.println(i);
        //获取数组中的第二,三个元素
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        //我们以后使用数组的时候,肯定是希望将我们自己元素值放在数组中
        //将数组第一个元素值进行修改
        arr[0] = 100;
        System.out.println(arr[0]);

    }
}
/*
    定义两个数组,先定义一个数组,赋值,输出。
    然后定义第二个数组的时候把第一个数组的地址赋值给第二个数组。
    然后给第二个数组赋值,再次输出两个数组的名及元素。
    1、当基本数据类型当作参数传递的时候,传递的是具体的数值,不会对原本的变量值进行修改影响
    2、当引用数据类型当作参数传递的时候,传递的是地址值,方法内部可能会对地址值对应的堆内存空间中的数值进行修改。
    这种情况是使用地址值对第一个数组进行修改,不会new一个新的数组对象



 */
/*
   
    数组的静态初始化:
        数据类型[] 数组名 = new 数据类型[]{元素1,...};
        举例:int[] arr1 = new int[]{11,22,33,44,55};
        简化写法:
            数据类型[] 数组名 = {元素1,...};

 */

数组的遍历

//java中的数组都有一个属性,length属性,我们可以直接获取数组的该属性得到数组的长度【元素的个数】
        //语句格式:数组名.length
 for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

方法

/*
    方法的定义:
        语句定义格式:
            修饰符 返回值类型 方法名(参数类型 参数名,...){
                方法实现逻辑代码;
                return 返回值;
            }

    名词解释:
        修饰符:public static  这两天只需要记住一个固定写法即可,后面学习过程中会改变这个修饰符
        返回值类型:将来调用者调用完方法后所得到的内容
        方法名:符合标识符的命名规则,将来通过方法名来确定调用的方法类型
        参数:
            形式参数【形参】:指的是在方法定义的小括号中的参数名
            实际参数【实参】:指的是将来实际调用方法时所传入的具体的值
        方法实现逻辑代码:调用方法要干的事情
        return:用于结束整个方法,将结果返回给调用者。
        返回值:将来方法调用完,需要返回给调用者的值。

    需求:定义一个求两个int类型的数之和的方法

    注意:
        1、方法和方法之间是平级关系,方法不能嵌套定义
        2、方法不调用不执行
        3、方法调用的时候,只需要传值就可以,不需要写数据类型
        4、若方法有返回值的话,需要使用变量接受该返回值,或直接使用
        5、如果方法有明确的返回值,一定要有return带回一个值,且类型和定义时返回值类型保持一致【或父子关系】

 */

方法的重载

/*
    在同一个类中,方法名相同,只是方法的参数列表【1.参数类型 2.参数个数】不同,这个现象叫做方法的重载,跟返回值无关
    将来调用的时候,JVM会根据方法名和参数列表一起定位到需要调用的方法
 */
public static void sum(double d1,double d2){
    System.out.println(d1+d2);
}

public static void sum(int x, int y, int z) {
    System.out.println(x + y + z);
}

public static void sum(int x, int y) {
    System.out.println(x + y);
}
posted @   先瞄准再开枪  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示