JAVA面试题集锦

1、Java跨平台的原理?

不同的操作系统是有自己的一套代码运行的环境的,而java为了使得java代码能在不同版本的操作系统上运行,java提供了应对不同版本的操作系统的JVM,来实现java接口,这样这样就屏蔽了不同操作系统之间的差异,使得Java程序能在任意平台上运行。

2、简单搭建一个java运行环境?

运行一个java,首先我们需要配置好jdk,然后对“JAVA_HOME” 进行配置。

再接下来是对编译软件的配置,一般情况下,我们采用eclipse(myeclipse)、IDEA来编译java程序,这个过程只有基本操作。

再然后就是配置tomcat,对于tomcat我们只需要和JAVA_HOME关联起来即可。

3、java中各个基本类型所占的位数、范围、默认值?

java中有8大基本数据类型:分别是byte、short、char、int、double、float、long、boolean。

数据类型         所占位数         范围                         默认值

    byte                    8             -128~127                       0

    short                  16              -2**15~2**15-1            0

     char                16                 \u0000~\uFFFF         null       一个16机制占4位

    float                 32              -2**31~2**31-1             0.0

     double           64               -2**63~2**63-1              0.0

     long               64               -2**63~2**63-1             0.0

boolean              1                  true/false                 false        

 

4、java面向对象的几大特征?

javamian面向对象有4大特征:抽象、继承、封装、多态。

抽象:就是对现实中的某一类事物进行归类,以计算机语言的形式表象出来。 比如人是一类,我们就可以用class定义人这个lei类型。

继承:java中是单继承,不同与c++,继承是一个类衍生出很多子类,子类能获取父类的所有成员变量和方法但是不同的是,对于父类的private修饰的变量,子类不能直接访问,必须通过super来访问。这个过程就像儿子继承了父亲的全部东西,但是银行里的钱,必须通过父亲才能取,儿子不能自己去取。

封装:对一个对象进行高度自治的封装,它的行为都由它自己来决定。比如小明是一个个体,他所操作的事情他自己来决定。

多态:多态是对于实现接口而言的,不同的实现类都可以用接口来向上转型。

 

5、拆箱和装箱

拆箱和装箱对于封装类而言,既然有了基本数据类型,为什么还要要包装类型呢?

这是因为基本数据类型无法对很多操作进行满足,比如最大值,最小值的获取。

封装类有有8个对应基本数据类型   分别是Byte  ,Long,Double,Charset,Boolean,Float,Short,Integer,这些都是引用数据类型。

这个8个包装类型的缓存范围:

boolean:true和false

byte:-128~127

char:0~127

short:-128~127

int:-128~127

long:-128~127

Integer a = 1;

Integer b = 1;

a==b    true

Integer c = 666;

Integer d =666;

c==d false

 

比较一下int和Integer的区别;

int 的默认值为   0,而Integer 的默认值null,这样,我们在操作数据库的时候,我们尽可能的使用Integer类型来操作。

int是基本数据类型,Integer引用类型。

 

在JDK 1.5之后,装箱和拆箱已经不需要人来完成了。

 比如说Integer   a = 1;   这个就是自己装箱的过程,它实际上是Integer a = Integer.ValueOf(1);

int b = a ,这就是自动拆的过程,相当与int b = a.IntValue();

 

 

6、equals和==的区别

首先说说 ==  ,对于基本数据类型而言, == 就是直接比较两个值是否相等。对于引用类型而言, == 比较的是内存中引用的首地址是否相等。

equals 用来判断两个对象特征是否相同。equals在Object中有定义,我们平常所用的equals是在Object的基础上重写了equals方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值