Java基础知识

1.Java中的几种数据类型
除了8种简单数据类型之外的所有数据类型都被称为引用数据类型,引用数据类型变量的内存大小统一为4字节,记录的是其引用对象的地址。

2.全局变量与局部变量
实例变量、类变量、常量都是属于成员变量的,成员变量又被称为全局变量

被static关键字修饰的变量,叫类变量或者静态变量,类变量被声明为public static final类型时,即常量;另一种没有static修饰,为实例变量,实例变量也叫对象变量,类的每个对象维护它自己的一份实例变量的副本。都定义在类中但独立于方法和语句块之外

在程序运行时的区别:

(1)实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。

(2)静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。

(3)总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

静态变量均有默认值,数字默认为0,布尔值默认为false,对象默认为null

局部变量:局部变量声明在方法或语句块中。它在方法或语句块被执行的时候创建,执行完成后被销毁。它的作用域也局限于方法或语句块中。访问修饰符不能用于局部变量。

3.成员变量的默认值
若为引用数据类型,其默认值一律为null。若为基本数据类型,其默认值如下:

byte:0
short:0
int:0
long:0L
float:0.0F
double:0.0
char:'\u0000'
boolean:false

4.为啥要有包装类?
Java语言是面向对象的语言,其设计理念是“一切皆对象”。但8种基本数据类型却出现了例外,它们不具备对象的特性。正是为了解决这个问题,Java为每个基本数据类型都定义了一个对应的引用类型,这就是包装类。

Java中的包装器类有两个主要的目的:
提供一种机制,将基本值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,比如添加到Collections 中,或者从带对象返回值的方法中返回。
为基本值提供分类功能。这些功能大多数于各种转换有关:在基本值和String对象间相互转换,在基本值和String对象之间按不同基数转换,如二进制、八进制和十六进制。

5.说一说自动装箱、自动拆箱的应用场景
自动装箱、自动拆箱是JDK1.5提供的功能。

自动装箱:可以把一个基本类型的数据直接赋值给对应的包装类型;

自动拆箱:可以把一个包装类型的对象直接赋值给对应的基本类型;

通过自动装箱、自动拆箱功能,可以大大简化基本类型变量和包装类对象之间的转换过程。比如,某个方法的参数类型为包装类型,调用时我们所持有的数据却是基本类型的值,则可以不做任何特殊的处理,直接将这个基本类型的值传入给方法即可。

6.==运算符和equals()方法的区别
运算符用于比较两个对象的引用是否相等,而不是比较它们的值是否相等。对于基本类型的值比较,可以使用运算符,但对于对象类型的值比较,通常需要使用.equals()方法。

对于包装类型的值比较,应该使用.equals()方法而不是==运算符。这是因为包装类型是对象,而不是基本类型:
Integer num1 = 5;
Integer num2 = 5;
if (num1.equals(num2)) {
// 相等
}

7.如何对Integer和Double类型判断相等?

Integer、Double不能直接进行比较,这包括:

不能用==进行直接比较;

不能转为字符串进行比较,因为转为字符串后,浮点值带小数点,整数值不带,这样它们永远都不相等;

不能使用compareTo方法进行比较,虽然它们都有compareTo方法,但该方法只能对相同类型进行比较。

整数、浮点类型的包装类,都继承于Number类型,而Number类型分别定义了将数字转换为byte、short、int、long、float、double的方法。所以,可以将Integer、Double先转为转换为相同的基本数据类型(如double),然后使用==进行比较

Integer i = 100;
Double d = 100.00;
System.out.println(i.doubleValue() == d.doubleValue());

  1. int和Integer有什么区别,二者在做==运算时会得到什么结果?

int是基本数据类型,Integer是int的包装类。二者在做==运算时,Integer会自动拆箱为int类型,然后再进行比较。届时,如果两个int值相等则返回true,否则就返回false。

  1. 说一说你对面向对象的理解
    面向对象是一种更优秀的程序设计方法,它的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计。它从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物为中心来思考,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元,这使得软件系统的组件可以直接映像到客观世界,并保持客观世界中事物及其相互关系的本来面貌
posted @ 2024-04-03 14:33  cookie_monster  阅读(13)  评论(0)    收藏  举报