Java基礎(chǔ)語(yǔ)法
-
1. 概述
- 1.1. 語(yǔ)言特性
- 1.2. 開(kāi)發(fā)平臺(tái)
- 1.3. 開(kāi)發(fā)環(huán)境
- 1.4. 開(kāi)發(fā)步驟
- 1.5. 注釋
-
2. 變量與運(yùn)算符
- 2.1. 關(guān)鍵字/保留字
- 2.2. 標(biāo)識(shí)符
- 2.3. 變量
-
2.4. 常用數(shù)據(jù)類型
- 2.4.1. 基本數(shù)據(jù)類型(8種)
- 2.4.2. 引用數(shù)據(jù)類型
- 2.4.3. 數(shù)據(jù)類型轉(zhuǎn)換
-
2.5. 運(yùn)算符
- 2.5.1. 算術(shù)運(yùn)算符(7個(gè))
- 2.5.2. 關(guān)系運(yùn)算符(6個(gè))
- 2.5.3. 邏輯運(yùn)算符(6個(gè))
- 2.5.4. 位運(yùn)算符(7個(gè))
- 2.5.5. 賦值運(yùn)算符(12個(gè))
- 2.5.6. 條件運(yùn)算符(1個(gè))
- 2.5.7. 優(yōu)先級(jí)
-
3. 流程控制
- 3.1. 順序結(jié)構(gòu)
-
3.2. 分支結(jié)構(gòu)
- 3.2.1. if-else
- 3.2.2. switch-case結(jié)構(gòu)
- 3.2.3. 分支嵌套
-
3.3. 循環(huán)結(jié)構(gòu)
- 3.3.1. for循環(huán)
- 3.3.2. while循環(huán)
- 3.3.3. do-while循環(huán)
- 3.3.4. 循環(huán)嵌套
-
3.4. 關(guān)鍵字
break
和continue
- 3.4.1.
break
- 3.4.2.
continue
- 3.4.1.
-
4. 數(shù)組
-
4.1. 一維數(shù)組
- 4.1.1. 聲明和初始化
- 4.1.2. 元素訪問(wèn)
-
4.2. 二維數(shù)組
- 4.2.1. 聲明和初始化
- 4.2.2. 元素訪問(wèn)
- 4.3. 默認(rèn)值
- 4.4. 說(shuō)明
-
4.1. 一維數(shù)組
-
5. 常用API
-
5.1. 輸入輸出
- 5.1.1. 輸入
- 5.1.2. 輸出
-
5.2. 常用類
- 5.2.1.
java.lang.Math
- 5.2.2.
java.lang.System
- 5.2.3.
java.util.Arrays
- 5.2.1.
-
5.1. 輸入輸出
-
6. 擴(kuò)展
- 6.1. Java虛擬機(jī)的內(nèi)存劃分
- 7. 參考資料
1. 概述
Java是SUN公司于1995年開(kāi)發(fā)的一門(mén)高級(jí)程序設(shè)計(jì)語(yǔ)言
1.1. 語(yǔ)言特性
優(yōu)點(diǎn)
- 跨平臺(tái)——核心特點(diǎn),JVM
- 面向?qū)ο?/li>
- 健壯性
- 安全性
- 簡(jiǎn)單性
- 高性能——即時(shí)編譯,JIT
缺點(diǎn)
- 語(yǔ)法復(fù)雜、嚴(yán)謹(jǐn)
- 架構(gòu)比較重,適用于大型網(wǎng)站開(kāi)發(fā)
- 并非適用于所有領(lǐng)域
1.2. 開(kāi)發(fā)平臺(tái)
- Java SE(J2SE)——桌面級(jí)應(yīng)用
- Java EE(J2EE)——服務(wù)器端應(yīng)用
- Java ME(J2ME)——移動(dòng)終端應(yīng)用
1.3. 開(kāi)發(fā)環(huán)境
-
JDK
:Java程序開(kāi)發(fā)工具包,包含JRE
和開(kāi)發(fā)人員使用的工具 -
JRE
:Java程序運(yùn)行時(shí)環(huán)境,包含JVM
和運(yùn)行時(shí)所需的核心類庫(kù)
JDK = JRE + 開(kāi)發(fā)工具集
JRE = JVM + Java SE標(biāo)準(zhǔn)類庫(kù)
1.4. 開(kāi)發(fā)步驟
-
編碼:編寫(xiě)Java代碼,并保存到
.java
格式的源文件中 -
編譯:使用javac.exe對(duì)源代碼進(jìn)行編譯,生成一個(gè)或多個(gè)字節(jié)碼文件
.class
(每個(gè)對(duì)應(yīng)一個(gè)Java類,文件名與類名相同)javac <src_name>.java
-
執(zhí)行:使用java.exe運(yùn)行字節(jié)碼文件
java <class_name>
注意
- 一個(gè)源文件可以聲明多個(gè)類,但最多有一個(gè)使用public關(guān)鍵字且該類名必須與源文件名相同
1.5. 注釋
-
單行注釋:
//
及該行中其后的內(nèi)容// 這是單行注釋
-
多行注釋:
/*
和*/
之間的所有內(nèi)容/* 這是多行注釋 ... 注釋不參與編譯 */
-
文檔注釋(Java特有):
/**
和*/
之間的所有內(nèi)容/** 這是文檔注釋 @author vinchell @version 1.0.0 */
說(shuō)明
-
文檔注釋可被javadoc工具解析,生成網(wǎng)頁(yè)文件形式的說(shuō)明文檔,命令格式為
javadoc -d <out_dir> -version -author <src_name>.java
2. 變量與運(yùn)算符
2.1. 關(guān)鍵字/保留字
Java語(yǔ)言中具有專門(mén)用途的字符序列(單詞),全部由
小寫(xiě)字母
組成
概覽(50個(gè))
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const* |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto* | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
2.2. 標(biāo)識(shí)符
Java中變量、方法、類等要素命名時(shí)使用的字符序列
命名規(guī)則
- 由大小寫(xiě)英文字母
a-zA-Z
、數(shù)字0-9
、下劃線_
、美元符$
組成 - 以字母、下劃線、美元符開(kāi)頭,不能以數(shù)字開(kāi)頭
- 不能使用關(guān)鍵字和保留字,但可以包含關(guān)鍵字和保留字
- 嚴(yán)格區(qū)分大小寫(xiě),無(wú)長(zhǎng)度限制
命名規(guī)范
- 包名:所有字母都使用小寫(xiě)
- 類名、接口名(大駝峰):所有單詞的首字母使用大寫(xiě)
- 變量名、方法名(小駝峰):除第一個(gè)外,所有單詞的首字母使用大寫(xiě)
- 常量名:所有字母都是用大寫(xiě),單詞之間用下劃線連接
2.3. 變量
變量是內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域,該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化
- 三要素:數(shù)據(jù)類型、變量名、存儲(chǔ)的值
說(shuō)明
- 變量只在其作用域內(nèi)有效
- 同一作用域內(nèi)變量不能重名
聲明語(yǔ)法
// 聲明
type varName;
// 聲明和初始化
type varName = value;
2.4. 常用數(shù)據(jù)類型
2.4.1. 基本數(shù)據(jù)類型(8種)
-
整形(4種)
類型 長(zhǎng)度 表數(shù)范圍 byte 1字節(jié) -128~127 short 2字節(jié) -32768~32767 int(默認(rèn)) 4字節(jié) -231~231-1 (約21億) long 8字節(jié) -263~263-1 說(shuō)明
- Java默認(rèn)的整數(shù)類型為
int
- long類型的字面量(值)末尾需加上
l
或L
- Java默認(rèn)的整數(shù)類型為
-
浮點(diǎn)型(2種)
類型 長(zhǎng)度 表數(shù)范圍 float 4字節(jié) -3.403×1038~3.403×1038 (小數(shù)點(diǎn)后7位) double 8字節(jié) -1.798×10308~1.798×10308 (小數(shù)點(diǎn)后15~16位) 說(shuō)明
- 浮點(diǎn)型字面量的兩種表示形式:十進(jìn)制數(shù)、科學(xué)計(jì)數(shù)法表示
- Java默認(rèn)的浮點(diǎn)數(shù)類型為
double
- float類型的字面量(值)末尾需加上
f
或F
-
字符型(char,2字節(jié))
- 字符型字面量的四種表示形式:?jiǎn)我?hào)(
''
)括起來(lái)的單個(gè)字符、Unicode碼('\uxxxx'
)、轉(zhuǎn)義字符、ASCII碼
- 字符型字面量的四種表示形式:?jiǎn)我?hào)(
-
布爾型(boolean,4字節(jié))
- 字面量只有
true
和false
- Java中0和非0數(shù)不能轉(zhuǎn)換為true和false
- 字面量只有
2.4.2. 引用數(shù)據(jù)類型
類(class)、數(shù)組(array)、接口(interface)、枚舉(enum)、注解(annotation)、記錄(record)
常用引用數(shù)據(jù)類型
-
字符串(String)
字符串是指內(nèi)存中連續(xù)分布的零個(gè)或多個(gè)字符
說(shuō)明
- 字符串字面量是由雙引號(hào)(
""
)括起來(lái)的零個(gè)或多個(gè)字符 - 字符串與基本數(shù)據(jù)類型只能進(jìn)行連接(
+
)運(yùn)算,結(jié)果為字符串
- 字符串字面量是由雙引號(hào)(
-
數(shù)組(Array)
數(shù)組是多個(gè)類型相同的數(shù)據(jù)按照一定順序排列的集合
說(shuō)明
- 數(shù)組的元素可以是任何一種數(shù)據(jù)類型
- 數(shù)組在內(nèi)存中占據(jù)連續(xù)的存儲(chǔ)空間,且長(zhǎng)度確定
- 數(shù)組名引用存儲(chǔ)空間的首地址,下標(biāo)(索引)指定元素的相對(duì)地址
2.4.3. 數(shù)據(jù)類型轉(zhuǎn)換
隱式轉(zhuǎn)換
- 規(guī)則:表數(shù)范圍小的類型轉(zhuǎn)換為表數(shù)范圍大的類型(非存儲(chǔ)空間大小)
- 順序:byte、short、char --> int --> long --> float --> double
- 特例:算術(shù)運(yùn)算中byte、short、char類型自動(dòng)轉(zhuǎn)換為int類型(避免溢出)
顯式轉(zhuǎn)換
-
規(guī)則:表數(shù)范圍大的類型轉(zhuǎn)換為表數(shù)范圍小的類型(可能造成精度損失)
-
語(yǔ)法
type varName = (type) value;
2.5. 運(yùn)算符
2.5.1. 算術(shù)運(yùn)算符(7個(gè))
+
、-
、*
、/
、%
、++
、--
說(shuō)明
-
%
余數(shù)的符號(hào)與被模數(shù)相同 -
++
、--
不改變變量的數(shù)據(jù)類型 - 前置
++
、--
先運(yùn)算再取值;后置++
(--
)先取值再運(yùn)算
2.5.2. 關(guān)系運(yùn)算符(6個(gè))
>
、>=
、<
、<=
、==
、!=
、instanceof
說(shuō)明
- 關(guān)系運(yùn)算符的結(jié)果都是boolean類型
-
==
、!=
適用于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
2.5.3. 邏輯運(yùn)算符(6個(gè))
&
、|
、!
、^
、&&
、||
說(shuō)明
- 邏輯運(yùn)算符的操作數(shù)都是boolean類型,結(jié)果也是boolean類型
-
&&
、||
為短路運(yùn)算,即左操作數(shù)能確定結(jié)果時(shí)不運(yùn)算右操作數(shù)
2.5.4. 位運(yùn)算符(7個(gè))
&
、|
、^
、~
、<<
、>>
、>>>
說(shuō)明
- 位運(yùn)算符的運(yùn)算過(guò)程基于補(bǔ)碼進(jìn)行
- 無(wú)符號(hào)右移運(yùn)算符
>>>
移位后左側(cè)的空位補(bǔ)0(無(wú)論正負(fù))
2.5.5. 賦值運(yùn)算符(12個(gè))
=
、+=
、-=
、*=
、/=
、%=
、&=
、|=
、^=
、>>=
、<<=
、>>>=
說(shuō)明
-
=
兩側(cè)數(shù)據(jù)類型不一致時(shí),需要隱式或顯示類型轉(zhuǎn)換 -
+=
、-=
、*=
、/=
、%=
不改變變量的數(shù)據(jù)類型
2.5.6. 條件運(yùn)算符(1個(gè))
?:
語(yǔ)法
condExpr?trueExpr:falseExpr
說(shuō)明
- 如果運(yùn)算后賦值給變量,則trueExpr和falseExpr的類型應(yīng)相同或能自動(dòng)轉(zhuǎn)換
- 條件表達(dá)式可以改為if-else結(jié)構(gòu);反之,不成立
- 條件表達(dá)式的執(zhí)行效率略高于if-else結(jié)構(gòu)
2.5.7. 優(yōu)先級(jí)
優(yōu)先級(jí) | 運(yùn)算符 | 結(jié)合性 |
---|---|---|
1 |
() 、[] 、.
|
從左到右 |
2 |
++ 、-- 、~ 、! 、+(正) 、-(負(fù))
|
從右到左 |
3 |
* 、/ 、%
|
從左到右 |
4 |
+(加) 、-(減)
|
從左到右 |
5 |
<< 、>> 、>>>
|
從左到右 |
6 |
< 、<= 、>= 、> 、instanceof
|
從左到右 |
7 |
== 、!=
|
從左到右 |
8 | & |
從左到右 |
9 | ^ |
從左到右 |
10 | ` | ` |
11 | && |
從左到右 |
12 | ` | |
13 | ?: |
從右到左 |
14 |
= 、+= 、-= 、*= 、/= 、%= 、&= 、` |
=、 <<=、 >>=、 >>>=` |
3. 流程控制
流程控制就是用來(lái)控制程序中各語(yǔ)句的執(zhí)行順序,從而將其組合成能完成一定功能的邏輯模塊
- 三種流程結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
3.1. 順序結(jié)構(gòu)
程序從上到下逐行執(zhí)行,沒(méi)有任何判斷和跳轉(zhuǎn)
3.2. 分支結(jié)構(gòu)
程序根據(jù)條件選擇性地執(zhí)行某段代碼
3.2.1. if-else
單分支結(jié)構(gòu)
-
語(yǔ)法格式
if (condExpr) { statements }
-
執(zhí)行流程
計(jì)算條件表達(dá)式condExpr:值為true,則執(zhí)行語(yǔ)句statements;否則,不執(zhí)行
-
流程圖
雙分支結(jié)構(gòu)
-
語(yǔ)法格式
if (condExpr) { statements1 } else { statements2 }
-
執(zhí)行流程
計(jì)算條件表達(dá)式condExpr:值為true,則執(zhí)行語(yǔ)句statements1;否則,執(zhí)行語(yǔ)句statements2
-
流程圖
多分支結(jié)構(gòu)
-
語(yǔ)法格式
if (condExpr1) { statements1 } else if (condExpr2) { statements2 } ... else { statementsN+1 }
-
執(zhí)行流程
- 計(jì)算條件表達(dá)式condExpr1:值為true,則執(zhí)行語(yǔ)句statements1;否則,執(zhí)行下一步
- 計(jì)算條件表達(dá)式condExpr2:值為true,則執(zhí)行語(yǔ)句statements2;否則,執(zhí)行下一步
- ……
- 計(jì)算條件表達(dá)式condExprN:值為true,則執(zhí)行語(yǔ)句statementsN;否則,執(zhí)行下一步
- 執(zhí)行語(yǔ)句statementsN+1
-
流程圖
-
說(shuō)明
- 多分支結(jié)構(gòu)中,
else
分支可以有0個(gè)或1個(gè),else if
分支可以有任意個(gè)
- 多分支結(jié)構(gòu)中,
3.2.2. switch-case結(jié)構(gòu)
-
語(yǔ)法結(jié)構(gòu)
switch (expr) { case const1: statements1; case const2: statements2; ... default: statementsN+1; }
-
執(zhí)行流程
- 根據(jù)表達(dá)式expr的值,依次匹配各個(gè)case后的常量
- 如果表達(dá)式的值等于constM,則從語(yǔ)句statementsM向下執(zhí)行,直到遇到break或結(jié)構(gòu)結(jié)束
-
流程圖
-
說(shuō)明
- 表達(dá)式expr只能是byte、short、char、int、String或枚舉類型
- case分支必須是常量且互不相同,不能是變量、表達(dá)式
- default分支可以有0個(gè)或1個(gè),case分支可以有任意個(gè)
- default分支可以在任意位置
3.2.3. 分支嵌套
分支嵌套是指一個(gè)分支結(jié)構(gòu)的某個(gè)(些)分支中包含另一個(gè)(些)分支結(jié)構(gòu)
3.3. 循環(huán)結(jié)構(gòu)
程序根據(jù)循環(huán)條件重復(fù)性地執(zhí)行某段代碼
- 循環(huán)四要素:循環(huán)初始化、循環(huán)條件、循環(huán)體、循環(huán)控制
3.3.1. for循環(huán)
-
語(yǔ)法結(jié)構(gòu)
for (loopInit; loopCond; loopCtrl) { loopBody }
-
執(zhí)行流程
- 執(zhí)行循環(huán)初始化
- 判斷循環(huán)條件是否滿足:滿足則執(zhí)行下一步;否則,跳出循環(huán)
- 執(zhí)行循環(huán)體
- 執(zhí)行循環(huán)控制語(yǔ)句,并跳回步驟2
-
流程圖
-
說(shuō)明
- loopInit可以初始化多個(gè)變量,中間適用
,
分隔 - loopCtrl可以更新多個(gè)變量,中間使用
,
分隔
- loopInit可以初始化多個(gè)變量,中間適用
3.3.2. while循環(huán)
-
語(yǔ)法結(jié)構(gòu)
loopInit while (loopCond) { loopBody loopCtrl }
-
執(zhí)行流程
- 執(zhí)行循環(huán)初始化
- 判斷循環(huán)條件是否滿足:滿足則執(zhí)行下一步;否則,跳出循環(huán)
- 執(zhí)行循環(huán)體和循環(huán)控制,并跳回步驟2
-
流程圖
3.3.3. do-while循環(huán)
-
語(yǔ)法結(jié)構(gòu)
loopInit do { loopBody loopCtrl } while (loopCond);
-
執(zhí)行流程
- 執(zhí)行循環(huán)初始化
- 執(zhí)行循環(huán)體和循環(huán)控制
- 判斷循環(huán)條件是否滿足:滿足則跳回步驟2;否則,跳出循環(huán)
-
流程圖
3.3.4. 循環(huán)嵌套
循環(huán)嵌套是指一個(gè)循環(huán)結(jié)構(gòu)A的循環(huán)體中包含另一個(gè)循環(huán)結(jié)構(gòu)B,習(xí)慣上將循環(huán)結(jié)構(gòu)A稱為外層循環(huán),循環(huán)結(jié)構(gòu)B稱為內(nèi)層循環(huán)
3.4. 關(guān)鍵字break和continue
3.4.1. break
結(jié)束當(dāng)前循環(huán)或switch
結(jié)構(gòu),即跳出循環(huán)或switch
結(jié)構(gòu)
語(yǔ)法格式
// 無(wú)標(biāo)簽:結(jié)束最近的循環(huán)或switch結(jié)構(gòu)
break;
// 有標(biāo)簽:結(jié)束標(biāo)簽指定的循環(huán)或switch結(jié)構(gòu)
break label;
3.4.2. continue
結(jié)束本次循環(huán),開(kāi)始下一次循環(huán)
語(yǔ)法格式
// 無(wú)標(biāo)簽:結(jié)束最近循環(huán)結(jié)構(gòu)的本次循環(huán),開(kāi)始下一次循環(huán)
continue;
// 有標(biāo)簽:結(jié)束標(biāo)簽指定循環(huán)結(jié)構(gòu)的本次循環(huán),開(kāi)始下一次循環(huán)
continue label;
4. 數(shù)組
數(shù)組是多個(gè)類型相同的數(shù)據(jù)按照一定順序排列的集合
說(shuō)明
- 數(shù)組的元素可以是任何一種數(shù)據(jù)類型
- 數(shù)組在內(nèi)存中占據(jù)連續(xù)的存儲(chǔ)空間且長(zhǎng)度不可更改
- 數(shù)組占用空間的大小取決于其長(zhǎng)度和元素類型
- 數(shù)組中的元素在內(nèi)存中是依次緊密排列的,即有序的
- 數(shù)組名引用存儲(chǔ)空間的首地址,下標(biāo)(索引)指定元素的相對(duì)地址
4.1. 一維數(shù)組
4.1.1. 聲明和初始化
// 靜態(tài)初始化
type[] arrName = new type[]{value0, value1...}; // 推薦
type arrName[] = new type[]{value0, value1...};
type[] arrName = {value0, value1...}; // 類型推斷
// 動(dòng)態(tài)初始化
type[] arrName = new type[nElem]; // 推薦
type arrName[] = new type[nElem];
說(shuō)明
- 數(shù)組變量和數(shù)組元素的初始化操作同時(shí)進(jìn)行,稱為靜態(tài)初始化;數(shù)組變量和數(shù)組元素的初始化操作分開(kāi)進(jìn)行,則稱為動(dòng)態(tài)初始化
- 靜態(tài)初始化的數(shù)組長(zhǎng)度由靜態(tài)數(shù)組的個(gè)數(shù)決定;動(dòng)態(tài)初始化則需要指定數(shù)組元素的個(gè)數(shù)
4.1.2. 元素訪問(wèn)
arrName[index]
說(shuō)明
- 數(shù)組的長(zhǎng)度為
arrName.length
- 數(shù)組元素的下標(biāo)范圍為
0~length-1
4.2. 二維數(shù)組
4.2.1. 聲明和初始化
// 靜態(tài)初始化
type[][] arrName = new type[][]{{value0, value1...}, {value0, value1...}...}; // 推薦
type arrName[][] = new type[][]{{value0, value1...}, {value0, value1...}...};
type[] arrName[] = new type[][]{{value0, value1...}, {value0, value1...}...};
type[][] arrName = {{value0, value1...}, {value0, value1...}...}; // 類型推斷
// 動(dòng)態(tài)初始化
type[][] arrName = new type[nElem1][nElem2]; // 推薦
type arrName[][] = new type[nElem1][nElem2];
type[] arrName[] = new type[nElem1][nElem2];
type[][] arrName = new type[nElem1][]; // 缺省最后一維
4.2.2. 元素訪問(wèn)
// 訪問(wèn)外層元素
arrName[index1]
// 訪問(wèn)內(nèi)層元素
arrName[index1][index2]
4.3. 默認(rèn)值
元素類型 | 初始值 |
---|---|
byte、short、int | 0 |
long | 0l |
float | 0.0f |
double | 0.0 |
char | 0或'\u0000' |
boolean | false |
引用類型 | null |
4.4. 說(shuō)明
- 高維數(shù)組本質(zhì)上是低維數(shù)組的嵌套,即高維數(shù)組的元素是低維數(shù)組的引用
- 各維度數(shù)組元素的長(zhǎng)度可以相同,也可以不同
- 當(dāng)前維度數(shù)組的長(zhǎng)度為
arrName.length
,其數(shù)組元素的長(zhǎng)度為arrName[index].length
- 維度不同、元素類型的數(shù)組視為不同的引用類型,不能相互轉(zhuǎn)換
5. 常用API
5.1. 輸入輸出
5.1.1. 輸入
-
導(dǎo)包
java.util.Scanner
import java.util.Scanner;
-
實(shí)例化
Scanner
類Scanner scanner = new Scanner(System.in);
-
調(diào)用
nextXxx
方法文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-710451.htmlxxx input = scanner.nextXxx();
-
關(guān)閉資源文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-710451.html
scanner.close();
5.1.2. 輸出
// 控制臺(tái)輸出并換行
System.out.println(output);
// 控制臺(tái)輸出不換行
System.out.print(output);
5.2. 常用類
5.2.1. java.lang.Math
類別 | 方法 | 說(shuō)明 |
---|---|---|
數(shù)學(xué)函數(shù) | static double sqrt(double a) | 返回a的平方根 |
隨機(jī)數(shù) | static double random() | 返回[0.0, 1.0)范圍內(nèi)的隨機(jī)數(shù) |
5.2.2. java.lang.System
類別 | 方法 | 說(shuō)明 |
---|---|---|
時(shí)間日期 | static long currentTimeMillis() | 返回當(dāng)前時(shí)間戳 |
5.2.3. java.util.Arrays
類別 | 方法 | 說(shuō)明 |
---|---|---|
拼接 | static String toString(type[] a) | 返回由數(shù)組元素組成的字符串(用[] 括起,元素間由, + 分隔) |
排序 | static void sort(type[] a) | 將數(shù)組a的元素按照升序排序 |
排序 | static void sort(type[] a, int fromIndex, int toIndex) | 將數(shù)組a指定范圍[fromIndex, toIndex)內(nèi)的元素按照升序排序 |
查找 | static int binarySearch(type[] a, type key) | 返回key在有序數(shù)組a中的第一次出現(xiàn)的下標(biāo),不存在則返回負(fù)數(shù) |
查找 | static int binarySearch(type[] a, int fromIndex, int toIndex, type key) | 返回key在有序數(shù)組a指定范圍[fromIndex, toIndex)內(nèi)的第一次出現(xiàn)的下標(biāo),不存在則返回負(fù)數(shù) |
復(fù)制 | static type[] copyOf(type[] original, int newLength) | 復(fù)制數(shù)組original到長(zhǎng)度為newLength的新數(shù)組中并返回 |
復(fù)制 | static type[] copyOfRange(type[] original, int from, int to) | 復(fù)制數(shù)組original指定范圍[from, to)內(nèi)的元素到長(zhǎng)度為newLength的新數(shù)組中并返回 |
比較 | static boolean equals(type[] a, type[] b) | 比較數(shù)組a、b的元素是否相同 |
比較 | static boolean equals(type[] a, int aFromIndex, int aToIndex, type[] b, int bFromIndex, int bToIndex) | 比較數(shù)組a、b指定范圍[aFromIndex, aToIndex)、[bFromIndex, bToIndex)內(nèi)的元素是否相同 |
填充 | static void fill(type[] a, type val) | 用val填充數(shù)組a |
填充 | static void fill(type[] a, int fromIndex, int toIndex, type val) | 用val填充數(shù)組a的指定范圍[fromIndex, toIndex) |
6. 擴(kuò)展
6.1. Java虛擬機(jī)的內(nèi)存劃分
區(qū)域名稱 | 作用 |
---|---|
虛擬機(jī)棧 | 存儲(chǔ)正在執(zhí)行方法的局部變量表(基本數(shù)據(jù)類型、對(duì)象引用)等 |
堆 | 存儲(chǔ)對(duì)象 |
方法區(qū) | 存儲(chǔ)已被JVM加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等 |
本地方法棧 | 本地(native)方法執(zhí)行期間的內(nèi)存區(qū)域 |
程序計(jì)數(shù)器 | 存放每一個(gè)線程下一條要執(zhí)行指令的地址 |
7. 參考資料
- 尚硅谷Java零基礎(chǔ)全套視頻教程(宋紅康2023版,java入門(mén)自學(xué)必備)_嗶哩嗶哩_bilibili
到了這里,關(guān)于【后端開(kāi)發(fā)】01-Java基礎(chǔ)語(yǔ)法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!