第一題:
&運算符:兩個數都轉爲二進制,然後從兩個數的最高位進行與運算,兩個都爲真(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有兩種實例化方式:
- 直接賦值
- 使用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進去。
第十九題:
第二十題: