java基本概念-4

1.什么是NPE,什么情况下会发生NPE如何防止NPE?

当你使用指针进行操作的时候,如果不确定指针是否为null应该对指针做非空判断,判断指针为nu11时,使用new关键字开辟内存空间if(指针==null){指针=new....}



2. new关键字的作用

  1. 用于堆区造数组

New 数据类型[长度]:

数组的构造器是系统默认就有的,任何一种数据类型都

可以使用数据构造器来构造数组

例如: new int[10]

  1. 用于堆区造对象

New 构造方法():

对象的构造器是类里面提供的

例如:new Student()

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

对象的构建方法可以自定义,自定义参数

  1. 构造方法使用public修饰
  2. 构造方法没有返回值类型(连void都没有)
  3. 构造方法的名字必须与当前类名相同
  4. 构造方法的内部都要一个this指针,指向当前对象
  5. 如果一个类没有手动指定构造方法,则编译器会提供一个默认的无参构造方法,如果手动指定了构造方法,则编译器将不在提供默认的无参构造方法。


3.数组和对象的区别

1、数组表示有序数据的集合,而对象表示无序数据的集合。
2、数组的数据没有”名称”,但是有对应的索引;对象的数据有”名称”(属性名),而对象因为是无序数据的集合,所以不存在索引。


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

    1> byte       ------    Byte
                            2> short      ------   Short
                            3> int          ------    Integer
                            4> long       ------    Long
                            5> char       ------    Character
                            6> float       ------    Float
                            7> double   ------    Double
                            8> boolean ------    Boolean   
 



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

 



6.数组求和



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

 



8.数组求平均数



9.数组扩容的策略

定义一个新数组,数组的长度自定义但是比要扩容的数组大,将原数组的元素坐标一一对应引入新数组,最后将新数组的地址给旧地址



10.数组中插入元素



11.数组中删除元秦



12.反转数组



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



14.官方的Arrays工具类

Arrays类的常见操作

  1. 排序 : sort()
  2. 查找 : binarySearch()
  3. 比较: equals()
  4. 填充 : fill()
  5. 转列表: asList()
  6. 转字符串 : toString()
  7. 复制: copyOf()



15.二维数组

 二维数组其实就是一个特殊的一维数组,一维数组中每个元素就是一个一维数组



16.类和对象

类是对现实生活中一类具有共同属性和行为的事物的抽象
类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
简单理解:类就是对现实事物的一种描述

类是对象的模板。它定义对象的属性,并提供用于以创建对象的构造方法以及操作对象的普通方法。

类也是一种数据类型。可以用它声明对象引用变量。对象引用变量中似乎存放了一个对象,但事实

上,它包含的只是对该对象的引用。严格地讲,对象引用变量和对象是不同的,但是大多数情况下,

它们的区别是可以忽略的。

对象是类的实例。可以使用new操作符创建对象,使用点操作符(.)通过对象的引用变量来访问该

对象的成员。
 



17.成员变量

成员变量是在类体中定义的变量,即全局变量,成员变量用于定义对象的状态。



18.构造方法

    定义:就是类构造对象时调用的方法,主要用来实例化对象。构造方法分为无参构造方法、有参构造方法。
    概念:构方法是一种特殊的“成员方法”
         1,构造方法作用:(1)构造出来一个类的实例 (2)对构造出来个一个类的实例(对象)初始化
         2,构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有
         3,主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的
         4,类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法
         5,不能被static、final、synchronized、abstract和native修饰
         6,构造方法在初始化对象时自动执行,一般不能显式地直接调用.
            当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应
            完成构造函数的调用]
         7,构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动
               但是经常将他设计为进行各种初始化活动,比如初始化对象的属性
         8,构造代码块:
               (1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行
                  (2)构造代码块和构造函数的区别:
                       构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化
         9,自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。
                  如果写了一个有参的构造方法,就一定要写无参构造方法。一般情况下,我们自定义的类都要手动给出无参构造方法。
 



19.成员方法

成员方法就是对象所具有的动态功能。Java 类中方法的声明采用以下格式:
     访问修饰符 修饰符 返回值类型 方法名称 (参数列表)  {方法体}
访问修饰符 : 可以使用四种不同的访问修饰符中的一种,包括public、 protected、无修饰符和 private。
修饰符:是对方法特性的描述
返回值类型:表示方法返回值的类型。如果方法不返回任何值,它必须声明为 void(空)。Java 技术对返回值是很严格的
方法名称:可以是任何合法标识符,并带有用已经使用的名称为基础的某些限制条件。
参数列表:允许将参数值传递到方法中。列举的元素由逗号分开,而每一个元素包含一个类型和一

花括号内是方法体,即方法的具体语句序列。
 



20. this 关键字

(1)this代表当前对象的一个引用。所谓当前对象,指的是调用类中方法或属性的那个对象。

(2)this只能在方法内部使用,表示对“调用方法的那个对象”的引用。但要注意,如果在方法内部调用同一个类的另一个方法,就不必使用this,直接调用即可。当前方法中的this引用会自动应用于同一类中的其他方法。

(3)this不能用于静态方法。main方法也是静态的,所以this也不能用于main方法。

(4)可以使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句。并且,除了构造器之外,编译器禁止在其他任何方法中调用构造器。



21.什么是零值

   所谓零值就是当前变量对应的内存空间中,所有的二进制为都是"0",这就是"0"值。
    "0"值最重要的是对应数据对外效果,不同的数据类型"0"值是不一样的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值