1 //源程序 Hello.java 2 public class Hello 3 { 4 static String str ="Hello World"; 5 public static void main(String args[]) 6 { 7 System.out.println(str); 8 } 9 }
通過這個一個簡單的方法可以看到一些JAVA的基本結構。(這些是借鑒前輩們的一些理解做下記錄)
1、在java中一切都是對象,數據和函數必須封裝在‘類’中。一個源文件至少包含一個類(Hello)才可以編譯並執行。
2、用關鍵字class來聲明一個類,本例中類名是Hello,源程序文件名必須和類同名,即用Hello.java存盤。
3、java語言是大小寫敏感的,按慣例,類名用大寫字母開頭,變量、方法和對象實例名用小寫開頭。
4、類聲明語句后面的{.............} 內的語法成為類體,他可以包括若干數據變量和函數。
5、在java中,數據變量被成為類的“成員變量”,或簡稱成員;函數在java中叫做類的“成員方法”:
a、本例中類Hello包括一個成員變量str和一個成員方法main;
b、成員str是一個string類對象;
6、應用程序Application主類中必須包含main()方法:
a、main方法前的修飾符一次表示該方法是公共的(public)、靜態的(static)、無返回值的(void)。main方法必須用這三個修飾符;
b、java程序中可以定義多個類,每個類可以定義多個方法,但是一個.JAVA 文件,最多只有一個公共類(public),main()方法也只能有一個,作為程序的入口,可調用其他成員方法。
c、main()方法定義中的,括號()中的String args[] 是傳遞給main()方法的參數,參數名為args,它是類 String的一個對象,參數可以為0個或者多個。
7、main()方法中只有以一條語句System.out.println(str),功能是在標准輸出設備(屏幕)上輸出字符串str。
8、每條語句有分號結束;類體、方法和語句塊用花括號;
(下面是自己簡單結合eclipse對java工程管理的一些理解,隨便寫的。。很不規范,后續會在做詳細的配圖補充)
用eclipse新建一個工程后,在一個包里面的多個類,編譯生成的 .class 文件在同一個文件夾里面。
class文件目錄 C:\Users\qq\Desktop\rr\test\bin\test
java文件 目錄 C:\Users\qq\Desktop\rr\test\src\test
每一個包,會單獨生成一個文件夾。每個包里面的所有的類,都會在該包所在的文件夾的目錄下。
目前理解的程序內上下級關系是:工程->源代碼文件、各類標准庫->各種包(package)->各種帶有主函數的類名->細分的一些類
文件目錄是 程序文件夾->bin文件夾(放的是按包來區分的文件夾->每個包里面的類生成的class文件,同一個包里面不允許有相同類名出現)、src文件夾(放的是按包來區分的文件夾->每個包里面類的java文件,即源代碼)
基本數據類型:
在JAVA中一共有八種基本數據類型
byte、short、int、long、float、double、char、boolean
整型
其中byte、short、int、long都是表示整數的,只不過他們的取值范圍不一樣
byte的取值范圍為-128~127,占用1個字節(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,占用2個字節(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),占用4個字節(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),占用8個字節(-2的63次方到2的63次方-1)
浮點型
float和double是表示浮點型的數據類型,他們之間的區別在於他們的精確度不同
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)占用4個字節
double 1.797693e+308~ 4.9000000e-324 占用8個字節
boolean型(布爾型)
這個類型只有兩個值,true和false(真和非真)
boolean t = true;
boolean f = false;
char型(文本型)
用於存放字符的數據類型,占用2個字節,采用unicode編碼,它的前128字節編碼與ASCII兼容
字符的存儲范圍在\u0000~\uFFFF,在定義字符型的數據時候要注意加' ',比如 '1'表示字符'1'而不是數值1,
數據類型轉換:
容量小的類型可以自動轉到容量大的數據類型
byte->short->int->long->float->double
容量大的類型轉容量小的類型時需要強制轉換,並且會丟失數據精准度,有兩種方法(盡量使用第二種方法轉換);
① double a = 1.2; int b = (int)a;
② double a = 1.2; int b = (new Double(a)).intValue();