栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day04整理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day04整理

1.什么是NPE

NPE(NullPointerException)是指编程语言中的空指针异常

什么情况下会发生NPE?

  调用 null 对象的实例方法。

  访问或修改 null 对象的字段。

  将 null 作为一个数组,获得其长度。

  将 null 作为一个数组,访问或修改其时间片。

  将 null 作为 Throwable 值抛出

如何防止NPE?

 当你使用指针进行操作时,如果不确定指针是否为null,应该对指针做非空判断,判断指针为null时,使用new关键字开辟内存空间

if(指针 == null){指针 = new ...}

2.new关键字的作用

1.用于在堆区造数组
new 数据类型[长度]
数组的构造器是系统默认就有的,任何一种数据类型都可以使用数组构造器构造数组
例如:new int[10]
2.用于在堆区造对象
new 构造方法()
对象的构造器是类里面提供的
例如:new Student();
这个new后面的Student()是一个方法,是编译器给你自动生成的,在字节码文件中可以看到

3.数组和对象的区别

(1)创建方式不同:数组表示有序数据的集合,而对象表示无序数据的集合。数组的数据没有”名称”(name),对象的数据有”名称”(name)。

(2)调用方法不同

(3)对象键值唯一,数组可以重复

(4)对象没有长度,不能用for循环

4.基本数据类型对应的引用数据类型

数组

String

5.正序遍历数组,倒序遍历数组

6.数组求和 

 

7.数组求最大值和最小值 

8.数组求平均数 

9.数组扩容的策略 

 

10.数组中插入元素 

11.数组中删除元素 

 

12.反转数组

13.使用冒泡排序算法排序数组

 

14.官方的Arrays工具类

 * Arrays:针对数组进行操作的工具类。比如说排序和查找。没有构造,方法全部是静态。
 
 * 1:public static String toString(int[] a) 把数组转成字符串(不只是int[]类型,只要是数组类型就可以用)
 * 2:public static void sort(int[] a) 对数组进行排序
 * 3:public static int binarySearch(int[] a,int key) 二分查找
补充:
 * 4:public static List asList(T... a):把数组转成集合
 * 
 * 注意事项:
 *         虽然可以把数组转成集合,但是集合的长度不能改变。
        // 定义一个数组
        List list = Arrays.asList("hello", "world", "java");
        list.set(1, "javaee");
 
        for (String s : list) {
            System.out.println(s);
        }

15.二位数组

 

16.类和对象

        类是对象的模板,类是方法区的字节码文件;

        对象是new关键字在堆区开辟的内存空间。

17.成员变量

成员变量不能使用类名操作

数组中所有元素都是同一种数据类型
//数组中的元素没有名字,只有索引
//需要一种数据类型可以高度自定义的数据结构
//这里变量在类的里面,函数的外面
//这些变量使用static修饰

18.构造方法

  就是类用来构造对象时调用的方法,分为无参构造和有参构造。

        例如:new Student();

                这个new后面的Student()是一个无参构造方法,是编译器给你自动生成的,在字节码文件中可以看到他。

        

        对象的构造方法可以自定义

                                                                1、构造方法使用public修饰

                                                                2、构造方法没有返回值类型(连void都没有)

                                                                3、构造方法的名字必须与当前类名相同

                                                                4、构造方法的内部有一个特殊的this指针,指向当前对象

                                                                5、如果一个类没有手动指定一个构造方法,则编译器会提供一个默认的无参构造方法;如果手动指定了构造方法,则编译器将不再提供默认的构造方法。

19.成员方法

        访问修饰符        返回参数类型        方法名(形参列表){
                语句;

                return 返回值;

        }

         为对象实现特定功能,主要是提高代码的复用性

        成员方法的使用:

 

20.this关键字

        作用:1、当成员变量和局部变量重名的时候,使用this关键字区分;

         2、哪个对象调用了this所在的函数,this就指代哪个对象

         2、哪个对象调用了this所在的函数,this就指代哪个对象

 

 

 

        stu2和stu3分别调用Student()构造方法将“关羽”和“赵云”写入两个对象的name里,this用来指代不同的对象。

静态函数、成员方法、成员变量、构造方法区别:

        

 

        调用方法:

                构造方法被调用:

                                new 构造方法的方法名()

 

 

                成员方法被调用:

                                对象指针.方法名();

 

                静态方法被调用:

                                类名.静态方法名();

21.什么是零值

      定义数据类型后的初始默认值:

                byte 0;

                short 0;

                int 0;

                long 0;

                float 0.0;       

                double 0.0

                char u0000

                Boolean false;

                string null。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995835.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号