JAVA面試題(3)

1.以下哪些定義的變量是正確的()

A int 1abc;
B char abc1;
C long #abc;
D boolean $abc;
E String 123456asdfghjklqwertyuiopzmnbvasdf12345;
答案 B D
解析:
因爲java中變量名必須是一個以字母開頭並由字母或者數字構成的序列。 字母包括
A-Z,a-z,
,$或在某種語言中表示的字母的任何Unicode字符。變量名中所有的字符都是有意義的,並且大小寫敏感,變量名基本上沒有限制.

2.代碼如下

public class Test {
    public final String a;
        public Test() {
            a = "10";
        }
    public void setA1(){
               a = "20";
        }
     public static void main(String[] args) {
            Test t = new Test();
            t.setA1();
            System.out.println(t.a);
        }
}

t.a的值爲()
A “10”
B “20”
C “”
D 以上都不對,並且編譯錯誤
答案 D
解析 :
因爲a被final(只能在初始化時賦值一次,一旦被賦值後,就不能再更改了,習慣上常量名使用全大寫)修飾了,所以在setA1中再次賦值了,直接導致編譯錯誤。

3.代碼如下

double a = 15.0;
int b=2;
system.out.println(a+b);

打印出來的數值類型爲()
A int
B float
C String
D double
答案 D
解析:
如果兩個操作數中有一個是double類型,另一個操作數就會自動轉換爲double類型。

4.以private修飾的元素的作用域的是()

A. 當前類
B. 同一個package 內
C. 子孫類中
D. 其他的package 內
答案 A
解析:
共有四個訪問修飾符public protected friendly private public
的作用域有當前類,同一個package,子孫類和其他的package protected的作用域有當前類,同一個package,和子孫類
friendly的作用域有當前類和同一個package private 的作用域只有當前類

5.String s =new String (“xyz”);這句一共創建了幾個String Object?

A. 1
B. 2
C. 3
D. 4
答案:B
解析:
一共創建了兩個對象,一個是”xyz”,爲緩衝區對象。另一個是new出來的String 對象。這兩個對象的值相同,但不是同一個對象。

6.String 是最基本的數據類型嗎?()

A:是
B:不是
答案:A
解析 A存儲在數據源(通常是一個關係數據庫)中的數據的 API B
java.awt是一個軟件包,包含用於創建用戶界面和繪製圖形圖像的所有分類 C是提供利用 Java 編程語言進行程序設計的基礎類 D
Swing是一個用於開發Java應用程序用戶界面的開發工具包

7.選擇下面代碼的運行結果:()

public class Test{
    public void method()
    {
        for(int i = ; i < 5; i++)
    {
            System.out.print(i);
    }
            System.out.print(i);
    }
}

A.122
B.123
C.編譯錯誤
D.沒有任何輸出
答案:C
解析: 本試題屬於 本身該試題就有嚴重的語法程序錯誤,並且沒有主方法。

8.下面程序的運行結果是()

String str1 = “banalan”;
String str2 = “bana” + new String(“lan”);
System.err.println(str1 == str2);

A:true
B:false
C:不確定
答案:B
解析 對於字符串,==比較引用對象的內存地址,equals比較的是字符串的內容
String str1 = “banalan”; //一個對象 String str2 = “bana” + new
String(“lan”); //new了一個對象,總的就是2個對象 System.err.println(str1 == str2);
// ==是比較引用,兩個對象的地址能一樣麼?只有重寫equals比較內容(值)才能爲TRUE

9.String能被繼承嗎?爲什麼?

不可以,因爲String類有final修飾符,而final修飾的類是不能被繼承的,實現細節不允許改變。平常我們定義的String
str=”a”;其實和String str=new String(“a”)還是有差異的。

前者默認調用的是String.valueOf來返回String實例對象,至於調用哪個則取決於你的賦值,比如String num=1,調用的是

public static String valueOf(int i) {
return Integer.toString(i);
}

後者則是調用如下部分:

public String(String original) {
this.value = original.value;
this.hash = original.hash;
}

最後我們的變量都存儲在一個char數組中 p

private final char value[];

10.Java I/O中字符流和字節流的區別 ?

字節流是傳遞0~255的整數而Java中有一些(如unicode代碼)不能使用字符流,是特殊的字節流。

如果覺得我寫的還行,請關注我的公衆號,每天定時推送乾貨.
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章