三 Java基础
文章目錄
- 創(chuàng)建項(xiàng)目
- 直接創(chuàng)建項(xiàng)目
- 創(chuàng)建空項(xiàng)目增加模塊
- 注釋
- 標(biāo)識(shí)符
- 數(shù)據(jù)類型
- 強(qiáng)類型語言與弱類型語言
- Java數(shù)據(jù)類型分類
- Java基本數(shù)據(jù)類型擴(kuò)展(面試題)
- 基本數(shù)據(jù)類型轉(zhuǎn)換
- 變量,常量,作用域
- 變量
- 變量作用域
- 變量的命名規(guī)范
- 常量
- 運(yùn)算符
- 基本運(yùn)算符
- 自增自減運(yùn)算符
- 包機(jī)制
- JavaDoc生成文檔
- 參數(shù)信息
- 通過命令行生成幫助文檔
- 通過idea生成javaDoc文檔
- 通過idea生成javaDoc文檔
創(chuàng)建項(xiàng)目
直接創(chuàng)建項(xiàng)目
創(chuàng)建空項(xiàng)目增加模塊
new 空項(xiàng)目
File -> new -> ??Module
設(shè)置項(xiàng)目結(jié)構(gòu) File -> Project Structure
設(shè)置java的SDK版本 與 相對(duì)應(yīng)的項(xiàng)目語言版本
注釋
-
單行注釋
// 單行注釋 -
多行注釋
/* 多行注釋 多行注釋 多行注釋 */ -
文檔注釋
/** * @Description 文檔注釋 * @Author ShaneCheng */
標(biāo)識(shí)符
- 關(guān)鍵字
- 標(biāo)識(shí)符:Java所有的組成部分都需要名字。類名、變量名以及方法名都被稱為標(biāo)識(shí)符。
注意點(diǎn):
- 所有的標(biāo)識(shí)符都應(yīng)該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開始
- 首字符之后可以是字母(A-Z或者a-z),美元符($)、下劃線(_)或數(shù)字的任何字符組合
- 不能使用關(guān)鍵字作為變量名或方法名
- 標(biāo)識(shí)符是大小寫敏感的
- 合法標(biāo)識(shí)符舉例: age、$salary._value、__1_value
- 非法標(biāo)識(shí)符舉例:123abc、-salary、tabc
- 可以使用中文命名,但是一般不建議這樣去使用,也不建議使用拼音,很Low
數(shù)據(jù)類型
強(qiáng)類型語言與弱類型語言
-
強(qiáng)類型語言:要求變量的使用要嚴(yán)格符合規(guī)定,所有變量都必須先定義后才能使用(Java、C++)
- 強(qiáng)類型安全,因?yàn)樗孪纫呀?jīng)確定好了,而且效率高
-
弱類型語言:它的數(shù)據(jù)類型是可以被忽略的語言,與強(qiáng)類型定義相反。(javaScript)
- 弱類型更靈活,但是效率低,而且出錯(cuò)概率高
Java數(shù)據(jù)類型分類
- 基本類型(primitive type):基本類型共有八種,其中包括六種數(shù)值型與兩個(gè)非數(shù)值型。
| byte | 8 | java.lang.Byte | -128 | +127 |
| short | 2byte = 16 | java.langShort | -32768 | +32767 |
| int | 4byte = 32 | java.lang.Integer | -2^31 | +2^31-1 |
| long | 8byte = 64 | java.lang.Long | -2^63 | +2^63-1 |
| float | 4byte = 32 | java.lang.Float | -3.4 * 10^38 | +3.4 * 10^38 |
| double | 8byte = 64 | java.lang.Double | -1.7 * 10^308 | +1.7 * 10^308 |
| char | 2byte = 16 | java.lang.Character | 0 | 65535 |
| boolean | 所占大小不明確 | java.lang.Boolean | 只有"true"和"false"兩個(gè)取值 |
(注解:數(shù)據(jù)存儲(chǔ)最小單位是“bit/位”,數(shù)據(jù)處理的基本單位1byte/字節(jié) = 8bit/位)
- 引用類型(reference type):除了基本數(shù)據(jù)類型之外的數(shù)據(jù)類型
- 類、接口、數(shù)組等
Java基本數(shù)據(jù)類型擴(kuò)展(面試題)
-
特殊需要加后綴的表示
Long num1 = 30L; //long類型要在數(shù)字后面加個(gè)L float num2 = 50.1F; //float類型要在數(shù)字后面加個(gè)F -
整數(shù):各類進(jìn)制表示
int i1 = 10;//十進(jìn)制 10 int i2 = 0b10;//二進(jìn)制 2 int i3 = 010;//八進(jìn)制 8 int i4 = 0x1F;//十六進(jìn)制 31 -
浮點(diǎn)型:最好完全避免浮點(diǎn)數(shù)進(jìn)行比較
- 解決方案:BigDecimal類
-
字符型:所有字符的本質(zhì)還是數(shù)字,Unicode編碼方式,數(shù)字與字符一一對(duì)應(yīng)(0~65535)
char c1 = 'a'; char c2 = '中'; System.out.println((int)(c1));//結(jié)果為97 System.out.println((int)(c2));//結(jié)果為20013char c3 = '\u0061'; System.out.println(c3);//結(jié)果為a -
Java常見的轉(zhuǎn)義字符
轉(zhuǎn)義字符意義ASCII碼值(十進(jìn)制) \a 響鈴(BEL) 007 \b 退格(BS) ,將當(dāng)前位置移到前一列 008 \f 換頁(yè)(FF),將當(dāng)前位置移到下頁(yè)開頭 012 \n 換行 (LF),將當(dāng)前位置移到下一行開頭 010 \r 回車 (CR) ,將當(dāng)前位置移到本行開頭 013 \t 水平制表 (HT) (跳到下一個(gè)TAB位置) 009 \v 垂直制表(VT) 011 \\ 代表一個(gè)反斜線字符’\' 092 \’ 代表一個(gè)單引號(hào)(撇號(hào))字符 039 \’’ 代表一個(gè)雙引號(hào)字符 034 \0 空字符(NULL) 000 \ddd 1到3位八進(jìn)制數(shù)所代表的任意字符 三位八進(jìn)制 \xhh 1到2位十六進(jìn)制所代表的任意字符 二位十六進(jìn)制 注意:區(qū)分,斜杠:"/" 與 反斜杠:"\" ,此處不可互換
-
字符串比較 :最好用equals()方法
//對(duì)象 從內(nèi)存分析 String sa = new String("hello,world"); String sb = new String("hello,world"); System.out.println(sa==sb); //這里的比較的是地址 所以不相同,輸出false String sc = "hello,world"; String sd = "hello,world"; System.out.println(sc==sd);//相同 輸出true -
布爾值用于條件判斷
//Less is More! 代碼要精簡(jiǎn)易讀 if(flag==true){} //新手 if(flag){} //老手
基本數(shù)據(jù)類型轉(zhuǎn)換
由于Java是強(qiáng)類型語言,所以要進(jìn)行有些運(yùn)算的時(shí)候的,需要用到類型轉(zhuǎn)換。
運(yùn)算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運(yùn)算。
低------------------------------------------高byte,short,char-> int -> long-> float -> double-
強(qiáng)制類型轉(zhuǎn)換: 由高到低 需要聲明強(qiáng)制轉(zhuǎn)換,格式: (類型)變量名
int i =128; byte j = (byte) i;//內(nèi)存溢出 byte(-128~127) 結(jié)果為-128 -
自動(dòng)類型轉(zhuǎn)換:由低到高 不需要聲明
byte i = 127; int j = i ;
??注意點(diǎn):
😠特別注意:操作比較大的數(shù),注意溢出問題.?
int money = 10_0000_0000;jdk7新特性 ,數(shù)字之間可以用下劃線分割,有無下劃線值一樣 int years =20; int total = money *years; //-1474836480,計(jì)算結(jié)果溢出 long total2 = money * years;//-1474836480,默認(rèn)是int,轉(zhuǎn)換之前已經(jīng)存在問題 long total3 = money * (long)years;//20000000000變量,常量,作用域
變量
變量是什么:就是可以變化的量!
Java是一種強(qiáng)類型語言,每個(gè)變量都必須聲明類型。
Java變量是程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。
??注意事項(xiàng)
- 每個(gè)變量都有類型,類型既可以是基本類型,也可以是引用類型
- 變量名必須都是合法的標(biāo)識(shí)符
- 變量聲明是一條完整的語句,因此每一個(gè)聲明都必須要以分號(hào)結(jié)束
😄不介意一行里定義多個(gè)變量
變量作用域
-
類變量:從屬于類
-
實(shí)例變量:從屬于對(duì)象,如果不自行初始化值,這個(gè)類型會(huì)有默認(rèn)值
數(shù)據(jù)類型默認(rèn)值 整形 0 浮點(diǎn)型 0.0 布爾型 false 字符型 ‘\u0000’ 引用類型 null -
局部變量:必須聲明和初始化值
public class Variable{static int allClicks = 0;//類變量String str = "hello , world";//實(shí)例變量public void method() {int i = 0;//局部變量} }
變量的命名規(guī)范
- 所有變量、方法、類名 : 見名知意!
- 類成員變量 : 首字母小寫和駝峰原則: monthSalary
- 局部變量 : 首字母小寫和駝峰原則
- 常量 : 大寫字母和下劃線:MAX_VALUE
- 類名 : 首字母大寫和駝峰原則: Man, GoodMan
- 方法名 : 首字母小寫和駝峰原則: run(), runRun()
常量
常量(Constant) : 初始化(initialize)后不能再改變值! 不會(huì)變動(dòng)的值。
所謂常量可以理解成一種特殊的變量,它的值被設(shè)定后,在程序運(yùn)行過程中不允許被改變。
關(guān)鍵字:final
😄常量名一般使用大寫字符。
final 常量名=值; final double PI=3.14;??修飾符不區(qū)分先后順序,例如final、static?
運(yùn)算符
基本運(yùn)算符
-
算術(shù)運(yùn)算符:加(+)、減(-)、乘(*)、除(/)、取模(%)
-
加(+)擴(kuò)展
long a = 123456789123456789L; int b = 123; short c = 10; byte d = 8;System.out.println(a+b+c+d);//long類型 System.out.println(b+c+d);//int類型 System.out.println(c+d);//int類型
-
-
關(guān)系運(yùn)算符:大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)、instanceof(對(duì)象是否為類的實(shí)例)
-
邏輯運(yùn)算符:邏輯與(&&)、邏輯或(||)、邏輯非(!)
-
位運(yùn)算符:按位取反(~)、按位與(&)、按位或(|)、異或(^)、右移(>>)、左移(<<)、無符號(hào)右移(>>>)
- 右移(>>):針對(duì)補(bǔ)碼,補(bǔ)符號(hào)位
- 無符號(hào)右移(>>>) : 針對(duì)補(bǔ)碼,補(bǔ)0
-
條件運(yùn)算符 (?:)
-
擴(kuò)展賦值運(yùn)算符:+=,-=,*=,/=
自增自減運(yùn)算符
//++ 自增 --自減 int b = a++;//先賦值 再自增(a=a+1) int c = ++a;//先自增(a=1+1) 再賦值包機(jī)制
包語句的語法格式,必須放在代碼的最上面
package pkg1[.pkg2[.pkg ...]];-
一般利用公司名字倒置作為包名;
com.baidu.www
??多級(jí)目錄無法展開的問題
點(diǎn)擊箭頭所指齒輪-->點(diǎn)擊相應(yīng)的設(shè)置-
導(dǎo)入包
import pkg1[.pkg2[.pkg ...]].(classname|*);快捷鍵: Alt+ 回車
import com.* //導(dǎo)入com包下的所有類
JavaDoc生成文檔
參數(shù)信息
- @author作者名
- @version 版本號(hào)
- @since指明需要最早使用的jdk版本param參數(shù)名
- @return返回值情況
- @throws 異常拋出情況
通過命令行生成幫助文檔
在該位置打開相應(yīng)的cmd窗口(在文件地址欄前面加上cmd+空格,回車即可打開)
輸入相應(yīng)的文檔生成命令
javadoc -encoding UTF-8 -charset UTF-8 Demo_Doc.java即可得到相應(yīng)的html文件等信息
點(diǎn)擊index.html打開得到生成的幫助文檔頁(yè)面
通過idea生成javaDoc文檔
-encoding是java代碼編碼,-charset是對(duì)生成文檔所用的編碼。-windowtitle就是對(duì)應(yīng)html的標(biāo)簽
-encoding UTF-8 -charset UTF-8 -windowtitle "test"通過idea生成javaDoc文檔
-encoding是java代碼編碼,-charset是對(duì)生成文檔所用的編碼。-windowtitle就是對(duì)應(yīng)html的<title>標(biāo)簽
-encoding UTF-8 -charset UTF-8 -windowtitle "test"
3. 結(jié)果
引用:
https://www.cnblogs.com/bd-Luming/p/10394270.html
https://www.cnblogs.com/noKing/p/8006298.html
總結(jié)
- 上一篇: Linux如何修改用户名?
- 下一篇: 六 Java数组