Java语法面试题一
2014-04-02 19:55
183 查看
1、面向对象的特征:抽象、继承、封装和多态。
2、值传递和引用传递问题:若一个对象作为参数传递给方法,可改变对象的属性,是值传递还是引用传?
Java语言中,对象作为参数传递给方法时,方法接收到得是对象的内存引用的地址,儿不是对象本身,这个引用地址是对象在内存中的地址,它不可能像对象内容那样被改变,即Java语言中没有引用传递,只有值传递。
3、Java中使用重载和重写机制实现多态;重载是一个类中多态表现,重写是父类与子类之间实现多态表现。
4、Java中是否会出现内存泄露?
Java语言中也会出现内存泄露。由于编程导致俄内存泄露,通常不在使用的对象,但程序仍持有对该对象的访问,从而导致该对象无法被回收导致内存泄露。
5、自动装包/拆包:自动完成基本数据类型与对应的包装类型的转换。
Java提供两种不同类型即引用类型和基本数据类型;为实现基本数据类型到面向对象的转化,Java为每个基本数据类型提供了 对应的包装类(封装类)即
例如: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.
2、值传递和引用传递问题:若一个对象作为参数传递给方法,可改变对象的属性,是值传递还是引用传?
Java语言中,对象作为参数传递给方法时,方法接收到得是对象的内存引用的地址,儿不是对象本身,这个引用地址是对象在内存中的地址,它不可能像对象内容那样被改变,即Java语言中没有引用传递,只有值传递。
3、Java中使用重载和重写机制实现多态;重载是一个类中多态表现,重写是父类与子类之间实现多态表现。
4、Java中是否会出现内存泄露?
Java语言中也会出现内存泄露。由于编程导致俄内存泄露,通常不在使用的对象,但程序仍持有对该对象的访问,从而导致该对象无法被回收导致内存泄露。
5、自动装包/拆包:自动完成基本数据类型与对应的包装类型的转换。
Java提供两种不同类型即引用类型和基本数据类型;为实现基本数据类型到面向对象的转化,Java为每个基本数据类型提供了 对应的包装类(封装类)即
基本数据类型 | 包装类 | 基本数据类型 | 包装类 |
boolean | Boolean | float | Float |
byte | Byte | int | Integer |
char | Character | long | Long |
double | Double | short | Short |
即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.
相关文章推荐
- java基础知识记录--类相关语法 (摘自张孝祥整理java面试题)
- Java面试题之基本语法(图解)
- 黑马程序员——java面试题之基础语法
- Java面试题-基本语法
- JAVA基础及语法部分面试题(5)-----异常部分
- JAVA基础及语法部分面试题(1)
- java基础语法面试题
- JAVA基础及语法部分面试题(2)
- JAVA基础及语法部分面试题(3)
- 黑马程序员——java基础语法的常见面试题
- JAVA基础及语法部分面试题(4)
- Java面试题二:基础语法(续面试题一)
- 关于一个java "++" 语法的面试题的理解
- java基础知识记录--基本语法 (摘自张孝祥整理java面试题)
- java基础知识记录--基本语法 (摘自张孝祥整理java面试题)
- Java基础语法面试题集锦
- Java面试题及答案集锦(基础题122道,代码题19道)
- 3.2Java基础语法(循环的嵌套、跳转控制语句)
- 2018/01/07JAVA 基础 / 接口与继承:对象转型的意义、instanceof的语法
- java.io.IOException: 文件名、目录名或卷标语法不正确。