Java基本語法

鱼香炒肉丝發表於2024-09-21

Java基本語法

註釋

  1. 單行註釋//

  2. 多行註釋/* */

  3. 文件註釋/** */


快捷方法

  1. psvm為加入方法 sout為輸出

  2. Shift+Alt+.為放大字型

  3. Shift+Alt+,為減小字型


識別符號號

  1. 不能用關鍵字作為變數名或方法名![關鍵字](file:///C:/Users/15200/Downloads/Screenshot_20240913_161830_tv.danmaku.bili.jpg?msec=1726895398207 "關鍵字")

  2. 所有識別符號都應該以字母,美元符號,下劃線開始


資料型別

基本型別

數值型別

整數型別
  • byte

  • short

  • int

  • long(long型別後面要加個L)

浮點型
  • float(數字後要加個F)

  • double

字元型
  • char(String可輸入字串,但是不是關鍵字,是類)

Boolean型別

佔一位其值只有true和false

![](file:///C:/Users/15200/Downloads/qq_pic_merged_1726308698253.jpg?msec=1726895398207)

引用型別

  • 介面

  • 陣列


位元組

  • 位(bit):是計算機內部資料儲存最小單位

  • 位元組(byte):是計算機中資料處理的基本單位,習慣用大寫B來表示

  • 1bit表示1位

  • 1byte表示一個位元組1B=8b

  • 1024B=1KB

  • 1024KB=1M

  • 1024M=1G

  • 1024G=1TB


整數和浮點型擴充

進位制

二進位制0b 八進位制0 十六進位制0x

float

有限 離散 舍入誤差 大約 接近但不等於

最好避免使用浮點數進行比較

使用BigDecimal比較(數學工具類)

所有的字元本質還是數字

char c3='\u0061';

System.out.println(c3);

結果為a

char c1='a';

System.out.println((int)c1);

結果為61

跳脫字元

  • \t 為空格

  • \n換行

  • ......

布林值

if(flag)預設為true


型別轉換

低————————————————————>高

byte,short,char—>int—>long—>float—>double(小數優先)

強型別轉換

從高階換到低階

int i=128;

byte b=(byte)i;

System.out.println(b);

結果為-128

超過範圍會記憶體溢位

自動型別轉換

從低階換到高階

注意點

  • 不能把布林值進行轉換

  • 不能把物件轉換成不相干的型別

  • 在高容量轉換到低容量時要強制轉換

  • 轉換時可能存在記憶體溢位和精度問題

  • JDK7新特性,數字間可以用下劃線分割

    int money=10_0000_0000;
    int years=20;
    int total=money*years;//計算時已經溢位
    long total2=money*years;//預設是int,轉換之前已經存在問題
    long total3=money*((long)years);//先把一個數轉換為long
    

變數

例項變數

在方法中使用:new 類名();回車就可以使用 類名.變數名字

從屬於物件;如果不賦值,就為預設值0 0.0

布林值預設為false

除了基本型別,其餘都是null

類變數 static(可以直接使用)

區域性變數

在方法中

必須宣告和初始化值


常量

final 常量名=值

常量名一般用大寫

修飾符不存在先後順序

變數命名規範

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

  • 變數:首字母小寫,後面單詞首字母大寫(駝峰原則)

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

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

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


運算子(operator)

算數運算子:+,-,*,/,%,++,--

int a=3;
int b=a++;//先給b賦值再自增
int c=++a;//先自增後賦值

賦值運算子:=

關係運算子:>,<,<=,>=,==,!=

返回的結果為正確或錯誤

邏輯運算子:&&,||,!

位運算子:&,|,^,~,>>,<<

A=0011 1100

B=0000 1101

A&B=0000 1100兩者都為1才是1

A|B=0011 1101有一者為1就為1

A^B=0011 0001一樣就是0不一樣是1

~B=1111 0010與B相反

左移>> 相當於*2

右移<<相當於/2

條件運算子?:

x?y:z意思為如果x==true,則結果為y,否則為z

擴充套件賦值運算子:+=,-=,*=,/=

a+=b為a=a+b

字串連線符+

a=10;b=20;

System.out.println(""+a+b)結果為1020

字串後面的加號都為字串連線符

冪運算之類的一般使用數學類

Math.pow(2,3);

包機制

  • 一般利用公司域名倒置作為名稱;www.baidu.com com.baidu.www

  • 需要在Java程式中明確匯入該包。使用import語句

    import package1.*