java基礎學習1

某個軟件只編寫一次,可以在不同平臺上運行

Java跨平臺的原理
爲什麼不直接編寫class文件:
Class文件只能被java虛擬機所識別

Java跨平臺的原理:
  1. 編譯後生產與平臺無關的字節碼文件
  2. 得依賴不同平臺的虛擬機(Jvm)
JVM是不跨平臺的。
Write once,use anywhere!














JDK-JRE-JMV

JRE(java runtime environment):Java運行環境,如果要運行java程序,就需要jre的支持,JRE裏面包含JVM。
JDK(Java Development Kit):java開發工具,包含java程序所有的工具,javac和java,JDK裏面包含JRE
JVM(java虛擬機):java的運行環境,jvm讀取並處理編譯過後的與平臺無關的字節碼(class)文件,從而實現java的跨平臺性。但是JVM本身是不跨平臺的,win需要win的JVM

環境搭建

  1. 安裝jdk,選擇不同版本的JDK
  2. 配置PATH環境變量:
PATH變量用於指定Java開發工具的位置,PATH=D:\OpenSource\Java\jdk1.7.9_80\bin
(一定要指定到\bin)



Bin:存放了Java的操作工具,比如編譯的Javac,啓動JVM的java等
Db:數據庫
Include:存c++的頭文件。
JRE:java的運行環境,裏面有JVM
Lib:Java運行和依賴的核心庫。
Src.zip:java的源代碼。

環境變量:在用戶變量下可以添加(執行程序時候,現尋找用戶變量再尋找系統變量)
PATH=D:\OpenSource\Java\jdk1.7.9_80\bin

需求:在控制檯界面輸出:hello,world !

開發步驟:
  1. 在合適路徑下新建一個文本文檔,命名爲hello.java
注意java是文件的後綴名
  1. 在hello.java鍵入代碼:
3.打開命令控制檯,進入當前源文件所在的目錄,對文件進行編譯
編譯成功之後,會生成Hello.class字節碼class文件
4.啓動JVM,加載Hello.class這份字節碼,並解釋執行。
注意:java 執行的是類的名稱,不能是類名.class
上述錯誤是缺少main方法
改變了源文件必須重新編譯

public class Hello
{
public static void main(String[] args)
{
System.out.println("hello,world!");
}
}
Java語言是編譯語言,同時也是解釋性語言
CLASSPATH就是class文件的路徑,表示JVM從哪裏去尋找class文件
CLASSPATH= c:\test就是表示執行java命令時從c:\test去尋找要被執行的class文件
Java5之前默認classpath爲當前路徑

這裏有個問題
如果有很多java文件,編譯後會生成更多的字節碼class文件,這樣就會很煩,能不能將class文件放到一個新的文件夾裏,而不影響現有的源代碼呢?

java
-d <目錄> 指定放置生成的類文件的位置
這樣就將編譯後的class文件放入 classes文件夾中了,同理,運行的時候
Java -classpath PATH hello即可以了!
Java基本語法
  1. java語法嚴格區分大小寫,main和Main是不同的概念
  2. 一個java源文件裏可以定義多個java類,但是最多只能有一個類被定義爲public。若源文件裏包括了public類,源文件必須和該public類同名
因爲public 類爲Hello,故我的java文件應該爲Hello.java 而不能是 hello.java
  1. 一個源文件中包含n個java類時,編譯後會生成n份字節碼文件,即每個類都會生成一個單獨的class文件,且字節碼文件名和其對於的類名相同。
  2. 若一個類必須運行,則必須有main方法,main方法是程序的入口

建議:
一個java源文件裏制定一個類,不同的類使用不同的源文件定義
將每個院文件中單獨定義的類都定義爲public
保持java源文件的住文件名與源文件中的類名一致
Java註釋是給程序員看的,提供三類註釋:
  1. 單行註釋;
  2. 多行註釋;
  3. 文檔註釋;

單行註釋://; //註釋信息,從//開始到本行結束
多行註釋:/* */; /*註釋信息*/ ,之間的所有信息
文本註釋:/** */; /** 註釋信息*/,和多行一樣,除此之外還可以專門生產文檔信息api
文檔註釋和多行註釋不能交叉嵌套

//單行註釋 定義一個類,類名爲Hello
public class Hello
{
public static void main(String[] args)
{
System.out.println("hello,world!");
}
}
關鍵字:編程中事先定義的,有特殊含義和用途的單詞
保留字:和關鍵字一樣是事先定義好的,只是暫時沒有特殊的用途,但是說不定以後某天會被賦予特殊意義,goto和const是java保留字。


分隔符
標識符:爲了增強程序閱讀性而自定義的名稱
Editplus打開java源代碼更清晰
並且可以添加編譯和運行

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