天天看點

java之變量和運算符

java之變量和運算符

1、關鍵字、保留字和辨別符

  • 關鍵字:java中已經使用的英文字母,jdk中使用的類名也是關鍵字。關鍵字不能作為變量名、類名、包名
  • 保留字
  • 辨別符:java中包名、類名、方法名、變量名、常量名的總稱
    • 辨別符的命名規則:
      • 必須以字母、下劃線(_)或美元符号($)開頭
      • 辨別符中不能有空格
      • 不能使用Java中的關鍵字或者保留字做為辨別符
    • 辨別符的命名規則:
      • 包名:域名.公司名.項目名.種族-- 常見的域名: com、cn、org… com.neusoft.javase_day1.test
      • 類名:駝峰命名法 ,每個類名中的單詞首字母要大寫 StudentTestOne 或者Student_Test_One
      • 常量名:方法名、參數名:駝峰命名法-- 命名是首字母小寫其他英文單詞首字母大寫 getAge () myAge
      • 常量名:要求所有的字母都大寫,每個英文單詞之間使用"_"隔開: MAX_AGE_MY

    注意:JVM中存儲

    [外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-TdVb7Sq0-1599477370391)(D:\java6實訓\Mysql資料庫\Mysql資料庫\typroa\筆記\JVM的記憶體.png)]

2、基本資料類型:(1位元組=8bit)在棧中存放

​ ①整型:

​ byte:1位元組 範圍在-27—27-1

​ short:2位元組 範圍在-215—215-1

​ int:4位元組 範圍在-231—231-1

​ long:8位元組 範圍在-263—263-1

​ ②浮點型:

​ float:8位元組 聲明及初始化:floatd=123.4F

​ double(是Java中預設的浮點型):聲明及初始化:double d1=123.4d,當初始化時float d2=123.2,會報錯,因為java中預設中是double型

​ ④布爾型:boolean,隻有兩個值:true、false

​ ③字元型:

​ char:單引号引起來的,例如:

//char:字元類型
		//①接收字元,表示的是單個字元,隻能接收一個字元
		char c1='中';
		System.out.println(c1);//中
		//②接收整型,最大2位元組16位 表示的是:JVM會去查找ascii碼表數值對應的字元
		char c2=49;
		char c3=65;
		System.out.println("c2:"+c2+" c3:"+c3);//c2:1 c3:A
		char c4=97;
		System.out.println("c4:"+c4);//c4:a
		
		//③接收Uncode字元  以\ u開頭的字元:JVM會去查找Uncode碼表數值對應的字元
		char c5='\u03A6';
		System.out.println(c5);//Φ
		
		//④接收16進制就是接收整型:将16進制轉為10進制再對應的ascii碼值
		char c6=0x23;
		System.out.println(c6);//#
		
//		轉義字元:使用”\”把其轉化成字元的本身輸出,那麼使用”\”的字元稱作為轉義字元。
		System.out.println("\"");//"
		System.out.print("你好");//不換行輸出
		System.out.println("\n");//換行
		System.out.print("中國");//你好中國
		System.out.println("在嗎");
		System.out.println("中國:在");
		//你好”中國” 
		System.out.println("你好\"中國\"");//你好"中國"
           

引用資料類型:(在堆中存放)暫時未講到,以後補充

  • 接口
  • 數組

3、基本資料類型的轉換

  • 隐式轉換 :小精度轉換為大精度,例如:
    short a1=23;
    		long a2=a;
    		System.out.println(a1);//23
               

int和float之間轉換:int–>float,例如:

int a3=56;
		float a4=a3;
		System.out.println(a4);//56.0
           

類似的有:long–>float,short–>int等等

  • 顯示轉換(強制轉換) :強制轉換,大精度–小精度,需要注意當大精度資料中的值大于小精度能夠接受的最大範圍會出現精度丢失,例如:
    int i2=10;
    		byte b2=(byte) i2;
    		System.out.println(b2);//10
    		int i3=129;
    		byte b3=(byte)i3;
    		System.out.println(b3);//-127 
               
    //double --float
    		float f2=(float) 123.45;
    		System.out.println(f2);//123.45
               

注意:不同基本資料類型進行計算時,會先轉為其中最大精度的數值類型再做計算,例如:

double dd1=123.3F+123+1.0;//傳回的是double型,故需要double來接收
	int ii1=(int) (123.3F+123+1.0);//這個用int來接受
           

而在計算時byte、short、char之間不會互相轉換,他們三者在計算時首先會轉換為int類型。

byte bb1=90;
		short ss1=80;
		int ii2=bb1+ss1;//bb1和ss1先會轉換為int類型
           

而在計算時byte、short、char之間不會互相轉換,他們三者在計算時首先會轉換為int類型。

byte bb1=90;
		short ss1=80;
		int ii2=bb1+ss1;//bb1和ss1先會轉換為int類型