您的位置:首页 > 职场人生

Java语法面试题一

2014-04-02 19:55 183 查看
1、面向对象的特征:抽象、继承、封装和多态。

2、值传递和引用传递问题:若一个对象作为参数传递给方法,可改变对象的属性,是值传递还是引用传?

      Java语言中,对象作为参数传递给方法时,方法接收到得是对象的内存引用的地址,儿不是对象本身,这个引用地址是对象在内存中的地址,它不可能像对象内容那样被改变,即Java语言中没有引用传递,只有值传递。

3、Java中使用重载和重写机制实现多态;重载是一个类中多态表现,重写是父类与子类之间实现多态表现。

4、Java中是否会出现内存泄露?

    Java语言中也会出现内存泄露。由于编程导致俄内存泄露,通常不在使用的对象,但程序仍持有对该对象的访问,从而导致该对象无法被回收导致内存泄露。

5、自动装包/拆包:自动完成基本数据类型与对应的包装类型的转换。

      Java提供两种不同类型即引用类型和基本数据类型;为实现基本数据类型到面向对象的转化,Java为每个基本数据类型提供了    对应的包装类(封装类)即

基本数据类型包装类基本数据类型包装类
booleanBooleanfloatFloat
byteByteintInteger
charCharacterlongLong
doubleDoubleshortShort
例如:int是Java基本数据类型,Integer是Java为int提供的包装类。

即Java的基本数据类型仅有上述八种,字符串实际上是String类的实例对象,它不属于基本数据类型。字符串具有属性和行为,是引用类型。

6、char类型变量能否保存一个汉字?

     char类型变量可以存储汉字,因为Java以Unicode编码,一个char占16个位,即两个字节,可以存汉字。

7、Java中是否有goto语句?

     goto语句源于C语言和Basic语言,主要在面向对象过程的程序设计语言中使用,Java是面向对象语言,不需要使用goto语句,但是也保留了goto关键字,目前没有使用。

8、变量和常量的区别:变量的值可以改变,常量的值初始化后不能改变,定义时常用final关键词修饰。

9、程序编码float num=3.14159 是否正确?

      不正确,Java中默认的整型数据类型是int,默认浮点类型是double,即在编码是给变量赋值3.14159会被默认为double类型,需要强制类型转换为float类型或添加字母f或F作为后缀。

10、short和char类型的取值范围:short是有符号的类型,二进制编码时最高位作为符号位即取值范围:32767~-32767;char是字符类型,字符编码没有负数,即被定义为无符号类型,取值范围:0~65535.

11、”3+5=“+3+5表达式的值是多少?

       "+"是数学运算加法同时也是字符串连接符,与字符串连用,任何数据都会转换为字符串进行连接,即结果为:3+5=35.

12、final参数可以修改吗?

       参数被定义为final类型,以为着不能在该方法中修改该参数,即无法使编译通过。

13、局部变量可以定义为私有吗?

       这样编码是错误的,无法通过编译。局部变量前不能用任何访问修饰符修饰,可以用final修饰,不过修饰后,它会变为常量。

14、浮点数减法运算(System.out.println((3-2.6==0.4)))

        编译错误.从数学角度看,代码的返回值是true,但Java中浮点数的运算结果可能出现误差.即结果可能是0.399999999999999,因此代码的返回值为false.

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: