java基础案例教程前4章知识点_java学习记录4 Java基础知识点
java學(xué)習(xí)記錄4 Java基礎(chǔ)知識(shí)點(diǎn)
1. 注釋
單行注釋
使用“//”開(kāi)頭,后面是注釋的內(nèi)容
一般在要注釋的語(yǔ)句的上面加注釋
多行注釋
以“/*”開(kāi)頭,以“*/”結(jié)尾
可以做行內(nèi)注釋
不可嵌套使用
文檔注釋
以“/**”開(kāi)頭,以“*/”結(jié)尾
用來(lái)給類和方法做注釋,用以說(shuō)明類的功能和作者等信息
包含一些說(shuō)明行文字及一些JavaDoc標(biāo)簽,可以在寫(xiě)項(xiàng)目是生成項(xiàng)目的API
注意
注釋不會(huì)出現(xiàn)在字節(jié)碼文件中,即Java編譯器編譯時(shí)會(huì)跳過(guò)注釋語(yǔ)句
2. 標(biāo)識(shí)符規(guī)則-駝峰規(guī)則
定義
是用來(lái)給變量、類、方法以及包進(jìn)行命名的
規(guī)則
必須以字母、下劃線_、美元符$開(kāi)頭
其它部分可以是字母、下劃線,美元符和數(shù)字的任意組合
大小敏感,長(zhǎng)度無(wú)限制
不可以是Java的關(guān)鍵字
規(guī)范
給類起名,首字母要大寫(xiě),如Man,GoodMan.
給方法和變量起名,第一個(gè)單詞小寫(xiě),從第二個(gè)單詞開(kāi)始首字母大寫(xiě),遵從“駝峰原則”,如:eat(),eatFood().
Java采用Unicode標(biāo)準(zhǔn)國(guó)際字符集,因此變量名可以是英文的,也可以是中文的,但盡量不要用中文。
3. 變量
本質(zhì)
本質(zhì)上是一個(gè)“可操作的存儲(chǔ)空間”,空間的位置是確定的,但是里面放置什么值是不確定的。我們可通過(guò)變量名來(lái)訪問(wèn)“對(duì)應(yīng)的存儲(chǔ)空間”,從而操縱這個(gè)“存儲(chǔ)空間”存儲(chǔ)的值。
Java是強(qiáng)類型語(yǔ)言,每個(gè)變量都必須聲明其數(shù)據(jù)類型。
是最基本的存儲(chǔ)單元,其要素包括變量名、變量類型和作用域。變量在使用前必須對(duì)其聲明,只有變量聲明以后,才能為其分配相應(yīng)長(zhǎng)度的存儲(chǔ)空間。
包括基本類型和引用類型兩種類型的變量。
不提倡“一行聲明多個(gè)變量”
局部變量必須聲明并且初始化之后才能使用
分類
局部變量(local variable)
含義:方法或語(yǔ)句塊內(nèi)部定義的變量。
周期:從聲明的位置開(kāi)始到方法和語(yǔ)句塊執(zhí)行完畢為止。
局部變量使用之前必須初始化。
成員變量(member variable)
也叫實(shí)例變量。
定義在方法的外部、類的內(nèi)部的變量,沒(méi)有被static修飾。
從屬于對(duì)象。
生命周期伴隨對(duì)象始終。
會(huì)自行初始化成該類型的默認(rèn)出始值。
出始值:int - 0,double - 0.0,char - '\u0000',boolean - false
靜態(tài)變量(static variable)
定義在類內(nèi)部,使用static定義。
從屬于類。
生命周期伴隨類始終,從類加載到類卸載。生命周期最長(zhǎng)。
4. 常量(Constant)
定義
通常指的是一個(gè)固定的值。
主要利用關(guān)鍵字final類定義一個(gè)常量。
常量一旦被初始化之后不能再更改其值。
聲明格式:
final type varName = value;
1、2等是字面常量,被final修飾的是符號(hào)常量
規(guī)范
所有變量、方法、類名:見(jiàn)名知意。
常量:大寫(xiě)字母和下劃線:MAX_VALUE。
類名:首字母大寫(xiě)和駝峰原則
方法名:首字母小寫(xiě)和駝峰原則
5. 基本數(shù)據(jù)類型(primitive data type)
數(shù)值型
byte:整數(shù)類型,占1個(gè)字節(jié)
short:整數(shù)類型,2個(gè)字節(jié)
int:整數(shù)類型,4個(gè)字節(jié)
long:整數(shù)類型,8個(gè)字節(jié)
float:浮點(diǎn)類型,4個(gè)字節(jié)
double:浮點(diǎn)類型,8個(gè)字節(jié)
字符型
char:2個(gè)字節(jié)
布爾型
boolean:1位
注意
引用數(shù)據(jù)類型占4個(gè)字節(jié)
包括類(class)、接口(interface)、數(shù)組
1個(gè)字節(jié)=8位
6. 整型變量和常量
整型數(shù)據(jù)類型
byte:1字節(jié) ,8次方,-2的7次方到2的7次方-1,-128到127,其中有0
short:2字節(jié),16次方,-32768到32767
int:4字節(jié),32次方,范圍-2三十一次方到2的三十一次方-1,約21億
long:8字節(jié),2的64次方
注:其中一位表示正負(fù)。
各種進(jìn)制的表示方法
十進(jìn)制:如:99,-10等
八進(jìn)制:以0開(kāi)頭
十六進(jìn)制:以0x或0X開(kāi)頭
二進(jìn)制:以0b或0B開(kāi)頭
注:整型常量默認(rèn)是int類型
注:后面加L表示這是一個(gè)long類型的常量,L大小寫(xiě)都行。
7. 浮點(diǎn)型變量和BigDecimal的使用
數(shù)據(jù)類型
float
占4字節(jié),-3.403E38~3.403E38
但精度類型,尾數(shù)可精確7位有效數(shù)字
float類型的數(shù)值有一個(gè)后綴F或f
double
占8字節(jié),-1.798E308~1.798E308
雙精度類型,精度約為float類型的兩倍,浮點(diǎn)型常量默認(rèn)double類型
表示形式
十進(jìn)制數(shù)形式:3.14 ,314.0,0.314
科學(xué)計(jì)數(shù)法形式:314e2或314E2表示314乘以10的二次方,等于31400.0, 314E-2表示314乘以10的-2次方,等于3.14
注
float和int占得字節(jié)一樣,但表示的范圍更廣,因?yàn)閒loat有效數(shù)
浮點(diǎn)數(shù)是不精確的。不要用于比較
比較的話用BigInteger和BigDecimal,在java.math包下,這兩個(gè)類可以處理任意長(zhǎng)度的數(shù)值。BigInteger可以實(shí)現(xiàn)任意精度的整數(shù)運(yùn)算。BigDecimal可以實(shí)現(xiàn)任意精度的浮點(diǎn)運(yùn)算。可用于金融領(lǐng)域。
代碼示例:
double d = 0.1;
double e = 1.0/10;
System.out.println(d == e);//類型一樣true
float f = 0.1f;
double g = 1.0/10;
System.out.println(f == g);//類型不一樣false
8. 字符型類型-轉(zhuǎn)義字符
字符型變量/常量
char,占兩個(gè)字節(jié)
用單引號(hào)表示,可允許有65536的字符,包含世界上所有的符號(hào)
通常用從'\u0000'到‘\uFFFF’之間的十六進(jìn)制值來(lái)表示(u代表Unicode)
代碼示例:
char a = 'T';
char b = '尚';
char c = '\u0061';
System.out.println(a);
System.out.println(b);
System.out.println(c);//結(jié)果為a
?
System.out.println('a'+'b');//結(jié)果為195
System.out.println(" "+'a'+'b');//結(jié)果為ab
9. 布爾類型
內(nèi)存只占1位
只有兩個(gè)值,true或false
不可以使用0或非0的整數(shù)代替true和false,這點(diǎn)與c不同
Boolean類型用來(lái)判斷邏輯條件,一般用于程序流程控制
10. 運(yùn)算符(operator)
算數(shù)運(yùn)算符
二元運(yùn)算符
規(guī)則
整數(shù)運(yùn)算
如果兩個(gè)操作數(shù)有一個(gè)為L(zhǎng)ong,則結(jié)果為L(zhǎng)ong。
沒(méi)有Long時(shí),結(jié)果為int。即使操作數(shù)全為short,byte,結(jié)果也是int。
浮點(diǎn)運(yùn)算
如果兩個(gè)操作數(shù)有一個(gè)為double,則結(jié)果為double。
只有兩個(gè)操作數(shù)都是float,則結(jié)果為float。
運(yùn)算中有一個(gè)浮點(diǎn)數(shù),結(jié)果為浮點(diǎn)數(shù)。
取模運(yùn)算
其操作數(shù)可以為浮點(diǎn)數(shù),一般是整數(shù),結(jié)果是余數(shù)
余數(shù)符號(hào)和左邊操作數(shù)相同,7%3=1,-7%2=-1,7%-3=1。
自增自減
//自增,自減
int c = 4;
int d = c++;
System.out.println("c="+c+"\nd="+d);//c=5,d=4,先把c的值賦給d,c再加1
c = 4;
d = ++c;
System.out.println("c="+c+"\nd="+d);//c=5,d=5,c先加1,再把c的值賦給d
賦值運(yùn)算符
實(shí)例
int e = 3;
int f = 4;
f *= e + 3;//等于f*(e+3)=24,始終先計(jì)算符號(hào)后面
System.out.println(f);
關(guān)系運(yùn)算符
結(jié)果是布爾值:true/false
邏輯運(yùn)算符
邏輯與 &,兩邊都要查看
邏輯或 |,兩邊都要查看
短路與 && ,如果第一個(gè)是false,就不看第二個(gè)條件,就是false,否則會(huì)查看第二條件
短路或 ||,如果第一個(gè)是true,就不看第二個(gè)條件,就是true,否則會(huì)查看第二條件
異或 ^,兩邊相同false,兩邊不同true
位運(yùn)算符
移位算法,左移<>,相當(dāng)于除以2
字符串連接符
“+”是連接符
當(dāng)“+”兩邊,有一邊是字符串,得到的結(jié)果就是字符串
示例代碼
String a = "3";
int b = 4;
int c = 5;
char d = 'a';
System.out.println(a+b+c); ?//345
System.out.println(b+c+a); ?//93
System.out.println(d); ? ? ?//a
System.out.println(d+4); ? ?//101
條件運(yùn)算符
三目運(yùn)算符
11. 自動(dòng)類型轉(zhuǎn)換
指的是容量小數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換成容量大的數(shù)據(jù)類型
13. 基本數(shù)據(jù)類型溢出
注意計(jì)算結(jié)果可能會(huì)溢出
表達(dá)是中兩個(gè)變量是int,結(jié)果是變量,如果溢出,就讓其中一個(gè)做變量提升成long類型
14. 使用Scanner獲取鍵盤(pán)輸入
要導(dǎo)入包:import java.util.*;
Scanner scanner = new Scanner(System.in);
System.out.println("姓名:");
String name = scanner.nextLine();
System.out.println("愛(ài)好:");
String favor = scanner.nextLine();
System.out.println("年齡:");
int age = scanner.nextInt();
System.out.println(name);
System.out.println(favor);
System.out.println(age);
15. 流程控制語(yǔ)句
switch多選擇結(jié)構(gòu)
switch(month)
{
case 1:
System.out.println("一月");
break;
case 2:
System.out.println("二月");
break;
default:
System.out.println("其他月");
break;
}
switch(month)
{
case 1:
case 2:
System.out.println("第一節(jié)度");//條件1,2,都會(huì)打印“第一季度”
break;
default:
System.out.println("其他季度");
break;
}
注:
遇到break,就終止,沒(méi)有break會(huì)接著判斷。
while循環(huán)詳解
循環(huán)結(jié)構(gòu)分為當(dāng)型和直到型
for 死循環(huán)
for(;;)
{}
break 和continue語(yǔ)句
break
用于強(qiáng)行退出循環(huán),不執(zhí)行循環(huán)中剩余的語(yǔ)句。
continue
用于退出本次循環(huán),繼續(xù)執(zhí)行下次循環(huán)。
由內(nèi)循環(huán)跳外循環(huán)用帶標(biāo)簽的continue,
格式 標(biāo)簽名:語(yǔ)句;continue 標(biāo)簽名;
16. 方法
定義:方法就是一段用來(lái)完成特定功能的代碼片段,類似于其他語(yǔ)言的函數(shù)。
形參:在方法聲明時(shí)用于接收外界傳入的數(shù)據(jù)。
實(shí)參:調(diào)用方法時(shí)實(shí)際傳給方法的數(shù)據(jù),傳遞的是數(shù)據(jù)副本
返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境數(shù)據(jù),如果沒(méi)有,就是void類型
方法通過(guò)對(duì)象調(diào)用,一個(gè)類調(diào)用自己的方法時(shí)也要實(shí)例化對(duì)象
return:1.結(jié)束方法的運(yùn)行。2.返回值
方法從屬于對(duì)象和類
基本類型傳遞的是值的copy,引用類型傳的是對(duì)象引用的copy值,但指向的是同一個(gè)對(duì)象。
方法的重載(overload)
定義:一個(gè)類中有多個(gè)方法的名稱重復(fù),但是完全不同的方法。
不同的含義是:形參類型、形參個(gè)數(shù)、形參順序不同
只有返回值不同不構(gòu)成方法的重載
只有形參的名稱不同、不構(gòu)成方法的重載
方法調(diào)用,方法加static修飾,就不用了new 對(duì)象,就可以調(diào)用方法,否則,必須要new對(duì)象才行。
17. 遞歸結(jié)構(gòu)
基本思想:自己調(diào)自己。
遞歸結(jié)構(gòu)有兩部分:遞歸頭和遞歸體。
定義遞歸頭,:什么時(shí)候不調(diào)用自身方法。如果沒(méi)有頭,將陷入死循環(huán),也就是遞歸的結(jié)束條件。
遞歸體:什么時(shí)候需要調(diào)用自身方法。
爬蟲(chóng)-遞歸
總結(jié)
以上是生活随笔為你收集整理的java基础案例教程前4章知识点_java学习记录4 Java基础知识点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java ArrayList与Linke
- 下一篇: java没有timer类_Java中的J