這是我參與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) 構造函數能夠持有同步代碼(以便每一個線程能夠順序訪問構造函數)。
文章後半部分是程序的輸出及解析
答案:
(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複製,或者直接找我要。
若是你真的從這篇文章中學到了一些新東西,喜歡它,收藏它並與你的小夥伴分享。🤗最後,不要忘了❤或📑支持一下哦。