開源地址
開源項目地址:https://github.com/371854496/...
java學習資料:https://github.com/371854496/...
各位覺得還闊以的話,點下Star,分享不易,thank you!
標識符
標識符就是用於給 Java 程序中變量、類、方法等命名的符號。
規則:
①可以由字母,數字,下劃線(_),美元符($)組成,但不能包含@,%,空格等其他特殊字符,不能以數字開頭。
②不能是java關鍵字
③是區分大小寫的
例如:下面的標識符是合法的:
myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_,Myvoid
下面的標識符是非法的:
name,25name,class,&time,if
變量:
使用小駝峯命名法
常量:
使用純大寫的方式每個單詞之間使用下劃線鏈接
MAX_VALUE
方法:
使用小駝峯命名法
類,接口,抽象類,枚舉:
使用大駝峯命名法
包:
使用公司域名反寫的方式
如:com.ujiuye.www
常見關鍵字
關鍵字 | 含義 | |
---|---|---|
abstract | 表明類或者成員方法具有抽象屬性 | |
assert | 斷言,用來進行程序調試 | |
boolean | 基本數據類型之一,布爾類型 | |
break | 提前跳出一個塊 |
|
byte | 基本數據類型之一,字節類型 |
|
case | 用在switch語句之中,表示其中的一個分支 |
|
catch | 用在異常處理中,用來捕捉異常 |
|
char | 基本數據類型之一,字符類型 |
|
class | 聲明一個類 |
|
const | 保留關鍵字,沒有具體含義 |
|
continue | 回到一個塊的開始處 |
|
default | 默認,例如,用在switch語句中,表明一個默認的分支 |
|
do | 用在do-while循環結構中 |
|
double | 基本數據類型之一,雙精度浮點數類型 |
|
else | 用在條件語句中,表明當條件不成立時的分支 |
|
enum | 枚舉 |
|
extends | 表明一個類型是另一個類型的子類型,這裏常見的類型有類和接口 |
|
final | 用來說明最終屬性,表明一個類不能派生出子類,或者成員方法不能被覆蓋,或者成員域的值不能被改變,用來定義常量 |
|
finally | 用於處理異常情況,用來聲明一個基本肯定會被執行到的語句塊 |
|
float | 基本數據類型之一,單精度浮點數類型 |
|
for | 一種循環結構的引導詞 |
|
goto | 保留關鍵字,沒有具體含義 |
|
if | 條件語句的引導詞 |
|
implements | 表明一個類實現了給定的接口 |
|
import | 表明要訪問指定的類或包 |
|
instanceof | 用來測試一個對象是否是指定類型的實例對象 |
|
int | 基本數據類型之一,整數類型 |
|
interface | 接口 |
|
long | 基本數據類型之一,長整數類型 |
|
native | 用來聲明一個方法是由與計算機相關的語言(如C/C++/FORTRAN語言)實現的 |
|
new | 用來創建新實例對象 |
|
package | 包 |
|
private | 一種訪問控制方式:私用模式 |
|
protected | 一種訪問控制方式:保護模式 |
|
public | 一種訪問控制方式:共用模式 |
|
return | 從成員方法中返回數據 |
|
short | 基本數據類型之一,短整數類型 |
|
static | 表明具有靜態屬性 |
|
strictfp | 用來聲明FP_strict(單精度或雙精度浮點數)表達式遵循IEEE 754算術規範 [1] |
|
super | 表明當前對象的父類型的引用或者父類型的構造方法 |
|
switch | 分支語句結構的引導詞 |
|
synchronized | 表明一段代碼需要同步執行 |
|
this | 指向當前實例對象的引用 |
|
throw | 拋出一個異常 |
|
throws | 聲明在當前定義的成員方法中所有需要拋出的異常 |
|
transient | 聲明不用序列化的成員域 |
|
try | 嘗試一個可能拋出異常的程序塊 |
|
void | 聲明當前成員方法沒有返回值 |
|
volatile | 表明兩個或者多個變量必須同步地發生變化 |
|
while | 用在循環結構中 |
關鍵字的特點
1.全部都是小寫的
2.自己給自己定義東西起名字的時候,不能和關鍵字重名
3.其中有兩個關鍵字是保留關鍵字, goto和const,當前java版本中還沒有使用,不代表以後不會被使用.
修飾符
Java 使用了一定數量的稱爲修飾符的關鍵字,這些修飾符指定了數據、方法和類的屬性以及它們的使用方法。
例如 public 和 static 都是修飾符,另外還有 private、final、abstract 和 protected。
一個 public 數據、方法或者類可以被其他的類訪問,而一個 private 數據或方法不能被其他類訪問。
註釋
在 Java 中,一行註釋以雙斜槓(//)標識;
多行註釋包含在“/”和“/”之間;
文檔註釋包含在“/*”和“/”之間。
常量
//聲明常量
final int COUNT=10;
final float HEIGHT=10.2f;
變量
//聲明變量
// 數據類型 變量名 = 初始值;
int age = 18;
使用變量的注意事項
1.變量是有作用域的
作用於: 起作用的範圍
範圍:從他定義的哪一行起,到出他所在大括號.
變量定義之前不能使用.出了他所在的大括號就不能訪問了.
2.在同一個大括號(同一個作用域)中不能定義同名的變量.
3.使用變量的時候必須先給初始值,才能使用.
4.變量的定義和變量初始化可以分開寫.
5.可以在同一行一次定義多個變量
數據類型 變量名1 =初始值1, 變量名2 = 初始值2,….;
這種情況只適合一次定義多個同類型的變量;
代碼示例
class test_變量使用注意事項 {
public static void main(String[] args) {
// System.out.println(a);
int a = 10;
// float a = 3.14f; 變量重名
{
System.out.println(a);
// double a = 14.0; 變量重名
}
int num;
num = 1;
System.out.println(num);
int age = 18, age2 = 20, age3 = 40;
// int age = 18, age2 = 20, age3 = 40.5; 數據類型必須一致
System.out.println(age);
System.out.println(age2);
System.out.println(age3);
System.out.println(age +" "+age2 + " "+age3);
}
public static void sayHi(){
//System.out.println(a);
}
}
數據類型
1.java是一種強類型語言,(定義變量的時候必須給改變執行數據類型),數據類型就是爲了執行內存空間大小的額.
2.基本數據類型:
數值型:四類八種
整數類型:
- byte 比特 1個字節 數據範圍 -128~127 -2^7 ~ 2^7-1
- short 短整型 2個字節 -2^15 ~ 2^15-1
- int 整型 4個字節 -2^31 ~ 2^31-1
- long 長整型 8個字節 -2^63 ~ 2^63-1
浮點類型:
- float 單精度浮點型 4個字節 > long類型存儲範圍
- double 雙精度浮點型 8個字節 > float類型存儲範圍
字符類型:
- char 字符類型 2個字節 0~65535
布爾類型:
- boolean 未知 true和false
引用數據類型:
類 接口 數組 枚舉 標註
數據類型轉換
自動類型轉換:
取值範圍小的類型的數據,往取值範圍大的類型的變量中放,可以直接放進去,不會損失精度;
如:byte-->short-->int-->long-->float-->double;
char-->int;
強制類型轉換:
將取值範圍大的類型的數據,往取值範圍小的類型變量中放,有可能放不進去,會出現精神讀損失;
語法:
小的範圍的數據類型 新的變量名 = (小的範圍的數據類型) 舊的大範圍的變量名
如
int a = 128;
byte b = (byte)a;
運算符
1.概念: 用戶運算和操作數據符號就是運算符
2.運算符的分類
- 算數運算符
- 賦值運算符
- 比較運算符
- 邏輯運算符
- 位運算符
- 三元運算符
算數運算符
1.用來進行算數運算的符號
2.+, -, *(乘), /(除號), %(取餘運算符)
-
+:加法運算
- -:減法運算
- *:乘法運算
- /:除法運算
- %:取餘運算
3./ 如果運算符兩邊都是整數,得到結果只保留整數部分.
/ 如果兩邊有一邊是小數,得到的結果就是小數
%: 取餘運算符(取模運算符),兩邊可以是小數也可以整數
賦值運算符
1.作用: 把賦值運算符號右邊的數據賦值給左邊
2.基本賦值運算符 =
3.複合賦值運算符 +=, -=, *=, /=, %=
int a = 10;
a += 1; // a = a+1;
System.out.println(a); // 11
自增和自減運算符
1.++ 和 –-
2.++: 變量每次自增1
3.--: 變量每次自減1
4.注意事項:
++:如果在變量前,先對變量進行+1, 再使用這個變量
++:如果在變量的後面,先使用變量中的值,再對變量+1;
無論++在變量前面還是後面,執行之後變量都會+1;
--:如果在變量前,先對變量進行-1, 再使用這個變量
--:如果在變量的後面,先使用變量中的值,再對變量-1;
無論--在變量前面還是後面,執行之後變量都會-1;
口訣:
++在前,先加後用,++在後,先用後加
--在前,先減後用,--在後,先用後減
int q = 5, n = 10;
// s 5 - 10 + 6 + 10 = 11
// q 6 6 7 7
// n 10 9 9 10
int s= (q++) - (n--) + (q++) + (++n);
比較運算符
1.用於比較兩個數據的關係,比較大小,比較是否相等,比較運算符的運行結果是boolean類型,
只有true和 false兩個結果
2.分類: >, <, >=, <= 比較數值大小
==:判斷連個數據是否相等
!=:判斷兩個數據是否不相等
邏輯運算符
1.用來判斷邏輯是否成立的運算符, 如果邏輯成立,返回true, 如果不成立,返回false, 返回的數據類型是boolean類型
邏輯運算符兩邊必須是返回真或假的表達式
2.邏輯運算符的分類
- &&:與運算符 兩邊同時爲真則爲真,有一邊爲假則爲假
true && true true
true && false false
false && true false
false && false false
- ||:或運算符 兩邊同時爲假則爲假,有一邊爲真則爲真
true || true true
true || false true
false || true true
false || false false
- !: 邏輯非 非真即假,非假即真
!true false
!false true
- ^:邏輯異或 兩邊數據相同,返回假,不同返回真
true ^ true false
true ^ false true
false ^ true true
false ^ false false
小技巧:
1.爲了提高執行效率,習慣把容易爲假的條件放到&&運算符的前面. 只要前面爲假,後面就不參與運算.
2.爲了提供效率,把容易爲真條件放在||運算符的前面,只要前面爲真後面的表達式就不參與運算.
位運算符
1.對於數據進行內存中運算,讓數據往左或者是往移位.
左移1位,數據整體擴大2倍,
右移1位,數據整體縮小2倍;
2.位運算符分類:
<< 數字 :左移運算符, 數字是幾,代表要往左移動幾位
,就相當於往左移動幾位,就相當於乘以2的幾次方
‘>>’ 數字: 右移運算符, 數字是幾,代表要往右移動幾位, 就相當於往右移動幾位,就相當於除以2的幾次方
‘>>>’ 數字 : 無符號右移運算符, 只能操作正數. 數字是幾,代表要往右移動幾位, 就相當於往右移動幾位,就相當於除以2的幾次方
代碼示例:
int a = 8;
System.out.println(a << 2); //32
int b = -16;
System.out.println(b >> 1); //-8
int c = -16;
System.out.println(c >>> 1);//2147483640
三元運算符
1.元:表示操作數據的個數或者操作的表達式的個數
2.三運算符:能操作三個數據或者三個表達式
3.格式: 表達式1 ? 表達式2 : 表達式3;
4.說明
表達式1:必須是返回真或假的表達式,返回boolean數據類型
表達式2和表達式3返回任意數據類型都行
5.執行原理:
1.表達式1爲真, 把冒號前表達式2的結果,當做整個三元運算符的返回的結果
2.表達式1爲假, 把冒號後表達式3的結果,當做整個三元運算符的返回的結果
公衆號 全戰開花
獲取更多技術乾貨