Java 第一周總結
第一周的作業。
1.本章學習總結
- [x] 初識Java語言:Java的歷史,三大平台,了解JVM/JRE/JDK
- [x] Java開發環境的配置
- [x] 用記事本編寫Java程序,並用cmd編譯運行
- [x] 碼雲的使用,如何將代碼放到本地和遠程倉庫中
- [x] 博客園的使用,如何使用markdown文本編輯器進行博客的撰寫,還有提交作業
2.Java Q&A
1.為什么java程序可以跨平台運行?執行java程序的步驟是什么?
- 如果要運行Java程序就需要安裝JRE(Java Runtime Environment),里面自帶虛擬機JVM(Java Virtual Machine),這個JVM是根據不同平台而相異的。這樣子的話,寫好的Java程序首先被編譯成后綴名為.class的字節碼,最后直接在JVM可以直接將此翻譯為依賴於平台的機器碼。
- 執行Java程序的步驟

2.什么是jdk?jdk,jre,jvm的區別是什么?
- JDK(Java Development Kit)是Sun公司針對Java開發人員發布的免費軟件開發工具包。
- JDK,JRE和JVM是包含關系。

Jave SE Platform at a GlanceOracle官網Java SE平台示意圖
3.java HelloWorld命令中,HelloWorld這個參數指的是什么?
- 一個類名而已吧。
4.設置path變量有什么用?
- 配置Path變量,
cmd(胡扯的)操作系統才會在編譯Java程序的時候可以找到對應的javac。(PATH 是操作系統用於查找來自命令行或終端窗口的必需可執行文件的系統變量。)Java“如何設置或更改 PATH 系統變量?”
5.使用java編寫程序並運行與使用c語言編寫程序並運行的步驟和生成的中間文件、目標文件有什么不同?
- C語言程序經過編譯程序被翻譯成目的程序(后綴名為.obj),然后與庫程序進行連接,最后生成可執行文件(后綴名為.exe)。Java源程序通過編譯器生成后綴名為.class的JVM字節碼,再由字節碼翻譯為對應平台的目標代碼,最后運行。
6.Java語言有哪幾種開發平台?
- NetBeans
- Eclipse
- IntelliJ IDEA the Java IDE
7.Oracle JDK與Open JDK有何不同?
- 一個是官方的一個是開源的
- OpenJDK只包含最精簡的JDK
- Oracle JDK不能用於商業用途,Open JDK可以
- 另:OpenJDK6並不是Sun JDK6的分支,而是將OpenJDK7中JDK7的特性刪掉,使之符合JDK6的規范,因而OpenJDK6實際上是OpenJDK7的分支
3.碼雲項目截圖

4.實驗總結
- 放在pta平台運行的代碼的類名必須為Main。
- 數字 + ""可以將數字變成字符串,其實想一下平時在println方法中有時就是這樣子。
- 開根號用二分或者是牛頓迭代都是比較好的辦法,相反地,從0往上加是比較傻的,而且誤差值應該要比步進值來得小才能保證程序的正常運行,不然就會出現死循環把機器跑崩掉。
- 關於前導0的問題
- 首先對於一個數,首先很簡單的轉成二進制的字符串(這個字符串是不帶前導0的),這邊設為string,所以最后只要輸出
32 - string.length()就行了 - but,如果這個數是0的話,非常地僵硬,因為這是一個字符串高位是0的字符串,雖然長度僅為1。那么這時候我們就需要特判一下,如果是0的話,直接輸出32就好了。嗯,其他的數都不會出現這樣的情況,所以還行。
- 最后,只是為了試試markdown編輯器的代碼,所以貼一下這道題的代碼。(現在我用的編輯器是有代碼高亮的,不知道博客園有沒有,反正簡單的流程圖他都是不zici的,上面那個很丑陋的流程圖本來就是用markdown寫出來的)
- 首先對於一個數,首先很簡單的轉成二進制的字符串(這個字符串是不帶前導0的),這邊設為string,所以最后只要輸出
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
String string = Integer.toBinaryString(x);
if (x == 0)
System.out.println(32);
else
System.out.println(32 - string.length());
scanner.close();
}
}
總結到這邊就結束了!
(下面這一部分請老師不要算在作業里,謝謝!)
PS:最后的最后,關於代碼補全的問題,已經很久沒有用alt+/了,而是改為了二十六個字母全部都能觸發代碼補全的辦法,雖然只是從原來的需要敲Alt+/+Enter變成了直接敲Enter,但是真的流暢了很多,到底有多流暢,大概就像喝湯一樣流暢。不過鑒於沒什么人關注我的博客,就說到這邊吧,反正方法也很簡單,想知道的可以谷歌或者粉我(手動滑稽)

