jdk安裝路徑C:\Program Files\Java\jdk1.6.0_21
java_homeC:\Program Files\Java\jdk1.6.0_21
classpath.;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jarPath%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin檢查是否安裝成功java -version
path環境變數。作用是指定命令搜尋路徑,在dos命令列下面執行命令如javac編譯器時,它會到path變數所指定的路徑中尋找看是否能找到相應的命令程式。我們需要把jdk安裝目錄下的bin目錄增加到現有的path變數中,bin目錄中包含經常要用到的可執行檔如javac/java/javadoc等待,設定好path變數後,就可以在任何目錄下執行javac/java等工具了
classpath環境變數。作用是指定類搜尋路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過classpath來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設定到classpath中,當然,目前的目錄“.”也必須加入到該變數中。
資料類型:
1) 未經處理資料類型,簡單類型,基本類型都是一個含義;
2)複合類型,擴充類型,複雜類型、參考型別都是一個含義;
3)浮點類型,實數、實型都是一個含義;
4)邏輯型、布爾型都是一個含義;
5)類型分類:
定點:定點的意思是把小數點定在末尾,小數點後沒有數位資料,Java中通常把它們稱為整數;
常量:就是直接的值;
變數:放置常量的容器,除了放置常量之外,也可以給變數一個運算式,變數中的值是可變的;
資料類型在電腦語言裡面,是對記憶體位置的一個抽象表達方式,可以理解為針對記憶體的一種抽象的表達方式。接觸每種語言的時候,都會存在資料類型的認識,有複雜的、簡單的,各種資料類型都需要在學習初期去瞭解,Java是強型別語言,所以Java對於資料類型的規範會相對嚴格。資料類型是語言的抽象原子概念,可以說是語言中最基本的單元定義,在Java裡面,本質上講將資料類型分為兩種:基本類型和引用資料類型。
基本類型:單一資料型別是不能簡化的、內建的資料類型、由程式設計語言本身定義,它表示了真實的數字、字元和整數。
引用資料類型:Java語言本身不支援C++中的結構(struct)或聯合(union)資料類型,它的複合資料型別一般都是通過類或介面進行構造,類提供了捆綁資料和方法的方式,同時可以針對程式外部進行資訊隱藏。
在Java中,每個存放資料的變數都是有類型的,如:
char ch; float x; int a,b,c;
ch是字元型的,就會分配到2個位元組記憶體。不同類型的變數在記憶體中分配的位元組數不同,同時儲存方式也是不同的。
所以給變數賦值前需要先確定變數的類型,確定了變數的類型,即確定了資料需分配記憶體空間的大小,資料在記憶體的儲存方式。
Java資料類型在記憶體中的儲存:
1)基礎資料型別 (Elementary Data Type)的儲存原理:所有的單一資料型別不存在“引用”的概念,基礎資料型別 (Elementary Data Type)都是直接儲存在記憶體中的記憶體棧上的,資料本身的值就是儲存在棧空間裡面,而Java語言裡面八種資料類型是這種儲存模型;
2)參考型別的儲存原理:參考型別繼承於Object類(也是參考型別)都是按照Java裡面儲存物件的記憶體模型來進行資料存放區的,使用Java記憶體堆和記憶體棧來進行這種類型的資料存放區,簡單地講,“引用”是儲存在有序的記憶體棧上的,而對象本身的值儲存在記憶體堆上的;
區別:基礎資料型別 (Elementary Data Type)和參考型別的區別主要在於基礎資料型別 (Elementary Data Type)是分配在棧上的,而參考型別是分配在堆上的(需要java中的棧、堆概念),
基本類型和參考型別的記憶體模型本質上是不一樣的。
複習到這裡的時候突然想起一個問題, 就是java中的 bjava中的 boolean 在記憶體中佔多少位元組,為此到sun的官方網站查了一下,找到如下解釋:
sun's Data Types introduction:
byte: The byte data type is an 8-bit signed two's complement integer
short: The short data type is a 16-bit signed two's complement integer
int: The int data type is a 32-bit signed two's complement integer
long: The long data type is a 64-bit signed two's complement integer
float: The float data type is a single-precision 32-bit IEEE 754 floating point
double: The double data type is a double-precision 64-bit IEEE 754 floating point.
char: The char data type is a single 16-bit Unicode character
boolean: The boolean data type has only two possible values: true and false.
Use this data type for simple flags that track true/false conditions. This data type represents one bit of information,
but its "size" isn't something that's precisely defined.
大概意思為boolean就2個字面值true/false ,這個資料類型表現為1bit的資訊,但是他的大小不是明確指定的.
我認為也可以理解為1bit 就可以表示,不過最小的記憶體定址單元式 byte,所以佔用一個byte
同時呢,編譯器對boolean變數進行了最佳化,在一個boolean變數情況下,編譯器會給此變數安排一個位元組的
記憶體,但在多個boolean的情況下時,編譯器會將多個變數安排在一個位元組裡.