JAVA 基礎知識入門
阿新 • • 發佈:2018-11-06
整數的型別:
byte 8 bit
short 16 bit
int 32 bit
long 64 bit
注意:
一個整數後沒有加L時,預設為int型別。
if 要把一個數定義為long型別,需要在這個數後面加L。
小數的型別:
float 32 bit 可以保留7位小數位 double 64 bit 可以保留15位小數位 注意: 一個小數如果後沒有識別符號時,預設為double型別。 if 要定義為float型別,需要在這個數後面加f。f不區分大小寫。
布林型別:
只有兩個值 true or false
boolean 1個位元組或者4個位元組
注意:
if boolean 宣告一個基本型別的變數時, 該變數佔4個位元組
if boolean 宣告一個數組型別時, 每個數字型別佔1個位元組
字元型別:
char 2個位元組 (16 bit)
class檔案執行注意:
1.一個class檔案要在使用時才會載入到記憶體中,而靜態程式碼塊在檔案
載入中執行。
程式碼:
class demo1
{
public static void main(String[] args)
{
System.out.println(10);
System.out.println(0b10); //將一個二進位制數以十進位制輸出 二進位制以0b開頭
System.out.println(010); //將一個八進位制數以十進位制輸出 八進位制以0開頭
System.out.println(0x10); //將一個十六進位制數以十進位制輸出 十六進位制以0x開頭
long mong = 10000000000000000L;
System.out.println(mong);
float mong = 4.55555f;
System.out.println(mong);
boolean mong = true;
System.out.println(mong);
*/
}
}
class nihao
{
/*凡是byte, short,char資料型別在運算時都會自動傳換成int型別的資料。
java 編譯器在編譯時能夠確認一個常量的值,並判斷這個常量是否在所定義的資料型別,並允許賦值。
但在編譯時不能確定變數裡儲存的值。 變數裡儲存的值是在執行時才分配空間。
*/
public static void main( String [] args){
int i = 10;
long j = 20L;
i = (int)(i + j);
System.out.println(i);
}
}
class nihao
{
public static void main( String [] args){
byte b1 = 1;
byte b2 = 2;
// b2 = b2 + b1; //報錯。。需要強制轉換。
b2 += b1; //java編譯器已經進行強制轉換。
System.out.println(b2);
byte s =10;
long t = 30;
System.out.println(s<t); // 兩個不同資料型別可以比較大小,比較時會先把b的型別轉換為long型別。
}
}
class nihao
{
//位運算可能出現的筆試題:
// 1,交換兩個變數的值,不準出現第三方變數
// 2. 取出一個二進位制的指定位數。
public static void main( String [] args){
int a = 3;
int b = 5;
a= a^b;
b= a^b;
a= a^b;
System.out.println("a = "+ a + "b = " + b);
}
}
class nihao
{
// 如果+號用於字串的時候,+ 號就是連線符。
public static void main( String [] args){
int i1 = 13;
System.out.println(1 + 2 +3 + 4 + "ssss" + 5 + 6);
// 輸出 10ssss56
}
}
class nihao
{
//取模運算時,結果的正負取決於被除數的正負。
public static void main( String [] args){
double a = 10.00;
int b = 3;
System.out.println(a/b); //輸出 3.33333333333335
System.out.println(-a%b); //輸出 -1.0
System.out.println(a%-b); //輸出 1.0
System.out.println(-a%b); //輸出 -1.0
}
}
class nihao
{
/*
後自增(i++)在jvm的執行原理:
jvm 會先宣告一個變數用於儲存沒有 +1 之前的值。
1. int temp = i;
2. 自增。 i = i + 1;
3. temp 的值返回給表示式結果。
i 的 值發生幾次變化:
i = 0 -----> 1 ------> 0 */
public static void main( String [] args){
int i = 0;
i = i++;
System.out.println("i = "+i); //輸出 0
}
}
class nihao
{
public static void main( String [] args){
byte b1 = 1;
byte b2 = 2;
// b2 = b2 + b1; //報錯。。需要強制轉換。
b2 += b1; //java編譯器已經進行強制轉換。
System.out.println(b2);
}
class demo1
{
public static void main(String[] args ){
int[] arr = new int[2];
arr = null;
arr[1] = 10;
System.out.println(arr[1]);
// 該程式會報錯 空指標異常
}
}