Java基礎語法[上]
1:關鍵字(掌握)
(1)被Java語言賦予特定含義的單詞
(2)特點:
全部小寫
(3)注意事項:
A:goto和const作為保留字存在。
B:類似於Notepad++這樣的高階記事本會對關鍵字有特殊顏色標記
2:識別符號(掌握)
(1)就是給類,介面,方法,變數等起名字的字元序列
(2)組成規則:
A:英文大小寫字母
B:數字
C:$和_
(3)注意事項:
A:不能以數字開頭
B:不能是java中的關鍵字
C:區分大小寫
(4)常見的命名規則(見名知意)
A:包 全部小寫
單級包:小寫
舉例:liuyi,com
多級包:小寫,並用.隔開
舉例:cn.itcast,com.baidu
B:類或者介面
一個單詞:首字母大寫
舉例:Student,Demo
多個單詞:每個單詞首字母大寫
舉例:HelloWorld,StudentName
C:方法或者變數
一個單詞:首字母小寫
舉例:name,main
多個單詞:從第二個單詞開始,每個單詞首字母大寫
舉例:studentAge,showAllNames()
D:常量
全部大寫
一個單詞:大寫
舉例:PI
多個單詞:大寫,並用_隔開
舉例:STUDENT_MAX_AGE
3:註釋(掌握)
(1)就是對程式進行解釋說明的文字
(2)分類:
A:單行註釋 //
B:多行註釋 /**/
C:文件註釋(後面講) /** */
(3)把HelloWorld案例寫了一個帶註釋的版本。
後面我們要寫一個程式的過程。
需求:
分析:
實現:
程式碼體現:
(4)註釋的作用
A:解釋說明程式,提高了程式碼的閱讀性。
B:可以幫助我們除錯程式。
後面我們會講解一個更高階的一個除錯工具
4:常量(掌握)
(1)在程式執行的過程中,其值不發生改變的量
(2)分類:
A:字面值常量
B:自定義常量(後面講)
(3)字面值常量
A:字串常量 "hello"
B:整數常量 12,23
C:小數常量 12.345
D:字元常量 'a','A','0'
E:布林常量 true,false
F:空常量 null(後面講)
(4)在Java中針對整數常量提供了四種表現形式
A:二進位制 由0,1組成。以0b開頭。
B:八進位制 由0,1,...7組成。以0開頭。
C:十進位制 由0,1,...9組成。整數預設是十進位制。
D:十六進位制 由0,1,...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭。
5:進位制轉換(瞭解)
(1)其他進位制到十進位制
係數:就是每一個位上的數值
基數:x進位制的基數就是x
權:對每一個位上的資料,從右,並且從0開始編號,對應的編號就是該資料的權。
結果:係數*基數^權次冪之和。
(2)十進位制到其他進位制
除基取餘,直到商為0,餘數反轉。
(3)進位制轉換的快速轉換法
A:十進位制和二進位制間的轉換
8421碼。
B:二進位制到八進位制,十六進位制的轉換
6:變數(掌握)
(1)在程式的執行過程中,其值在某個範圍內可以發生改變的量。理解:如同數學中的未知數。
(2)變數的定義格式:
A:資料型別 變數名 = 初始化值; String s = "hello";
B:資料型別 變數名; String s;
變數名 = 初始化值; s = "hello";
變數的組成規則:
A:必須對其進行限定。如何限定呢?用資料型別
B:我們在運算的時候,不可能是拿著這個空間去運算,我們真正運算
時使用的是該空間中的值,我們就給該空間取了一個名字,變數名。
C:即使你有資料型別了,你有變數名了,但是如果沒有值,這個空間是一個垃圾空間,沒有任何意義。
使用變數的時候要注意的問題:
A:作用域
變數定義在哪個大括號內,它就在這個大括號內有效
並且,在同一個大括號內不能同時定義同名的變數。
B:初始化值
沒有初始化值的變數不能直接使用。
你只要在使用前給值就行,不一定非要在定義的時候立即給值。
C:在一行上建議只定義一個變數,可以定義多個,但是不建議。
7:資料型別(掌握)
(1)Java是一種強型別語言,針對每種資料都提供了對應的資料型別。
(2)分類:
A:基本資料型別:4類8種(整 浮 字 布)
B:引用資料型別:類class,介面interface,陣列[]。
(3)基本資料型別
A:整數 佔用位元組數
byte 1
short 2
int 4
long 8
B:浮點數
float 4
double 8
C:字元
char 2
D:布林
boolean 1
注意:
整數預設是int型別,浮點數預設是double。
建議: 長整數要加L或者l
單精度的浮點數要加F或者f
便於區分。
8:資料型別轉換(掌握)
(1)boolean型別不參與轉換
(2)預設轉換
A:從小到大
B:byte,short,char -- int -- long -- float -- double
C:byte,short,char之間不相互轉換,直接轉成int型別參與運算。
(3)強制轉換
A:從大到小
B:可能會有精度的損失,一般不建議這樣使用。
C:格式:
目標資料型別 變數名 = (目標資料型別) (被轉換的資料);
byte a = 3;
int b = 4;
byte c = (byte)(a+b);
注意:不要隨意的去使用強制轉換,因為它隱含了精度損失問題。
(4)思考題和麵試題:
A:下面兩種方式有區別嗎?
float f1 = (float)12.345;
float f2 = 12.345f;
有區別,f1其實是通過一個double型別轉換過來的
而f2本身就是一個float型別,建議用第二個
B:下面的程式有問題嗎,如果有,在哪裡呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;//先轉成int型別,把int賦給byte,有問題
byte b4 = 3 + 4;//沒有問題,常量,先把結果計算出來,然後看是否在byte的範圍內,如果在就不報錯。
C:下面的操作結果是什麼呢? 結果:-126
byte b = (byte)130;
分析過程:A:獲取130這個資料的二進位制
00000000 00000000 00000000 10000010
這是130的原碼,也是反碼,還是補碼。
B:做擷取操作,截成byte型別的了
10000010
這個結果是補碼
C:已知補碼求原碼
符號位 數值位
補碼 1 0000010
反碼 1 0000001
原碼 1 1111110
D:字元參與運算
是查詢ASCII裡面的值
'a' 97
'A' 65
'0' 48
System.out.println('a'); //a
System.out.println('a' + 1);//98
E:字串參與運算
字串資料和其他資料做+,結果是字串型別。這裡的+不是加法運算,而是字串連線符。
System.out.println("hello"+'a'+1);//helloa1
System.out.println('a'+1+"hello");//98hello
System.out.println("5+5="+5+5);//5+5=55
(1)被Java語言賦予特定含義的單詞
(2)特點:
全部小寫
(3)注意事項:
A:goto和const作為保留字存在。
B:類似於Notepad++這樣的高階記事本會對關鍵字有特殊顏色標記
2:識別符號(掌握)
(1)就是給類,介面,方法,變數等起名字的字元序列
(2)組成規則:
A:英文大小寫字母
B:數字
C:$和_
(3)注意事項:
A:不能以數字開頭
B:不能是java中的關鍵字
C:區分大小寫
(4)常見的命名規則(見名知意)
A:包 全部小寫
單級包:小寫
舉例:liuyi,com
多級包:小寫,並用.隔開
舉例:cn.itcast,com.baidu
B:類或者介面
一個單詞:首字母大寫
舉例:Student,Demo
多個單詞:每個單詞首字母大寫
舉例:HelloWorld,StudentName
C:方法或者變數
一個單詞:首字母小寫
舉例:name,main
多個單詞:從第二個單詞開始,每個單詞首字母大寫
舉例:studentAge,showAllNames()
D:常量
全部大寫
一個單詞:大寫
舉例:PI
多個單詞:大寫,並用_隔開
舉例:STUDENT_MAX_AGE
3:註釋(掌握)
(1)就是對程式進行解釋說明的文字
(2)分類:
A:單行註釋 //
B:多行註釋 /**/
C:文件註釋(後面講) /** */
(3)把HelloWorld案例寫了一個帶註釋的版本。
後面我們要寫一個程式的過程。
需求:
分析:
實現:
程式碼體現:
(4)註釋的作用
A:解釋說明程式,提高了程式碼的閱讀性。
B:可以幫助我們除錯程式。
後面我們會講解一個更高階的一個除錯工具
4:常量(掌握)
(1)在程式執行的過程中,其值不發生改變的量
(2)分類:
A:字面值常量
B:自定義常量(後面講)
(3)字面值常量
A:字串常量 "hello"
B:整數常量 12,23
C:小數常量 12.345
D:字元常量 'a','A','0'
E:布林常量 true,false
F:空常量 null(後面講)
(4)在Java中針對整數常量提供了四種表現形式
A:二進位制 由0,1組成。以0b開頭。
B:八進位制 由0,1,...7組成。以0開頭。
C:十進位制 由0,1,...9組成。整數預設是十進位制。
D:十六進位制 由0,1,...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭。
5:進位制轉換(瞭解)
(1)其他進位制到十進位制
係數:就是每一個位上的數值
基數:x進位制的基數就是x
權:對每一個位上的資料,從右,並且從0開始編號,對應的編號就是該資料的權。
結果:係數*基數^權次冪之和。
(2)十進位制到其他進位制
除基取餘,直到商為0,餘數反轉。
(3)進位制轉換的快速轉換法
A:十進位制和二進位制間的轉換
8421碼。
B:二進位制到八進位制,十六進位制的轉換
6:變數(掌握)
(1)在程式的執行過程中,其值在某個範圍內可以發生改變的量。理解:如同數學中的未知數。
(2)變數的定義格式:
A:資料型別 變數名 = 初始化值; String s = "hello";
B:資料型別 變數名; String s;
變數名 = 初始化值; s = "hello";
變數的組成規則:
A:必須對其進行限定。如何限定呢?用資料型別
B:我們在運算的時候,不可能是拿著這個空間去運算,我們真正運算
時使用的是該空間中的值,我們就給該空間取了一個名字,變數名。
C:即使你有資料型別了,你有變數名了,但是如果沒有值,這個空間是一個垃圾空間,沒有任何意義。
使用變數的時候要注意的問題:
A:作用域
變數定義在哪個大括號內,它就在這個大括號內有效
並且,在同一個大括號內不能同時定義同名的變數。
B:初始化值
沒有初始化值的變數不能直接使用。
你只要在使用前給值就行,不一定非要在定義的時候立即給值。
C:在一行上建議只定義一個變數,可以定義多個,但是不建議。
7:資料型別(掌握)
(1)Java是一種強型別語言,針對每種資料都提供了對應的資料型別。
(2)分類:
A:基本資料型別:4類8種(整 浮 字 布)
B:引用資料型別:類class,介面interface,陣列[]。
(3)基本資料型別
A:整數 佔用位元組數
byte 1
short 2
int 4
long 8
B:浮點數
float 4
double 8
C:字元
char 2
D:布林
boolean 1
注意:
整數預設是int型別,浮點數預設是double。
建議: 長整數要加L或者l
單精度的浮點數要加F或者f
便於區分。
8:資料型別轉換(掌握)
(1)boolean型別不參與轉換
(2)預設轉換
A:從小到大
B:byte,short,char -- int -- long -- float -- double
C:byte,short,char之間不相互轉換,直接轉成int型別參與運算。
(3)強制轉換
A:從大到小
B:可能會有精度的損失,一般不建議這樣使用。
C:格式:
目標資料型別 變數名 = (目標資料型別) (被轉換的資料);
byte a = 3;
int b = 4;
byte c = (byte)(a+b);
注意:不要隨意的去使用強制轉換,因為它隱含了精度損失問題。
(4)思考題和麵試題:
A:下面兩種方式有區別嗎?
float f1 = (float)12.345;
float f2 = 12.345f;
有區別,f1其實是通過一個double型別轉換過來的
而f2本身就是一個float型別,建議用第二個
B:下面的程式有問題嗎,如果有,在哪裡呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;//先轉成int型別,把int賦給byte,有問題
byte b4 = 3 + 4;//沒有問題,常量,先把結果計算出來,然後看是否在byte的範圍內,如果在就不報錯。
C:下面的操作結果是什麼呢? 結果:-126
byte b = (byte)130;
分析過程:A:獲取130這個資料的二進位制
00000000 00000000 00000000 10000010
這是130的原碼,也是反碼,還是補碼。
B:做擷取操作,截成byte型別的了
10000010
這個結果是補碼
C:已知補碼求原碼
符號位 數值位
補碼 1 0000010
反碼 1 0000001
原碼 1 1111110
D:字元參與運算
是查詢ASCII裡面的值
'a' 97
'A' 65
'0' 48
System.out.println('a'); //a
System.out.println('a' + 1);//98
E:字串參與運算
字串資料和其他資料做+,結果是字串型別。這裡的+不是加法運算,而是字串連線符。
System.out.println("hello"+'a'+1);//helloa1
System.out.println('a'+1+"hello");//98hello
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
相關文章
- 《怎麼鞏固JAVA基礎語法基礎(上)》Java
- Java基礎-語法基礎Java
- JAVA語法基礎Java
- Java 基礎語法Java
- Java基礎語法1Java
- JAVA基礎語法(一)Java
- JavaSE之java基礎語法Java
- Java基礎 語法筆記Java筆記
- Java基礎語法筆記Java筆記
- Java基礎語法吐血整理Java
- Java基礎-基礎語法-變數與常量Java變數
- aardio教程一) 基礎語法-上
- Java學習之基礎語法Java
- Java基礎-try-with-resource語法糖Java
- 給Java初學者福利——Java語法基礎Java
- Java基礎知識篇02——Java基本語法Java
- 基礎語法
- java基礎語法知識小結(1)Java
- Java基礎語法之資料型別Java資料型別
- Java學習之基礎語法練習Java
- scala基礎語法-----Spark基礎Spark
- Python基礎:語法基礎(3)Python
- 零基礎學Java-基礎語法篇day1Java
- CSS 基礎語法CSS
- Dart語法基礎Dart
- CSS基礎語法CSS
- Markdown基礎語法
- Python基礎語法Python
- Vue基礎語法Vue
- mysql基礎語法MySql
- JavaScript 基礎語法JavaScript
- Scala基礎語法
- kotlin基礎語法Kotlin
- go 基礎語法Go
- jQuery 基礎語法jQuery
- Markdown 基礎語法
- redis 基礎語法Redis
- jQuery基礎語法jQuery
- Python 基礎語法Python