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