Java基础面试题(五)

1、 JAVA所定义的版本中不包括:( )

A、 JAVA2 EE
B、 JAVA2 Card
C、 JAVA2 ME
D、 JAVA2HE
E、 JAVA2 SE
答案:D
解析:
Java企业版:JEE 适用于创建服务器应用程序和服务的Java 平台企业版
Java标准版: JSE 适用于桌面系统的Java 平台标准版
JME:适用于小型设备和智能卡的Java 平台Micro版
Java Card技术主要是让智能卡或与智能卡相近的设备上,以具有安全防护性的方式来运行小型的Java Applet,此技术也被广泛运用在SIM卡、提款卡上。

2、 下列说法正确的是( )

A、 JAVA程序的main方法必须写在类里面
B、 JAVA程序中可以有多个main方法
C、 JAVA程序中类名必须与文件名一样
D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
答案:A
解析:
A:main()方法必须都写在类里面,在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方 法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。
B:这个之前没用过多个main方法,自己试一下,可以用多个mian为方法名的方法,但是只能有一个publi 0static void main(String[] args){}这个方法
C:只有标记为public的类,名字才必须与文件名相同,public外部类必须与文件名相同,这样的类有且只有一个,public 内部类 名字不与文件名相同
D: JAVA程序的main方法中,不管有多少条语句都必须用{}(大括号)括起来

3、 变量命名规范说法正确的是( )

A、 变量由字母、下划线、数字、$符号随意组成;
B、 变量不能以数字作为开头;
C、 A和a在java中是同一个变量;
D、 不同类型的变量,可以起相同的名字;
答案:B
解析:
变量名只能是字母(a-z A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,数字不能放在变量名首位。
不要在同一个类的不同上下文中重用相同的变量名

4、 下列javaDoc注释正确的是( )

A、 /* 我爱北京天安门 /
B、 // 我爱北京天安门 */
C、 /** 我爱北京天安门 */
D、 /
我爱北京天安门 **/
答案:C
解析:
对于Java注释我们主要了解两种:

// 注释一行
  /* ...... */ 注释若干行
  但还有第三种,文档注释:
  /**  ...... */ 注释若干行,并写入 javadoc 文档

5、 为一个boolean类型变量赋值时,可以使用( )方式

A、 boolean = 1;
B、 boolean a = (9 >= 10);
C、 boolean a=”真”;
D、 boolean a = = false;
答案:B
boolean即java中的基本类型——布尔类型,值只有true和false两种。
分析:
A是对int类型的赋值方式。
B中(9>=10)的值是false,因为有关系运算符是用来比较运算,结果只有对(true)与错(false)两种,是boolean类型,所以B正确
C的赋值方式根本不对,既不符合char类型,也不符合String类型
D中“==”是关系运算符,不能用来赋值,如果“==”改成“=”就是正确的

6、 以下( )不是合法的标识符

A、 STRING
B、 x3x;
C、 void
D、 de$f
答案:C
void属于java中的关键字
[1]Java标识符只能由数字、字母、下划线“”或“$”符号以及Unicode字符集组成
[2]Java标识符必须以字母、下划线“
”或“$”符号以及Unicode字符集开头
[3]Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null)
[4]Java标识符区分大小写,是大小写敏感的

7、 表达式(11+3*8)/4%3的值是( )

A、 31
B、 0
C、 1
D、 2
答案: D
先乘除后加减,有括号先按括号算
3*8=24
11+24=35
35/4=8
8%3=2
结果是2

8. 什么是java 序列化,如何实现java 序列化?

答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题;序列化的实现:将需要被序列化的类实现Serializable 接口,该接口没有需实现的方法,implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream 对象的writeObject(Object obj)方法就可以将参数为obj 的对象写出(即保存其状态),要恢复的话则用输入流。

9、java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,

请说出他们分别是哪些类?
InputStream、OutputStream,字符流继承于Reader、Writer。在java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。

10 java中栈和堆得区别?

  1. 功能不同
    栈内存用来存储局部变量和方法调用。
    而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。
  2. 共享性不同
    栈内存是线程私有的。
    堆内存是所有线程共有的。
    3.异常错误不同
    如果栈内存或者堆内存不足都会抛出异常。
    栈空间不足:java.lang.StackOverFlowError。
    堆空间不足:java.lang.OutOfMemoryError。
    4.空间大小
    栈的空间大小远远小于堆的。

希望读者能够给小编留言,也可以点击此处扫下面二维码关注微信公众号

赞(4) 打赏



未经允许不得转载:Java研发军团 » Java基础面试题(五)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章整理人员

微信扫一扫打赏

微信扫一扫打赏