W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
上篇文章中我們學(xué)習(xí)了JAVA底層的運(yùn)行機(jī)制與深入剖析以及解釋其中JAVA基礎(chǔ)代碼的含義
本篇文章將JAVA基礎(chǔ)Ⅱ全面剖析解釋,因?yàn)镴AVA基礎(chǔ)非常重要,務(wù)必要牢記知識(shí)點(diǎn)?。。?/p>
JAVA采用unicode編碼
1.JAVA代碼都定義在類(lèi)中,類(lèi)由class來(lái)定義,注意:區(qū)分 public class 和 class
2.代碼嚴(yán)格區(qū)分大小寫(xiě),如:main 和 Main 是不一樣的
3.JAVA中的標(biāo)識(shí)符與關(guān)鍵字以及注釋
4.main方法的作用:程序的入口,保證程序的獨(dú)立運(yùn)行,被JVM(JAVA虛擬機(jī))調(diào)用
5.一個(gè)Java文件中只能有一個(gè)公共類(lèi),并且該公共類(lèi)的類(lèi)名必須和文件名相同。
注釋要養(yǎng)成習(xí)慣: 在學(xué)習(xí)中或工作中,只要是寫(xiě)代碼就一定要加以注釋,這是修煉成為程序員的基本功之二
注釋例子:
public class HelloWorld {
/* 這是第一個(gè)Java程序
*它將打印Hello World
* 這是一個(gè)多行注釋的示例
*/
public static void main(String []args){
// 這是單行注釋的示例
/* 這個(gè)也是單行注釋的示例 */
System.out.println("Hello World");
}
}
## 2.JAVA語(yǔ)言分隔符
1.分號(hào) ;
語(yǔ)句的分割,表示一句話結(jié)束,好比咱們使用的句號(hào)
2.花括號(hào) { }
表示一個(gè)代碼塊,是一個(gè)整體,花括號(hào)要一起使用
3.方括號(hào) [ ]
定義數(shù)組和訪問(wèn)數(shù)組元素時(shí)使用
4.圓括號(hào) ( )
使用很廣泛,具體用到細(xì)講
5.圓點(diǎn) .
類(lèi)/對(duì)象 訪問(wèn)它的成員(字段,方法)時(shí)使用等
6.空格
分割一條語(yǔ)句的不同部分,空格的次數(shù)不限制
下面列出了Java保留字,(注):這些保留字不能用于常量、變量、任何標(biāo)識(shí)符的名稱
| 關(guān)鍵字 | 描述 |
| :-------- | --------:|
| class | 定義類(lèi) |
| public | 表示共有屬性或者方法 |
| private | 表示私有字段,或者方法等,只能從類(lèi)內(nèi)部訪問(wèn) |
| protected | 表示字段只能通過(guò)類(lèi)或者其子類(lèi)訪問(wèn)子類(lèi)或者在同一個(gè)包內(nèi)的其他類(lèi) |
| abstract | 抽象方法,抽象類(lèi)的修飾符 |
| extends | 表示一個(gè)類(lèi)是另一個(gè)類(lèi)的子類(lèi) |
| super | 表示基類(lèi) |
| interface | 接口,一種抽象的類(lèi)型,僅有方法和常量的定義 |
| implements | 表示一個(gè)類(lèi)實(shí)現(xiàn)了接口 |
| static | 表示在類(lèi)級(jí)別定義,表示靜態(tài)的,所有實(shí)例共享的|
| this | 表示調(diào)用當(dāng)前實(shí)例或者調(diào)用另一個(gè)構(gòu)造函數(shù) |
| void | 標(biāo)記方法不返回任何值 |
| return | 方法返回值 |
| new | 分配新的類(lèi)實(shí)例 |
| import | 導(dǎo)入類(lèi) |
| package | 一系列相關(guān)類(lèi)組成一個(gè)包 |
| goto | 作為保留關(guān)鍵字,未使用 |
| const | 作為保留關(guān)鍵字,未使用 |
| final | 表示一個(gè)值在初始化之后就不能再改變了表示方法不能被重寫(xiě),或者一個(gè)類(lèi)不能有子類(lèi) |
| if | 條件語(yǔ)句 |
| else | if條件不成立時(shí)執(zhí)行的分支 |
| continue | 不執(zhí)行循環(huán)體剩余部分 |
| while | while循環(huán) |
| do | 循環(huán)語(yǔ)句,循環(huán)體至少會(huì)執(zhí)行一次 |
| for | for循環(huán)語(yǔ)句 |
| switch | 選擇語(yǔ)句 |
| case | switch語(yǔ)句的一個(gè)條件 |
| default | switch語(yǔ)句中的默認(rèn)分支 |
| try | 表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼 |
| catch | 和try搭配撲捉異常信息 |
| finally | 為了完成執(zhí)行的代碼而設(shè)計(jì)的,主要是為了程序的健壯性和完整性,無(wú)論有沒(méi)有異常發(fā)生都執(zhí)行代碼 |
| throw | 拋出異常 |
| throws | 定義方法可能拋出的異常 |
| instanceof | 測(cè)試一個(gè)對(duì)象是否是某個(gè)類(lèi)的實(shí)例 |
| transient | 修飾不要序列化的字段 |
| volatile | 標(biāo)記字段可能會(huì)被多個(gè)線程同時(shí)訪問(wèn),而不做同步 |
| synchronized | 表示同一時(shí)間只能由一個(gè)線程訪問(wèn)的代碼塊 |
| assert | 斷言條件是否滿足 |
| boolean | 布爾數(shù)據(jù)類(lèi)型 |
| byte | 8-bit 有符號(hào)數(shù)據(jù)類(lèi)型 |
| char | 16-bit Unicode字符數(shù)據(jù)類(lèi)型 |
| short | 16位數(shù)字 |
| int | 32位整型數(shù) |
| float | 32-bit單精度浮點(diǎn)數(shù) |
| double | 64-bit雙精度浮點(diǎn)數(shù) |
| long | 64位整型數(shù) |
| strictfp | 浮點(diǎn)數(shù)比較使用嚴(yán)格的規(guī)則 |
| enum | 枚舉類(lèi)型 |
| assert | 斷言條件是否滿足 |
常量:程序中固定不變化的值,例如:整數(shù)1,2,3,小數(shù)3.14,false,true等
變量的概念:占據(jù)著內(nèi)存中的某一個(gè)存儲(chǔ)區(qū)域
該區(qū)域有自己的名稱(變量名)和類(lèi)型(數(shù)據(jù)類(lèi)型);
該區(qū)域的數(shù)據(jù)可以在同一類(lèi)型范圍內(nèi)不斷變化;
為什么要定義變量 ?定義變量:用來(lái)不斷的存放同一類(lèi)型的常量,并可以重復(fù)使用
使用變量注意:變量的作用范圍, 初始化值
定義變量的格式:數(shù)據(jù)類(lèi)型 變量名 = 初始化值
注:格式是固定的,記住格式,以不變應(yīng)萬(wàn)變
作用范圍:定義開(kāi)始到定義它的代碼塊結(jié)束
同一范圍內(nèi),不允許多個(gè)個(gè)局部變量命名沖突
如何聲明數(shù)據(jù)類(lèi)型變量:
聲明類(lèi)型三種格式 變量名首字母小寫(xiě),多個(gè)單詞之間首字母大寫(xiě)
1.聲明變量 數(shù)據(jù)類(lèi)型 變量名; 如:int a;boolean flag;
2.聲明同時(shí)給變量賦值 數(shù)據(jù)類(lèi)型 變量名 = 值;如:char b = ‘中’;
3.給已經(jīng)聲明過(guò)得變量賦值 變量名 = 值;如:falg = true;
變量的起名::有時(shí)候很難給變量取一個(gè)好的名字,于是有的程序員將變量名命名為類(lèi)型名
例如: String string; 或縮寫(xiě),String str ,取變量名最好給有意義的名稱,或名稱短語(yǔ)。
String username; String password; double pi = 3.14;
成員變量:在方法體外,類(lèi)體內(nèi)聲明的變量,又稱字段或全局變量;成員變量的作用域是整個(gè)類(lèi)中
成員變量就是在方法外定義的,相當(dāng)于成員變量是定義在類(lèi)的里面
局部變量:不是聲明在類(lèi)體括號(hào)里面的變量,局部變量使用前必須初始化值,局部變量沒(méi)有默認(rèn)初始化值
局部變量就是在方法或方法塊內(nèi)定義的
局部變量的作用域是從定義開(kāi)始到定義它的代碼塊結(jié)束;
按數(shù)據(jù)類(lèi)型劃分為:數(shù)據(jù)類(lèi)型變量,引用數(shù)據(jù)類(lèi)型變量
| 數(shù)據(jù)類(lèi)型 | 大小/位(B) 1字節(jié) = 8位| 數(shù)據(jù)取值范圍|
| :-------- | --------:| | --------:|
| boolean | 1 | true / false |
| byte | 8 | [-128,127] |
| short | 16 | [-215,215-1] |
| char | 16 | [0,216-1] |
| int | 32 | [-231,231-1] |
| float | 32| [-3.4E38(-3.41038),3.4E38(-1.71030] |
| double | 64 | [-1.7E308(-1.710308),1.7E308(-1.710308] |
| long | 64 | [-263,263-1] |
布爾型boolean:boolean類(lèi)型通常用于邏輯運(yùn)算和程序流程控制。
boolean 類(lèi)型數(shù)據(jù)只允許取值true 或 false(不可以使用0 或非0的整數(shù)來(lái)代替true和false,區(qū)分于C語(yǔ)言)
整數(shù)類(lèi)型(byte、short、int、long),JAVA語(yǔ)言整型常量的四種表示形式:
Int類(lèi)型的默認(rèn)值是0;
二進(jìn)制整數(shù),0b或0B開(kāi)頭,如:int a = 0B110;
十進(jìn)制整數(shù),如:int a = 17;
八進(jìn)制整數(shù),要求以0開(kāi)頭,如 int a = 012;
十六進(jìn)制整數(shù),要求0X或0x開(kāi)頭,如int a = 0x12;
浮點(diǎn)類(lèi)型(float、double):JAVA浮點(diǎn)類(lèi)型常量有兩種表示方式:
十進(jìn)制形式: 例如:3.14 ,168.0, .618,科學(xué)計(jì)數(shù)法形式: 例如:3.14e2, 3.14E2, 1000E-2
Java浮點(diǎn)型常量默認(rèn)是double,則要聲明一個(gè)常量為float型,則需在常量后加上f 或 F
如:double pi = 3.14;//正確 float pi = 3.14F;//必須加上f,或轉(zhuǎn)型 float pi3 = (float)3.14;
(注):double和float并不能表示一個(gè)精確的數(shù)字;
字符型char: char型數(shù)據(jù)用來(lái)表示通常意義上得“字符”,char類(lèi)型默認(rèn)是為空:
char占2字節(jié),的范圍是[0,65535],但是前256個(gè)表示特殊字符;字符常量為 用單引號(hào)括起來(lái)的單個(gè)字符
java字符采用Unicode編碼,可用十六進(jìn)制編碼形式表示
引用數(shù)據(jù)類(lèi)型(String):String不屬于基本數(shù)據(jù)類(lèi)型,String是一個(gè)類(lèi),表示字符串
所謂字符串,就是一串字符,也就是多個(gè)字符連接在一起,字符串都得使用 "" 括起來(lái)的,連接字符串使用 + ;
例如
String str; //聲明一個(gè)引用數(shù)據(jù)類(lèi)型
str = "這是一個(gè)引用數(shù)據(jù)類(lèi)型"; 或 String str = "這是一個(gè)引用數(shù)據(jù)類(lèi)型";
String s = "目標(biāo)" + "產(chǎn)生" + "動(dòng)力"; //字符串的連接采用 + 符號(hào)
System.out.println(s);//輸出結(jié)果,目標(biāo)產(chǎn)生動(dòng)力
運(yùn)算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較等共分以下幾種:
算術(shù)運(yùn)算符:++是前綴先對(duì)此變量加1自增1,在執(zhí)行其他操作++a,后綴先執(zhí)行其他操作,在對(duì)此變量加1;b++
| 運(yùn)算符 /運(yùn)算 | 例子| 結(jié)果|
| :-------- | --------:| | --------:|
| + 正號(hào) | +6 | 6 |
| - 負(fù)號(hào)| a = 5;-a; | -4|
| + 加 | 5 + 5 | 10 |
| - 減 | 3 - 2 | 1 |
| 乘| 3 2 | 6 |
| / 除 | 5 / 5| [ 1 |
| % 取余 | 5 % 5 | 0 |
| ++ 自增(前) | a = 2;b = ++a; | a = 3;b = 3; |
| ++ 自增(后) | a = 2;b = a++; | a = 3;b = 2; |
| -- 自減(前) | a = 2;b = --a; | a = 1;b = 1; |
| -- 自減(后) | a = 2;b = a--; | a = 1;b = 2 |
| + 字符串相加 | " He"+"llo" | "Hello" |
賦值運(yùn)算符:
*= ,+=,-=,=, /=,%=**
int a = 3; a += 5;等同于運(yùn)算a = a + 5;
邏輯運(yùn)算符:
邏輯運(yùn)算符用于boolean類(lèi)型,結(jié)果總是boolean類(lèi)型:
&與,必須兩個(gè)都為真才是真,| 或,一真一假就是真
^異或,//不同為true,相同為flase
移位運(yùn)算符
計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)基本單位//字節(jié):byte,一字節(jié)=8位=8個(gè)0或1表示(bit比特)1位=0和1;
計(jì)算機(jī)二進(jìn)制0和1,逢二進(jìn)一,優(yōu)勢(shì):字節(jié)少數(shù)據(jù)運(yùn)算速度快,
八進(jìn)制逢八進(jìn)一以0開(kāi)頭 ,十進(jìn)制0到9,逢十進(jìn)一,十六進(jìn)制逢十六進(jìn)一;
補(bǔ)碼:計(jì)算機(jī)內(nèi)二進(jìn)制數(shù)值是以補(bǔ)碼形式表示,一個(gè)正數(shù)的補(bǔ)碼和其原碼形式是一樣的,但在負(fù)數(shù)上有去區(qū)別 , 負(fù)數(shù)的補(bǔ)碼& 的二進(jìn)制形式,按位取反在加1,
如正數(shù)10的二進(jìn)制位一字節(jié)0000 1010 存入計(jì)算機(jī)為補(bǔ)碼
-10的補(bǔ)碼是絕對(duì)值是10,絕對(duì)值的表示方式0000 1010,取反為1111 0101再加1為1111 0110是-10的補(bǔ)碼
數(shù)學(xué)運(yùn)算10-2=8;計(jì)算運(yùn)算是還原成二進(jìn)制:10+(-2)=8;
十的二進(jìn)制是0000 1010,-2的二進(jìn)制是2的絕對(duì)值(0000 0010)的二進(jìn)制,
按位取反=(1111 1101)再加1=(1111 1110);
按位相加0000 1010 + 1111 1110 = 0000 1000 再還原成十進(jìn)制=8;
位運(yùn)算符是對(duì)兩個(gè)操作數(shù)中的每一個(gè)二進(jìn)制位都進(jìn)行運(yùn)算:
1.按位取反如:按位還原成二進(jìn)制是01001111,取反后10110000,還原十進(jìn)制11001011
2.按位與&,3.按位或|,4.按位異或^
位移運(yùn)算符 左移:a<<b將二進(jìn)制形式的a逐位左移b位,最低位空出的b位補(bǔ)0;
代碼如正數(shù)100,還原成二進(jìn)制是00000000 00000000 00000000 01100100
100<<3左移三位:00000000 00000000 00000011 00100000
100>>3帶符號(hào)右移3位:00000000 00000000 00000000 00001100
100>>>3無(wú)符號(hào)右移3位:00000000 00000000 00000000 00001100
代碼如負(fù)100:還原成二進(jìn)制是11111111 11111111 11111111 10011100
-100<<左移3位:11111111 11111111 11111100 11100000
-100>>3帶符號(hào)位右移3位:11111111 11111111 11111111 11110011
-100>>>3無(wú)符號(hào)右移3位:00011111 11111111 11111111 11110011
計(jì)算機(jī)就是按位移來(lái)計(jì)算數(shù)的,面試題用最快速度計(jì)算出3*8,就是要位移來(lái)計(jì)算是最快的
8移多少位來(lái)計(jì)算24;
自動(dòng)類(lèi)型轉(zhuǎn)換:容量小的自動(dòng)轉(zhuǎn)換容量大的數(shù)據(jù)類(lèi)型,byte,short,int,三者不會(huì)互相轉(zhuǎn)換,
如代碼:byte b=10; float f=b;//把一個(gè)字節(jié)類(lèi)型變量賦給浮點(diǎn)型變量;
強(qiáng)制類(lèi)型轉(zhuǎn)換:容量大的轉(zhuǎn)換容量小的數(shù)據(jù)類(lèi)型;
如代碼: long g=1000L; int i=(int)g; //把長(zhǎng)整形賦給整形變量
char c=‘a(chǎn)’; int ic=c; 輸出結(jié)果為ASCII碼a為97;
| 符號(hào) | 符號(hào)含義|
| :-------- | --------:|
| \n | 換行 |
| \r | 回車(chē)符在當(dāng)前第一個(gè) |
| \t | 制表符 |
| \t | 水平制表符 |
| \' | 輸出單引號(hào) |
| \“” | 輸出雙引號(hào) |
| \ | 輸出斜杠 |
| \ddd | 八進(jìn)制字符(ddd) |
| \uxxxx | 16進(jìn)制Unicode字符 (xxxx) |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: