01-Java基礎語法
Java基礎語法
1.註釋(理解)
單行註釋
//這是單行註釋文字
多行註釋
/*
這是多行註釋
這是多行註釋
*/
2.關鍵字(理解)
關鍵字特點:
關鍵字的字母全部小寫,如public、class、static等。
3.常量(應用)
常量:在程式執行過程中,其值不可以發生改變的量
Java中常量的分類:
整數常量:整數,例如:-10、0、88等
小數常量:小數,例如:-5.5、1.0、88.88等
字元常量:用單引號括起來的一個字元,例如:‘a’、‘5’、‘B’、'中’等
布林常量:布林值,表示真假,只有兩個值true和false
空常量:一個特殊的值,空值,值為null
4.Java中的資料型別(記憶,應用)
Java是一個強型別語言,Java中的資料必須明確資料型別。在Java中的資料型別包括基本資料型別和引用資料型別倆種。
Java中的基本資料型別:
資料型別 | 關鍵字 | 記憶體佔用 | 取值範圍 |
---|---|---|---|
整數型別 | byte | 1 | -128-127 |
short | 2 | -32768-32767 | |
int(預設) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮點型別 | float | 4 | 負數: 3.402823E+38 |
double(預設) | 8 | 負數:-1.797693E+308到-4.9000000E-324 正數:4.9000000E-324 到 1.797693E+308 | |
字元型別 | char | 2 | 0-65535 |
布林型別 | boolean | 1 | true,false |
5.變數(應用)
變數:在程式執行過程中,其值傳送改變的量。
定義格式:
資料型別 變數 = 初始化值;(int age = 18;)
資料型別 變數名;(double money;)
變數名 = 初始化值;(money = 5.5;)
注意事項:
1.在同一對花括號中,變數名不可以重複。
2.在變數使用前,必須先初始化(賦值)。
3.在定義long型別變數時,需要在整數後面加L,因為整數預設是int型別,整數太大可能超過int範圍。
4.定義float型別變數時,需要在小數後面加F,因為浮點型的預設型別是double,double的取值範圍大於float,型別不相容。
6.識別符號(記憶、理解)
識別符號:是使用者程式設計時使用的名字,用於給類,方法,變數使用的。
Java中識別符號的組成規則:
1.由字母、數字、下劃線"_"、美元符號"$"組成,第一個之母不可以是數字。
2.不可以使用Java中的關鍵字作為識別符號。
3.識別符號區分大小寫。
7.型別轉換(理解)
1.自動型別轉換:
把一個數據範圍小的數值或者變數賦值,給另一個表示資料範圍大的變數。這種轉換方式是自動的,直接書寫。
double = 10; //把int型別的10給double型別賦值
System.out.println(num); // 輸出10.0
2.強制型別轉換:
把一個表示資料範圍很大的數值或者變數賦值給一個表示資料範圍小的變數。
強制型別轉換格式:目標資料型別 變數名 = (目標資料型別)值或者變數;
double num1 = 5.5;
int num2 = (int)num1;//將double型別的num1強制轉換為int型別
System.out.println(num2);//輸出5(小數位直接捨棄)
3.資料型別從小到大圖:
說明:
1.char型別的資料轉換為int型別是按照碼錶中對應的int值進行計算的。比如ASCII碼錶中,'a’對應97。
int a = 'a';
System.out.println(a); // 將輸出97
2.整數預設是int型別,byte、short和char型別資料參與運算均會自動轉換為int型別。
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2;
// 第三行程式碼會報錯,b1和b2會自動轉換為int型別,計算結果為int,int賦值給byte需要強制型別轉換。
// 修改為:
int num = b1 + b2;
// 或者:
byte b3 = (byte) (b1 + b2);
3.boolean型別不能與其他基本資料型別相互轉換。
運算子
1算數運算子(理解)
符號 | 作用 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
% | 取餘 |
注意:
/和%的區別:倆個數據做除法,/去結果的商,%取結果的餘數。
整數操作只能得到整數,想要得到小數,必須有浮點數參與運算。
int a = 10;
int b = 3;
System.out.println(a / b); // 輸出結果3
System.out.println(a % b); // 輸出結果1
2字元的"+"操作
‘a’–97 a-z是連續的,所有’b’對應的值是98,'c’對應的值是99,依次增加
‘A’–65 A-Z是連續的,所有’B’對應的值是66,'C’對應的值是67,依次增加
‘0’–48 0-9是連續的,所以’1’對應的數值是49,'2’是50,依次遞加
//可以通過使用字元與整數做算術運算,得出字元對應的數值是多少
char ch1 = 'a';
System.out.println(ch1 + 1); // 輸出98,97 + 1 = 98
char ch2 = 'A';
System.out.println(ch2 + 1); // 輸出66,65 + 1 = 66
char ch3 = '0';
System.out.println(ch3 + 1); // 輸出49,48 + 1 = 49
3.賦值運算子(應用)
符號 | 作用 | 說明 |
---|---|---|
= | 賦值 | a=10,將10賦值給變數a |
+= | 加後賦值 | a+=b,將a+b的值給a |
-= | 減後賦值 | a-=b,將a-b的值給 |
*= | 乘後賦值 | a*=b,將a×b的值給a |
/= | 除後賦值 | a/=b,將a÷b的商給a |
%= | 取餘後賦值 | a%=b,將a÷b的餘數給a |
注意:
擴充套件的賦值運算子隱含了強制型別轉換。
4.自增自減運算子(理解)
符號 | 作用 | 說明 |
---|---|---|
++ | 自增 | 變數的值加1 |
– | 自減 | 變數的值減1 |
注意事項:
單獨使用的時候, ++和-- 無論是放在變數的前邊還是後邊,結果是一樣的
int i = 10;
i++; // 單獨使用
System.out.println("i:" + i); // i:11
int j = 10;
++j; // 單獨使用
System.out.println("j:" + j); // j:11
參與操作的時候,如果放在變數的後邊,先拿變數參與操作,後拿變數做++或者–。
參與操作的時候,如果放在變數的前邊,先拿變數做++或者–,後拿變數參與操作。
int x = 10;
int y = x++; // 賦值運算,++在後邊,所以是使用x原來的值賦值給y,x本身自增1
System.out.println("x:" + x + ", y:" + y); // x:11,y:10
int m = 10;
int n = ++m; // 賦值運算,++在前邊,所以是使用m自增後的值賦值給n,m本身自增1
System.out.println("m:" + m + ", m:" + m); // m:11,m:11
5.關係運算符(應用)
符號 | 說明 |
---|---|
== | a==b,判斷a和b的值是否相等,成立為true,不成立為false |
!= | a!=b,判斷a和b的值是否不相等,成立為true,不成立為false |
> | a>b,判斷a是否大於b,成立為true,不成立為false |
>= | a>=b,判斷a是否大於等於b,成立為true,不成立為false |
< | a<b,判斷a是否小於b,成立為true,不成立為false |
<= | a<=b,判斷a是否小於等於b,成立為true,不成立為false |
6.邏輯運算子(應用)
符號 | 作用 | 說明 |
---|---|---|
& | 邏輯與 | a&b,a和b都是true,結果為true,否則為false |
| | 邏輯或 | a|b,a和b都是false,結果為false,否則為true |
^ | 邏輯異或 | a^b,a和b結果不同為true,相同為false |
! | 邏輯非 | !a,結果和a的結果相反 |
7.短路邏輯運算子(應用)
符號 | 作用 | 說明 |
---|---|---|
&& | 短路與 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
邏輯與&,無論左邊真假,右邊都要執行。
短路與&&,如果左邊為真,右邊執行;如果左邊為假,右邊不執行。
邏輯或|,無論左邊真假,右邊都要執行。
短路或||,如果左邊為假,右邊執行;如果左邊為真,右邊不執行。
8.三元運算子(理解)
格式:
關係表示式 ? 表示式1 : 表示式2;
解釋:問號前面的位置是判斷的條件,判斷結果為boolean型,為true時呼叫表示式1,為false時呼叫表示式2。
其邏輯為:如果條件表示式成立或者滿足則執行表示式1,否則執行第二個。
案例:
需求:一個寺廟住著三個和尚,身高分別為150cm,170cm,180cm,用程式獲取這三個和尚的最高身高。
public class test(){
public static void main(String[] args) {
int height1 = 150;
int height2 = 210;
int height3 = 165;
int tempHeight = height1 > height2 ? height1 : height2;
int maxHeight = tempHeight > height3 ? tempHeight : height3;
System.out.println("maxHeight:" + maxHeight);
}
}
9.資料輸入(應用)
1.導包
import java.util.Scanner
2.建立Scanner物件
Scanner sc = new Scanner(System.in);// 建立Scanner物件,sc表示變數名,其他均不可變
3.接受資料
int i = sc.nextInt(); // 表示將鍵盤錄入的值作為int數返回