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