【J2SE】语言基础
標識符
- Java對各種變量,方法,類等要素命名時使用的字符序列稱為標識符
- Java標識符命名規則:
2.1 標識符由字母、下劃線_ 、美元符$ 、數字 組成
2.2 標識符由字母、下劃線_ 、美元符$ 開頭
2.3 Java標識符大小寫敏感,長度無限制 - Java標識符選擇應“見名知意”,不能和java關鍵字重名
關鍵字
- java 中一些賦以特定的含義,用作專門用途的字符串成為關鍵字(keyWorld)
- 所有Java關鍵字都是小寫英文
- goto 和 const 也是Java關鍵字保留
| cabstract | default | if | private | this |
|---|---|---|---|---|
| boolean | do | implements | protected | throw |
| break | double | import | public | throws |
| byte | else | instanceof | return | transient |
| case | extends | int | short | try |
| catch | final | interface | static | void |
| char | finally | long | strictfp( strict float point的縮寫,指的是精確浮點) | volatile |
| class | float | native | super | while |
| const | for | new | switch | null |
| continue | goto | package | synchronized |
Java常量
Java常量值用字符串表示,區分為不同的數據類型
- 整型常量 123
- 實型常量 3.14
- 字符常量 ‘a’
- 邏輯常量 true false
- 字符串常量 “aaa”
常量這個名詞還會用在另外的其他語境中表示值不可變的變量,參考final關鍵字
Java變量
- Java變量是程序中最基本的存儲單元,其要素主要包括 變量名,變量類型和作用域。
- Java程序中每一個變量都屬于特定的數據類型,在使用前必須對其聲明,聲明格式為
type varName [=value][,{varName}] - 本質上講,變量其實是內存中的一小塊區域,使用變量名來訪問這塊區域,每個變量使用前必須要先申請一下,然后必須進行賦值(填充內容),才能使用。
heap 堆
stack 棧
data segment 數據段
code segment 代碼段
什么時候能夠訪問這個變量,你跟它在一個花括號里面,出來它的花括號,就不能訪問了
Java分類
按照聲明的位置:
- 局部變量:方法或者語句塊中定義的變量
- 成員變量:方法外部,類的內部定義的變量
- 類外面不能有變量的聲明
按所屬的數據類型劃分:
- 基本數據類型
- 引用數據類型
Java基本數據類型
Java 定義了4類8種基本數據類型
- 邏輯型–boolean
- 文本型–char
- 整數型–byte、short、int 、long
- 浮點數型–float、double
邏輯型Boolean
- boolean類型數據適用于邏輯運算,用于程序流程控制
- boolean類型數據只允許取值true或false.不可以0或非0的整數替代true和false,這點和C語言不同。
字符型char
- char型數據用來表示通常意義上的“字符”
- 字符常量為用單引號括起來的單個字符,例如
char eChar='a';char cChar='中' - Java采用Unicode編碼,每個字符占兩個字節,因而可用十六進制編碼形式來表示
char c1='\u0061' - Java語言中還允許使用轉義字符‘\’來將其后的字符轉變為其他的含義
char c2= ‘\n’
整數類型
- Java各整數類型有固定的表數范圍和字段長度,其不受具體操作系統的影響,以保證Java程序的可移植性。
- Java語言整型常量的三種表示形式:
2.1 十進制:12 、-314 、0
2.2 八進制:要求以0開頭,如:012
2.3 十六進制:要求0X或者0X開頭,如0x12 - java語言的整型常量默認為int型,聲明long型常量可以在后面加‘l’,‘L’
int i1=600;
long l1=8888888888888888L //必須加l,否則會出錯。
浮點數型
Java浮點類型常量有兩種表示形式
- 十進制數形式:3.14、 314.0 、.314
- 科學計數法形式:3.14e2 、 2.14E2 、100E-2
Java 浮點型常量默認為double型,如要聲明一個常量為float型,則需要在數字后面加上f或者F
double d=12345.6; //正確
float f=12.3f;//必須加f,否則會出錯。
類型轉換
- boolean類型不能轉換為其他類型
- 整型,字符型,浮點型的數據在混合運算中相互轉換,轉換時遵循以下原則。
2.1 容量小的類型自動轉換為容量大的數據類型(如下圖)
2.2容量大的數據類型轉換為容量小的數據類型時,要加上強制轉換符,但可能造成精度降低或溢出
2.3 有多種類型的數據混合運算時,系統首先自動的將所有數據轉換成容量最大的哪一種數據類型,然后再進行計算
2.4 實數常量(如1.2) 默認為double
2.5 整數常量(如123)默認為int
數據類型按照容量大小排序為:
運算符
-
算數運算符:+、 - 、*、 /、 % 、++、 –
-
關系運算符:>、 <、 >=、 <=、 ==、 !=
-
邏輯運算符:& 、&& 、| 、||、!、^
-
位運算符:& 、| 、^、 ~、 >>、 << 、>>>
-
賦值運算符:=
5.1 當"="兩次數據不一致的時候,可以適用默認類型轉轉換或者強制類型轉換原則進行處理long l=100; int i=(int)1;
5.2 可以將整型常量直接賦值給byte,short,char等類型變量,而不需要進行強制類型轉換,只要不超過表數范圍byte b=12;char c=100; byte bb=256; short s=-32769; -
擴展運算符:+=、-=、*=、/=
-
字符串連接運算符:+
int id = 800+90; string s="hello"+"world"
7.1 只要其中一個是字符串,系統自動將另一個操作數轉換為字符串然后再進行連接
7.2 當打印時,無論任何類型,都會轉為字符串進行打印
表達式和語句
- 表達式的類型和值
1.1 對表達式中操作數進行運算得到的結果稱為表達式的值。
1.2 表達式值的數據類型即為表達式的類型。 - 表達式的運算順序
2.1 應按照運算符的優先級從高到低按照順序進行
2.2 優先級相同的運算符按照事先約定的結合方向進行
- 三目條件運算
x?y:zX為boolean表達式,先計算x的值,若為true,則整個三目運算的結果為表達式y的值,否則整個運算結果為表達式z的值。
程序執行的三大結構
順序
分支
- if
- if…else…
- if…elseif…
- if…elseif…elseif…
- if…elseif…elseif…else
- 只有一句語句需要執行的時候,可以省略{}
循環
-
for循環
-
while循環
-
do while循環
-
停止循環
4.1 break :終止后面的所有循環
4.2 Continue:終止當前循環,直接開始下一次循環 -
switch條件語句
5.1 Java中switch語句只能探測int類型
5.2 default可以省略,但不推薦
5.3 多個case可以合并到一起
5.4小心case穿透,推薦使用break語句
方法
- Java的方法類似于其他語言的函數,是一段用來完成特定功能的代碼片段
- 形式參數,實參,返回值,返回值類型
- Java中進行函數調用中傳遞參數時,遵循值傳遞的原則。
- 基本類型傳遞是該數據值本身
- 引用類型傳遞的是對象的引用,而不是對象本身
遞歸調用
方法一:
public class Test{public static void main(String arg[]){System.out.println(f(5));}public static int f(int n){if(n==1 || n==2){return 1;} else {return f(n-1) + f(n-2)}}
}
方法二:
public class Fab{public static void main(String[] args){System.out.println(f(-9));}public static long f(int index){if(index <1){System.out.println("invalid parameter");return -1;}if(index == 1 || index ==2)return 1;}long f1=1L;long f2=2L;long f=0;for(int i=0;i<index-2;i++){f=f1+f2;f1=f2;f2=f;}return f;
}
總結
以上是生活随笔為你收集整理的【J2SE】语言基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【J2SE】java概述
- 下一篇: 【springboot】入门