試卷: 小鵬汽車2020秋招Java筆試題目

第一題:

&運算符:兩個數都轉爲二進制,然後從兩個數的最高位進行與運算,兩個都爲真(1),結果才爲真(1),否則爲假(0)

13:01101
17:10001
結果:00001,既爲1

 

第二題:

爲了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。

包的作用

  • 1、把功能相似或相關的類或接口組織在同一個包中,方便類的查找和使用。

  • 2、如同文件夾一樣,包也採用了樹形目錄的存儲方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時調用兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字衝突。

  • 3、包也限定了訪問權限,擁有包訪問權限的類才能訪問某個包中的類。

Java 使用包(package)這種機制是爲了防止命名衝突,訪問控制,提供搜索和定位類(class)、接口、枚舉(enumerations)和註釋(annotation)等

 

第三題:

在Java中5.0是double類型,所以結果的數據類型爲double。因爲1/4結果爲0,所以結果爲-6.0

 

第四題:

A.肯定錯

B.int是java的基礎類型,並不是類

C.正確

D.還可能有一些符號如:_   &

 

第五題:

  • -s 還原文件的順序和備份文件內的存放順序相同。
  • -t 列出備份文件的內容。
  • -v 顯示指令執行過程。
  • -f 指定壓縮文件
  • -x 從備份文件中還原文件。
把常用的tar解壓命令總結下,當作備忘:

 

tar

 

-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件

這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出

下面的參數-f是必須的

-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。

# tar -cf all.tar *.jpg 
這條命令是將所有.jpg的文件打成一個名爲all.tar的包。-c是表示產生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif 
這條命令是將所有.gif的文件增加到all.tar的包裏面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif 
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar 
這條命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar 
這條命令是解出all.tar包中所有文件,-x是解開的意思


壓縮

tar –cvf jpg.tar *.jpg  將目錄裏所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   將目錄裏所有jpg文件打包成jpg.tar後,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 將目錄裏所有jpg文件打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   將目錄裏所有jpg文件打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z
rar a jpg.rar *.jpg rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg   zip格式的壓縮,需要先下載zip for linux 
解壓

tar –xvf file.tar  解壓 tar包
tar -xzvf file.tar.gz 解壓tar.gz
tar -xjvf file.tar.bz2   解壓 tar.bz2
tar –xZvf file.tar.Z   解壓tar.Z
unrar e file.rar 解壓rar
unzip file.zip 解壓zip

總結

*.tar 用 tar –xvf 解壓
*.gz 用 gzip -d或者gunzip 解壓
*.tar.gz和*.tgz 用 tar –xzf 解壓
*.bz2 用 bzip2 -d或者用bunzip2 解壓
*.tar.bz2用tar –xjf 解壓
*.Z 用 uncompress 解壓
*.tar.Z 用tar –xZf 解壓
*.rar 用 unrar e解壓
*.zip 用 unzip 解壓
 

 

linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱爲tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程序來進行壓縮。

1.命令格式:

tar[必要參數][選擇參數][文件] 

2.命令功能:

用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的 

3.命令參數:

必要參數有如下:

-A 新增壓縮文件到已存在的壓縮

-B 設置區塊大小

-c 建立新的壓縮文件

-d 記錄文件的差別

-r 添加文件到已經壓縮的文件

-u 添加改變了和現有的文件到已經存在的壓縮文件

-x 從壓縮的文件中提取文件

-t 顯示壓縮文件的內容

-z 支持gzip解壓文件

-j 支持bzip2解壓文件

-Z 支持compress解壓文件

-v 顯示操作過程

-l 文件系統邊界設置

-k 保留原有文件不覆蓋

-m 保留文件不被覆蓋

-W 確認壓縮文件的正確性

可選參數如下:

-b 設置區塊數目

-C 切換到指定目錄

-f 指定壓縮文件

--help 顯示幫助信息

--version 顯示版本信息

4.常見解壓/壓縮命令

tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮!)


.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName

.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName

.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName

.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName

.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知

.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知

.Z
解壓:uncompress FileName.Z
壓縮:compress FileName

.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName

.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName

.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName 

 

5.使用實例

實例1:將文件全部打包成tar包

命令:

tar -cvf log.tar log2012.log

tar -zcvf log.tar.gz log2012.log

tar -jcvf log.tar.bz2 log2012.log

 

第六題:

i++運行的時候,i++的值是0,但是i的值是1,

所以結果是1

 

第七題:

垃圾回收器是將沒有引用的對象進行垃圾回收,回收前會調用finalize()方法,下一個週期中進行回收

 

第八題:

第九題:

意思就是存的順序 與取出來的順序完全相反
Stack 棧  先進後出
Queue 隊列  先進先出
List 集合  有下標  存的順序與取得的順序一致
LinedList 類 是Queue的子類  存的順序與取得的順序一致

第十題:

第十一題:

 

第十二題:

抽象方法沒有方法體,只有聲明。 abstract sum (int x, int y);

第十三題:

String有兩種實例化方式:

  1. 直接賦值
  2. 使用new關鍵字

兩種實例化方式比較:

  • 直接賦值只會開闢一塊堆內存空間,並且會自動保存在常量池之***享
  • 構造方***開闢兩塊堆內存空間,不會自動入池,其中一塊將成爲垃圾,可以用 intern()方法手動入池

字符串常量是String類的匿名對象

 

第十四題:

在接口中,屬性都是默認public static final修飾的,所以:

    A(錯誤):不能用private修飾;

    B(正確):在接口中,屬性默認public static final,這三個關鍵字可以省略;

    C(錯誤):沒寫屬性的類型;

    D(錯誤):final修飾的屬性必須賦值

 

第十五題:

java.lang包包含

  • 包裝類
  • String 類
  • Math 類     ——    包含函數
  • Class 類
  • Object 類

 

第十六題:

flush()函數強制將緩衝區中的字符流、字節流等輸出,目的是如果輸出流輸出到緩衝區完成後,緩衝區並沒有填滿,那麼緩衝區將會一直等待被填滿。所以在關閉輸出流之前要調用flush()。

 

第十七題:

A. 調用sleep()方***讓線程進入睡眠狀態---睡眠指定的時間後再次執行;

B. 調用wait()方***讓線程進入等待狀態 ----等待別的線程執行notify()或notifyAll()喚醒後繼續執行;

C.調用start()方***讓線程進入就緒狀態---得到CPU時間就執行線程;

D.run()方法是線程的具體邏輯方法,執行完,線程就結束。

第十八題:

這道題一定要看仔細了,MyClass方法並不是構造參數,而是返回類型爲void的普通方法,普通方法自然需要實例化對象然後去調用它,所以124不對,第三個是正確的,因爲沒有帶參數的構造器,所以自然不能傳一個int進去。

第十九題:

第二十題:

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