java面试题集3
一、选择题
1.下面程序的运行结果是
int i=0;
while(true){
if(i++>10) break;
System.out.println(i);
}
1-11
2.下面程序的运行结果是
int a=2;
switch(a){
case 1: a+=1;break;
case 2: a+=2;
case 3: a+=3; break;
case 4: a+=4; break;
default : a=0;
}
System.out.println(a);
}
3.下面程序的运行结果是
public class J_Test {
static boolean mb_fun(char c){
System.out.println(c);
return true;
}
public static void main(String[] args) {
int i=0;
for(mb_fun(‘A’);mb_fun(‘B’)&&(i<2);mb_fun(‘C’)){
i++;
mb_fun(‘D’);
}
}
}
ABDCBDCB
4.下面哪些单词不是JAVA的关键字( )
A sizeof B abstract C null D String
5.下面哪个语句不会产生编译错误( )
A float a=2.0; B char c=”a”;
C byte b=25; D boolean d=null;
6.下面哪些语句可以通过编译( )
A float a=1; B float b=1.0;
C float c=2elf; D float d=0×1234;
7.下面程序的运行结果是
int a=3, b=1;
if(a==b) System.out.println(“a=”+a);
A a=1 B a=3
C 编译错误 D 正常运行但没有输出
8.下面程序的运行结果是
int a=1,b=2;
int c=(a+b>3?a++:++b);
A a=2,b=3 B a=1,b=3
C a=1,b=2 D c=false
9.下面程序的运行结果
public class J_Test {
public static int mb_fun(int c){
return (c%2);
}
public static void main(String[] args) {
if(mb_fun(3))
System.out.println(“1″);
else System.out.println(“2″);
} }
A 1 B 2 C 编译错误 D 运行时错误
10.当整数变量值为多少时,会输出” message 2″
switch(i){
Case 1: System.out.println(“Message1″);
case 2:
Case 3: System.out.println(“Message2″);
break;
}
A 0 B 1 C 2 D 3 E 4
11.下面程序的运行结果,哪个是正确的
byte b=1;
while(++b>0)
;
System.out.println(“LOOP”);
A 运行程序将会进入死循环导致无输出
B 每运行一次程序则输出一次LOOP并退出
C 每运行一次程序,会输出多次LOOP
D 程序中含有编译错误
12.写出下面程序的运行结果
public class J_SuperClass {
J_SuperClass(){
System.out.println(“J_SuperClass”);
} }
Class J_SubClass extends J_SuperClass{
J_SubClass(){
System.out.println(“J_SubClass”);}
Public static void main(String args[]){
new J_SubClass();
} }
J_SuperClass
J_SubClass
13.写出下面程序的运行结果
public class J_Base {
public void mb_method(){
System.out.println(“Base”);
} }
Public class J_Test extends J_Base{
public void mb_method(){
System.out.println(“Test”);
}
public static void main(String[] args) {
Object a=new J_Test();
((J_Base)a).mb_method();
} }
Test
14.下面的程序输出是:
public class J_SuperClass {
public void mb_method() {
System.out.println(“J_SuperClass::mb_method”);
}
static void mb_methodStatic(){
System.out.println(“J_SuperClass::mb_methodStatic”);
} }
public class J_Test extends J_SuperClass{
void mb_method(){
System.out.println(“J_Test::mb_method”);
}
Static void mb_methodStatic(){
System.out.println(“J_Test::mb_methodStatic”);
}
Public static void main(String args[]){
J_SuperClass a=new J_Test();
a.mb_method();
a.mb_methodStatic();
J_Test b=new J_Test();
b.mb_method();
b.mb_methodStatic();
} }
15.下面程序输出的结果:
public class J_Test{
static int m_data =0;
public int mb_method(){
m_data++;
return m_data;
}
public static void main(String args[]){
J_Test a=new J_Test();
J_Test b=new J_Test();
J_Test c=new J_Test();
a.mb_method();
b.mb_method();
c.mb_method();
int i=a.mb_method();
System.out.println(i);
} }
16.关于下面程序,哪些结论是正确的
public class J_Test{
public J_Test(){
System.out.println(“2″);
}
public static void main(String args[]){
J_Test s=new J_Test();
s.J_Test();
System.out.print(“1″);
} }
A 程序可以通过编译并正常运行,结果输出21;
B 程序可以通过编译并正常运行,结果输出221
C程序无法通过编译
D 程序可以通过编译,但无法正常运行
17.关于下面程序,哪些结论是正确的
public class J_Super {
public int m_dataSuper;
public J_Super(int d) {
m_dataSuper = d;
} }
Public class J_Test extends J_Super {
public int m_data;
public J_Test(int ds, int d) {
m_data = d;
super(ds);
}
public static void main(String args[]) {
J_Test s = new J_Test(2, 3);
System.out.println(s.m_data + s.m_dataSuper);
} }
A 程序可以通过编译度正常运行,输出5
B 程序可以通过编译并正常运行,输出23
C 程序无法通过编译,没有输出
D 程序可以通过编译,但无法正常运行
18.关于下面的程序,哪些结论是正确的
public class J_Super {
public J_Super() {
System.out.println(“1″);
} }
public class J_Sub extends J_Super {
public J_Sub() {
System.out.println(“2″);
} }
public class J_Test extends J_Sub{
public J_Test (){
super.super();
System.out.println(“3″);
}
public static void main(String args[]) {
J_Test s = new J_Test();
} }
A 程序可以编译并正常运行,结果为123
B 程序可以编译并正常运行,结果为13
C 程序可以编译并正常运行,结果为213
D 程序无法编译
19.关于下面程序的结论,哪些结论是正确的
class J_SubClass extends J_Test{ }
public class J_Test{
J_Test(int i) {
System.out.println(i);
}
public static void main(String args[]){
J_SubClass a=new J_SubClass();
} }
A 不能通过编译,因为类J_Test没有定义无参的构造方法
B 不能通过编译,因为类J_SubClass没有定义无参的构造方法
C 不能通过编译,没有实现J_SubClass(int i)构造方法
D可以成功通过编译
20.下面的程序输出什么
public class J_Test{
int m_i=2;
String m_s=null;
public J_Test() {
m_i=3;
m_s=”constructor”;
}
public static void main(String args[]){
J_Test app=new J_Test();
System.out.println(app.m_i+app.m_s);
} }
A 3null B 3constructor
C 2constructor D 2null
21. 关于JAVA的垃圾回收机制,下面哪些结论是正确的
A 程序可以任意指定释放内存的时间
B JAVA程序不能依赖于垃圾回收的时间或者顺序
C 程序可明确地标识某个局部变量的引用不再被使用
D 程序可以显式地立即释放对象占有的内存
22.下面程序的运行结果正确的是
class J_Class {
public int m_data=3;
}
public class J_Test{
public static void main(String args[]){
Object a=(Object)new J_Class();
J_Class b=(J_Class)a;
System.out.println(“data=”+b.m_data);
} }
A 能编译,结果输出data=3
B 不能编译
C Object a=(Object)new J_Class();会抛出一个异常
D J_Class b=(J_Class)a会抛出一个异常
23.关于下面程序,哪个结论是正确的
class J_SuperClass { }
public class J_SubClass extends J_SuperClass{
public static void main(String args[]){
J_SuperClass a=new J_SuperClass();
J_SubClass b=new J_SubClass();
b=(J_SubClass)a;
} }
A 无法通过编译,因为没有构造方法
B 可以通过编译,但在运行时将出错
C 可以通过编译,也可以正常运行
D 无法通过编译,b=(J_SubClass)a错误
24.下面程序在指定位置插入哪句会导致程序输出“sub”
class J_Base{ }
class J_SubClass extends J_Base{
public String mb_getString(){
return “sub”;
}
public static void main(String args[]){
J_Base app=new J_SubClass();
//插入需要的语句
} }
A System.out.println(app.mb_getString());
B System.out.println((J_Base)app.mb_getString());
C System.out.println((J_SubClass)app.mb_getString());
D System.out.println(((J_SubClass)app).mb_getString());
25.下面程序在指定位置插入哪句会导致程序输出“sub”
class J_Base{
public String mb_getString(){
return “Base”;
} }
class J_SubClass extends J_Base{
public String mb_getString(){
return “sub”;
}
public static void main(String args[]){
J_Base app=new J_SubClass();
//插入需要的语句
} }
A System.out.println(app.mb_getString());
B System.out.println((J_Base)app.mb_getString());
C System.out.println((J_SubClass)app.mb_getString());
D System.out.println(((J_SubClass)app).mb_getString());
26.下面程序的正确结论是
class J_Base{ }
class J_SubClass extends J_Base{
public String mb_getString(){
return “sub”;
}
public static void main(String args[]){
J_SubClass app=(J_SubClass)new J_Base();
System.out.println(((J_SubClass)app).mb_getString());
} }
A 发生编译错误
B 能编译但不能运行
C 能编译能运行,输出sub
D ((J_SubClass)app).mb_getString() 是不正确的语法
27.下面程序的输出结果是
class J_Base{
public int m_data=5;
public void mb_print(){
System.out.print(m_data);
} }
class J_SubClass extends J_Base{
public int m_data=2;
public void mb_print(){
System.out.print(m_data);
}
public static void main(String args[]){
J_Base app=new J_SubClass();
app.mb_print();
System.out.println(app.m_data);
} }
A 22 B 55 C 25 D 52
28.下面哪些方法置于指定位置会导致编译错误
public class J_Super {
public float getNum(){
return 3.0f;
} }
public class J_Sub extends J_Super{
//指定位置
}
A public float getNum(){return 4.0f;}
B public void getNum(){}
C public void getNum(double d){}
D public double getNum(float d){return 4.0d; }
29.已知字母a和b对应的数值分别是97和98,关于下面程序哪些选项是正确
public class J_Test {
static char m_name;
static int m_age;
public static void mb_setData(char n){
m_name=n;
}
public static void mb_setData(int age){
m_age=age;
}
public static void main(String[] args) {
mb_setData((int)’a');
mb_setData((char)98);
System.out.println(m_name+” “+m_age);
} }
A 结果输出 a 98 B 结果输出 b 97
C 结果输出 b 98 D 结果输出a 97
30.下面程序哪些结论是正确的
public class J_Test {
static short m_index;
static int m_age;
public static void mb_setData(short n){
m_index=n;
}
public static void mb_setData(int age){
m_age=age;
}
public static void main(String[] args) {
mb_setData(98);
System.out.println(m_index+” “+m_age);
} }
A 结果输出 98 0 B结果输出0 98
C 结果输出 0 0 D 结果输出98 98
E 程序编译错误
31.下面程序哪些结论是正确的
public class J_Test {
static short m_index;
static int m_age;
public static void mb_setData(short n){
m_index=n;
}
public static void main(String[] args) {
mb_setData(98);
System.out.println(m_index+” “+m_age);
} }
A 结果输出 98 0 B结果输出0 98
C 结果输出 0 0 D 结果输出98 98
E 程序编译错误
java面试题集3的更多相关文章
- 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101
Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...
- JAVA面试题集之基础知识
JAVA面试题集之基础知识 基础知识: 1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...
- Java面试题全集(上-中-下)及Java面试题集(1-50/51-70)
阅读量超百万级的文章,收藏并分享一下.感谢原创作者的总结 对初中级java开发人员有特别大的帮助,不论是技术点面试还是知识点总结上. Java面试题全集(上): https://blog.cs ...
- 互联网大厂Java面试题集—Spring boot面试题(一)
Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...
- 转:Java面试题集(1-50)
Java程序员面试题集(1-50) http://blog.csdn.net/jackfrued/article/details/17403101 一.Java基础部分 1.面向对象的特征有哪些方面? ...
- Java面试题集(51-70)
Java程序员面试题集(51-70) 51.类ExampleA 继承Exception,类ExampleB 继承ExampleA. 有如下代码片断: try{ thrownew ExampleB(“b ...
- Java面试题集(1-50)
下面的内容是对网上原有的面试题集及答案进行了全面修订之后的内容(原来的题目有很多重复无用的题以及错误的答案),参照了JDK最新版本,删除了重复题目以及EJB2.x等无用内容,补充最新面试题.知识点巩固 ...
- Java面试题集(131-135)
Java程序员面试题集(131-135) 摘要:这部分内容准备重新发布为Java程序员面试题集(151-180),但这篇帖子仍然保留在这里.查看新内容请点击Java程序员面试题集(151-180) 1 ...
- Java面试题集(116-135)
Java程序员面试题集(116-135) 摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你 ...
- Java面试题集(71-85)
Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言).面向对象的设计原则(六原则一法则).GoF设计模式.企业级设计模式.JDBC(Java数据库连接).XML(可扩展 ...
随机推荐
- python标准库 difflib-比较序列
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #difflib比较序列 #版本2.1及之后 #作用:包含一些用来计 ...
- InnoDB和MyISAM存储引擎的区别
在MySQL数据库的使用过程中我们经常会听到存储引擎这个名词.MySQL的存储引擎有好多种如InnoDB.MyISAM.Memory.NDB等等,多存储引擎也是MySQL数据库的特色. InnoDB和 ...
- 飘逸的python - 解决一个有限制的组合需求
假设有一个团队技能的需求. 这类技能是要集齐所有指定的人就能激活. 但是因为同一个人又2种身份存在,比如杨戬/神杨戬,于是便产生了组合. 这种组合跟普通组合不一样,普通组合可以随意组合.而这种组合是每 ...
- boost 无锁队列
一哥们翻译的boost的无锁队列的官方文档 原文地址:http://blog.csdn.net/great3779/article/details/8765103 Boost_1_53_0终于迎来了久 ...
- EffectiveC#02--仅在对基类进行强制更新时才使用new修饰符
1.建议避免使用new修饰符来重新定义非虚函数. 非虚方法是静态绑定的,不管哪里的代码也不管在哪里引用, 它总是严格的调用类中所定义的函数.并不会在运行时在 派生类中查找不同的版本. 2.何时使用ne ...
- HTML5-常见的事件- beforeunload事件
当我们在日常访问某些网站时,关闭当前网页时出现如下提示: beforeunload 事件就可以完成这样的事情,该事件发生时机:页面卸载之前,可以通过它来取消卸载并继续使用原有页面. 为了显示上面弹出对 ...
- Javascript页面跳转与浏览器兼容
用<meta>标签实现的定时跳转: <meta http-equiv="refresh" content="5 url=http://www.baidu ...
- 对boost::shared_from_this的进一步封装
对boost::shared_from_this的进一步封装 熟悉异步编程的同学可能会对boost::shared_from_this有所了解.我们在传入回调的时候,通常会想要其带上当前类对象的上下文 ...
- (原)Windows下编译指纹识别的Rel_4.1.0库
网址:http://www.cnblogs.com/darkknightzh/p/4867372.html.未经允许,严禁转载. 没怎么用过linux,对于MSYS和MinGW也基本没用过,因而编译R ...
- (原)Eclipse中将JNI生成的so打包成jar的步骤
说明:新人,对java不熟,见谅. 1. 新建工程,添加好native support,写好对应的文件(包括cpp文件,so文件和对应的java文件,此处称对应的java文件为SoJAR.java,) ...