java基础应用

                                                Java基础应用

知识网图:

一、引言

本章内容主要介绍java中的基础应用,包括数组,Arraylist,方法以及Debug的使用

二、数组

1.概念

        数组是一种数据结构,用于存储一组相同类型的元素(值或变量),且它的大小是固定的。每个元素可以通过索引来访问,索引从0开始计数。数组可以是一维或多维的,多维数组也被称为矩阵。

2.数组的定义格式

第一种格式

数据类型[] 数组名

示例:

int[] arr;        
double[] arr;      
char[] arr;
 第二种格式

数据类型 数组名[]

示例:

int arr[];
double arr[];
char arr[];

3.数组的初始化

        3.1 数组的动态初始化:数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。

               格式:数据类型[] 数组名 = new 数据类型[数组长度];

  • 等号左边:

    • int:数组的数据类型

    • []:代表这是一个数组

    • arr:代表数组的名称

  • 等号右边:

    • new:为数组开辟内存空间

    • int:数组的数据类型

    • []:代表这是一个数组

    • 5:代表数组的长度

        3.2 数组的静态初始化:在创建数组时,直接将元素确定。

  • 完整版格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};

  • 简化版格式:数据类型[] 数组名 = {元素1,元素2,...};

4.数组元素访问

        4.1 索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。

        4.2 访问数组元素格式:数组名[索引];

5.数组操作的常见问题:

        5.1 索引越界:指定的索引超出数组的长度范围,程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。(解决方案:将错误的索引修改为正确的索引范围即可! )

        5.2 空指针异常:arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。(解决方案:给数组一个真正的堆内存空间引用即可!)

6.数组遍历查找

        此处不再赘述。

三、Arraylist

1.概念

        ArrayList是Java中一个常用的动态数组实现类,它提供了比普通数组更加灵活和强大的功能。ArrayList可以自动扩容,根据需要动态增加元素。它的容量会自动增长,以适应存储元素的需求。ArrayList支持使用索引快速访问元素,并提供了许多常用的操作方法,如添加、删除、修改和查找等。

2.Arraylist与数组的区别:

        相同点:都是存储数据的容器

        不同点:数组的容量是固定的,无法动态改变,而ArrayList的容量是动态的。数组可以保存基本数据类型,而ArrayList不可以。

3.Arraylist的常用方法:

        add(Object element):向ArrayList集合中的添加元素。

        size():返回列表中的元素个数。

        get(int index):返回列表中指定位置的元素,index从0开始。

        add(int index, Object element):在列表的指定位置插入指定元素。

        set(int i, Object element):将索引i位置元素替换为元素element并返回被替换的元素。

        clear():从列表中移除所有元素。

        isEmpty():判断列表是否包含元素,不包含元素则返回 true,否则返回false。

        contains(Object o):如果列表包含指定的元素,则返回 true。

        remove(int index):移除列表中指定位置的元素,并返回被删元素。

        remove(Object o):移除集合中第一次出现的指定元素,移除成功返回true,否则返回false。

四、方法

1.概念

        方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。

2.方法的定义与调用

        2.1 无参方法的定义与调用(先定义后调用)           

  • 定义格式:

    public static void 方法名 (   ) {
        // 方法体;
    }
  • 调用格式:

    方法名();

        2.2 带参方法的定义与调用

  • 定义格式:

    参数:由数据类型和变量名组成 :数据类型 变量名

    public static void 方法名 (参数1) {
        方法体;
    }
    ​
    public static void 方法名 (参数1, 参数2, 参数3...) {
        方法体;
    }
  • 调用格式:

    方法名(参数);
    ​
    方法名(参数1,参数2);

        2.3 方法的通用格式    

  • 格式:

    public static 返回值类型 方法名(参数) {
       方法体; 
       return 数据 ;
    }

        注:明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型;明确参数:主要是明确参数的类型和数量

      

3.形参和实参

        3.1 形参:方法定义中的参数 a

                public static void method(int a){}

                等同于变量定义格式,例如:int number

        3.2 实参:方法调用中的参数 b

                method(b);

                等同于使用变量或常量,例如: 10 number

4.方法的重载

        4.1 概念

        同一个类中的多个同名方法的参数不同(数量不同或形参数据类型不同)。

   示例:

         public class MethodDemo {
            public static void fn(int a) {
                //方法体
            }
            public static int fn(double a) {
                //方法体
            }
        }

        public class MethodDemo {
            public static float fn(int a) {
                //方法体
           }
            public static int fn(int a , int b) {
                //方法体
            }
        }

          4.2 方法的参数传递           

  • 基本数据类型的参数,形式参数的改变,不影响实际参数(依据:每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失)

  • 对于引用类型的参数,形式参数的改变,影响实际参数的值(依据:引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果 )

五、Debug

1. 概念

        Debug是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。

2.操作流程  

  • 如何加断点

    • 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可

  • 如何运行加了断点的程序

    • 在代码区域右键Debug执行

  • 看哪里

    • 看Debugger窗口

    • 看Console窗口

  • 点哪里

    • 点Step Into (F7)这个箭头,也可以直接按F7

  • 如何删除断点

    • 选择要删除的断点,单击鼠标左键即可

    • 如果是多个断点,可以每一个再点击一次。也可以一次性全部删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值