【Java练习题】Java 程序的输出 | 第十二套(含解析)

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战java

难度级别: 中级git

程序

程序一

1) 如下程序的输出是什么?github

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) 321markdown

点此跳转到答案svn


程序二

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) 以上都不是oop

点此跳转到答案post


程序三

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) 运行时错误flex

点此跳转到答案


程序四

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) 构造函数能够持有同步代码(以便每一个线程能够顺序访问构造函数)。

点此跳转到答案


文章后半部分是程序的输出及解析

ef0db78e99c84c19ec33f6497895ccec.jpg


输出及解析

程序一输出

答案

(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复制,或者直接找我要。

若是你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。

相关文章
相关标签/搜索