【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複製,或者直接找我要。

若是你真的從這篇文章中學到了一些新東西,喜歡它,收藏它並與你的小夥伴分享。🤗最後,不要忘了❤或📑支持一下哦。

相關文章
相關標籤/搜索