JAVA基礎02

mycyj1798發表於2024-12-11

四、資料型別擴充

1.整數擴充

進位制:二進位制0b、十進位制、八進位制(字首0)、十六進位制(字首0x)

int i=10;//十進位制,輸出10
int i2=010; //八進位制,輸出8
int i3=0x10;//十六進位制,輸出16

2.浮點數擴充

浮點數字長是有限的、離散的,具有舍入誤差,結果只是一個大約數,接近但不等於。

最好完全拒絕使用浮點數進行比較

可以使用BigDecimal類也就是數學工具類進行比較

float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //false
System.out.println(f); //0.1
System.out.println(d); //0.1
float d1=23232323f;
float d2=d1+1;
System.out.println(d1==d2); //true

3.字元擴充

  • 所有的字元本質還是數字,Unicode編碼。
char c1='a';
char c2='中';
System.out.println(c1);//輸出a
System.out.println((int)c1);//強制轉換,輸出97
System.out.println(c2);//輸出中
System.out.println((int)c2);//強制轉換,輸出20013
char c3='\u0061';//\u是跳脫字元,格式\u0000,\uFFFF
System.out.println(c3);//輸出a
  • 跳脫字元 Unicode值

    \t:製表 \u0009

    \n:換行 \u000a

    \b:退格 \u0008

    \r:回車 \u000d

    \ ":雙引號 \u0022

    \’:單引號 \u0027

    \ \:反斜槓 \u005c

    4.Java中好玩的操作

    涉及物件裡的記憶體知識,後面會學到

    String a=new String("Hello world");
    String b=new String("Hello world");
    System.out.println(a==b); //false
    
    String c="Hello world";
    String d="Hello world";
    System.out.println(c==d); //true
    

    5.布林值擴充

    程式碼要精簡易讀

    boolean flag=true;
    if(flag==true){}
    //等價於
    if(flag){}
    
    

五、型別轉換

  • 由於java是強型別語言,所以要進行有些運算的時候,需要用到型別轉換。

  • 由低到高排序:

    byte,short,char,int,long,float,double

  • 運算中,不同型別的資料先轉化為同一型別,然後進行運算。

  • 強制型別轉化(高轉低)

    格式:(型別)變數名

  • 自動型別轉化(低轉高)

  • 注意點

    1. 布林型別不能進行轉化

    2. 不能把物件型別轉化為不相干的型別

    3. 把高容量轉換到低容量的時候,強制轉換

      char c='a';
      int d=c+1;
      System.out.println(d);//98
      System.out.println((char)d);//b
      
    4. 轉換的時候可能存在記憶體溢位,或者精度問題!

      • 精度問題

        System.out.println((int)23.7); //23
        System.out.println((int)-45.89f) //-45
        
      • 溢位問題

        public class Demo06{
            public static void main(String[] args){
            //操作比較大的數的時候注意溢位問題
            //jdk7新特性,數字之間可以用下劃線分割
            int money=10_0000_0000;
            int year=20;
            int total=money*year;
            System.out.println(total);//-1474836480溢位
            long total2=money*year;//money*year預設是int
            System.out.println(tota2);//-1474836480,轉換之前已經存在問題了
            long total3=money*((long)year);//先把一個資料轉換為long
            System.out.println(tota3);//2000000000
        	}
        }
        

六、變數

  • 變數就是可以變化的量

  • java是一種強型別語言,每個變數都必須宣告其型別

  • Java變數是程式中最基本的儲存單元,其要素包括變數型別、變數名和作用域

  • 注意事項

    • 每個變數都有型別,型別可以是基本型別也可以是引用型別
    • 變數名必須是合法的識別符號
    • 變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束
public class Demo07{
    public static void main(String[] args){
        String name="chenhao";//變數型別為引用型別
        char x='a';//變數型別為基本型別
    }
}

七、作用域

  • 作用域:類變數、例項變數、區域性變數

    public class Varlable{
        static int allClicks=0;//類變數,需要加static關鍵字
        String sttr="Hello world";//例項變數
        
        public void method(){
            int i=0;//區域性變數,在方法裡
        }
    }
    
  • 舉例說明

    public class Demo08{  //這是一個類,類裡面有屬性和方法,這裡屬性可以理解為變數
        static double salary=2500;//類變數,加關鍵字static
        String name;//例項變數,如果未初始化,除基本型別以外其預設值為nall
        int age;//例項變數在類的裡面方法的外面,從屬於物件.如果未初始化,此型別預設值為0
                //浮點型預設值0.0
                //布林型預設值是false
                //字元型預設值u0000還是0
        public static void main(String[] args){ //這是main方法
            int i=10;//在大括號之內的就是區域性變數:必須宣告和初始化值,只作用於此方法
        Demo08 demo08 = new Demo08;//如何呼叫例項變數?
        System.out.println(demo08.age);//0
        System.out.println(demo08.name);//null
        System.out.println(salary);//2500,可直接輸出類變數
        }
        public void add(){ //這是其他方法
            
        }
    }
    

    八、常量

  • 初始化後不能再改變值!不會變動的值。

  • 所謂常量可以理解成一種特殊的變數,它的值被設定後,在程式執行過程中不允許被改變。

    final 常量名=值;

public class Demo09{
	static final double PI=3.14;//變數型別前面的都是修飾符,修飾符不存在先後順序
                                //final static double PI=3.14;也可以
    public static void main(String[] args){
    System.out.println(PI)//3.14
    }
}
  • 常量名一般使用大寫字元

    九、變數的命名規範

  • 所有變數、方法、類名:見名知意

  • 類成員變數:首字母小寫和駝峰原則

  • 區域性變數:首字母小寫和駝峰原則

  • 常量:大寫字母和下劃線

  • 類名:首字母大寫和駝峰原則

  • 方法名:首字母小寫和駝峰原則

相關文章