这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战
难度级别: 中级
程序
程序一
1) 以下程序的输出是什么?
public class Test implements Runnable
{
public void run()
{
System.out.printf("%d",3);
}
public static void main(String[] args) throws InterruptedException
{
Thread thread = new Thread(new Test());
thread.start();
System.out.printf("%d",1);
thread.join();
System.out.printf("%d",2);
}
}
a) 123
b) 213
c) 132
d) 321
程序二
2) 以下程序的输出是什么?
public class Test
{
private static int value = 20;
public int s = 15;
public static int temp = 10;
public static class Nested
{
private void display()
{
System.out.println(temp + s + value);
}
}
public static void main(String args[])
{
Test.Nested inner = new Test.Nested();
inner.display();
}
}
a) 编译错误
b) 1020
c) 101520
d) 以上都不是
程序三
3) 以下程序的输出是什么?
import java.io.*;
public class Test
{
public void display() throws IOException
{
System.out.println("Test");
}
}
class Derived extends Test
{
public void display() throws IOException
{
System.out.println("Derived");
}
public static void main(String[] args) throws IOException
{
Derived object = new Derived();
object.display();
}
}
a) 测试
b) 派生
c) 编译错误
d) 运行时错误
程序四
4) 以下程序的输出是什么?
public class Test extends Thread
{
public void run()
{
System.out.printf("Test ");
}
public static void main(String[] args)
{
Test test = new Test();
test.run();
test.start();
}
}
a) 编译错误
b) 运行时错误
c) Test
d) Test Test
程序五
5) 以下程序的输出是什么?
public class Test extends Thread
{
public static void main(String[] args)
{
String a = "Haiyong";
String b = new String(a);
int value = 0;
value = (a==b) ? 1:2;
if(value == 1)
{
System.out.println("Haiyong");
}
else if(value == 2)
{
System.out.println("Blog");
}
else
{
System.out.println("HY");
}
}
}
a) Haiyong
b) Blog
c) HY
d) 以上都不是
程序六
6) 以下程序的输出是什么?
public class Test
{
try
{
public Test()
{
System.out.println("Haiyong");
throw new Exception();
}
}
catch(Exception e)
{
System.out.println("HY");
}
public static void main(String[] args)
{
Test test = new Test();
}
}
a) Haiyong
b) HY
c) 编译错误
d) 以上都不是
程序七
7) 对于给定的代码,选择正确的答案。
public interface Test
{
public int calculate();
protected interface NestedInterface
{
public void nested();
}
}
a) 由于 NestedInterface 导致的编译时错误
b)由于 NestedInterface 的访问修饰符导致的编译时错误
c) 没有编译时错误
d) NestedInterface 不能保存任何函数声明。
程序八
8) 下列关于构造函数声明的说法正确的是?
a) 构造函数可以声明为 final。
b) 构造函数可以被 try/catch 块包围。
c) 构造函数不能抛出异常。
d) 构造函数可以持有同步代码(以便每个线程可以顺序访问构造函数)。
文章后半部分是程序的输出及解析
输出及解析
程序一输出
答案:
(c)
说明:
父线程使用join等待新创建的线程完成。join()方法允许一个线程等待另一个线程完成它的执行。因此,父线程打印 1 并等待子线程完成。子线程在控制台上打印 3,最后父线程打印 2。
程序二输出
答案:
(a)
说明:
不能在静态嵌套内部类中访问非静态变量。“嵌套”不能访问非静态变量[在这种情况下是变量]。因此错误:
10:错误:不能从静态上下文中引用非静态变量 s
System.out.println(temp + s + value);
^
程序三输出
答案:
(b)
说明:
如果超类方法声明了异常,子类覆盖的方法可以声明相同、子类异常或不声明异常,但不能声明父类异常。
程序四答案
回答 :
(d)
说明:
test.run() 执行 run 方法。test.start() 创建一个新线程并执行 Thread 类的重写 run 方法。Thread.start() 方法总是启动一个新线程,这个线程的入口点是 run() 方法。如果您直接调用 run() 它将在同一个线程中执行,但始终建议在逻辑上调用 Thread.start() 以启动一个新的执行线程,然后是 run() 方法。
程序五答案
回答 :
(b)
说明:
== 运算符检查两个变量是否指向同一个对象。这里 a 和 b指的是两个不同的对象。?: 是 if else 语句的另一种形式,可以理解为,condition : if true then do this : else do this。
程序六答案
回答 :
(c)
说明:
构造函数不能包含在 try/catch 块中
程序七答案
回答 :
(b)
说明:
NestedInterface 的访问修饰符只能是公共的。因此错误:
4:错误:修饰符的非法组合:公共和受
保护的受保护接口 NestedInterface
^
1 错误
程序八答案
回答 :
(d)
说明:
构造函数允许在线程之间顺序访问数据。
以上就是本篇文章的所有内容了
相关文章:
【Java练习题】Java程序的输出 | 第一套(含解析)
【Java练习题】Java程序的输出 | 第二套(含解析)
【Java练习题】Java程序的输出 | 第三套(含解析)
【Java练习题】Java程序的输出 | 第四套(含解析)
【Java练习题】Java程序的输出 | 第五套(含解析)
【Java练习题】Java程序的输出 | 第六套(含解析)
【Java练习题】Java程序的输出 | 第七套(含解析)
【Java练习题】Java程序的输出 | 第八套(含解析)
【Java练习题】Java程序的输出 | 第九套(含解析)
【Java练习题】Java 程序的输出 | 第十套(垃圾回收)
【Java练习题】Java 程序的输出 | 第十一套(含解析)
我已经写了很长一段时间的技术博客,这是我的一篇技术文章/教程。希望你们会喜欢!这里汇总了我的全部原创及作品源码:GitHub,还有这是我最近刚搭建的博客:haiyong.site,里面还没啥内容,放了一些HTML小游戏,有兴趣的可以尝试一下,源码可以自己F12复制,或者直接找我要。
如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。