javaSE第二章筆記
IDE的使用
(IntegratedDevelopment Environment )整合開發環境
用於提供程式開發環境的應用程式
包括程式碼編輯器,編譯器,偵錯程式和除錯圖形介面
註釋
單行註釋 // Ctrl+/
多行註釋 /* */ Ctrl+Shift+/
文件註釋 /**
* 用於類、方法、屬性功能進行說明,呼叫時可以提供其功能介紹
*/
關鍵字
被java語言賦予特定含義的單詞,用來修飾例如類;屬性;方法(所有字母都為小寫)
保留字
在java語言中未被使用的關鍵字,預留的,命名時要避免 goto const
識別符號
java對各種變數、類、方法等命名時使用的字元序列
通俗講:自己可以命名的名稱
定義合法識別符號規則
由26個英文字母大小寫,0—9,_或$組成
數字不可以開頭
不可以使用關鍵字和保留字,但能包含
java中嚴格區分大小寫,長度無限制
識別符號不能包含空格
變數
變數:程式中最基本的儲存單元,程式中數值可變的
每一個變數使用前必須先申請(宣告),然後必須進行賦值(填充內容),才能使用
本質上變數就是記憶體中的一塊區域,通過變數名訪問
語法:[修飾符] type varname [=value] [,varName[=value]·····]
Java資料型別
程式中對於每一種資料都定義了明確的具體資料型別,在記憶體中分配了不同大小的記憶體空間
java語言是一種強資料型別語言,每個資料必須指定型別,指導JVM分配記憶體空間
資料型別
基本型別
整數型別(byte,short,int,long)、浮點型別(float,double)、布林型別(boolean)、字元型(char)
引用型別
類(class)、介面(interface)、陣列([])
Java基本資料型別
整數型別
型別 | 佔用儲存空間 | 表數範圍 |
---|---|---|
byte | 1位元組 | -128~127 |
short | 2位元組 | -215~215-1 |
int | 4位元組 | -231~231-1 |
long | 8位元組 | -263~263-1 |
浮點型別
型別 | 佔用儲存空間 | 表數範圍 |
---|---|---|
float | 4位元組 | -3.403E38~3.403E38 |
double | 8位元組 | -1.798E308~1.798E308 |
Java浮點型別常量預設為double型
邏輯型boolean(布林)
boolean型別資料只允許取值true或false
注意:不可以0或非0的整數替代true和false
char字元型
char型資料用來表示通常意義上的字元,char佔2位元組,字元用單引號括起來的單個字元
例如:char c1=‘a’ char c2=‘中’
char運算
char型別可以運算是因為char在字元編碼表中有對應數在Java中,對char型別字元執行時,直接當作對應編碼表的整數來對待
基本資料型別轉換
Java中可以從任意基本型別轉型到另外的基本型別
有多種型別的資料混合運算時,系統首先自動的將所有資料轉換成容量最大的那一種資料型別,然後再進行計算
例外:boolean型別不可以轉換
預設轉換
容量小的型別預設轉換為容量大的資料型別
byte,short,char->int->long->float->double
byte,short,char之間不會互相轉換,他們三者在計算時首先會轉換為int型別
強制轉換
容量大的資料型別轉換為容量小的資料型別時,要加上強制轉換符,但可能造成精度降低或溢位;使用時要格外注意
ASCLL碼
在計算機內部,所有資料都使用二進位制表示。每一個二進位制位(bit)有 0 和 1 兩種狀態,因此8個二進位制位就可以組合出256 種狀態,這被稱為一個位元組(byte)
一個位元組一共可以用來表示256種不同的狀態,每一個狀態對應一個符號,就是256個符號,從0000000到11111111
缺點:不能表示所有字元
Unicode編碼
一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,使用Unicode沒有亂碼的問題
Java採用unicode編碼規範,其中完全包含ASCII編碼
UTF-8(8位元Unicode Transformation Format)是針對Unicode的一種可變長度字元編碼,它可以使用1-6個位元組表示一個符號,根據不同的符號而變化位元組長度,在utf-8編碼表中,一箇中文佔3個位元組,一個英文佔1個位元組
它可以用來表示Unicode標準中的任何字元,而且其編碼中的第一個位元組仍與ASCII相容,使得原來處理ASCII字元的軟體無須或只進行少部份修改後,便可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼
運算子
算術運算子
運算子 | 運算 | 範例 | 結果 |
---|---|---|---|
+ | 正號 | +3 | 3 |
- | 負號 | b=4;-b | -4 |
+ | 加 | 5+5 | |
- | 減 | 6-2 | 4 |
* | 乘 | 3*3 | 9 |
/ | 除 | 5/5 | 1 |
% | 取餘 | 7%5 | 2 |
++ | 自增(前):先運算後取值 | 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” |
比較運算子
運算子 | 運算 | 範例 | 結果 |
---|---|---|---|
== | 相等於 | 4==3 | false |
!= | 不等於 | 4!=3 | true |
< | 小於 | 4<3 | false |
> | 大於 | 4>3 | true |
<= | 小於等於 | 4<=3 | false |
>= | 大於等於 | 4>=3 | true |
instanceof: 檢查是否是類的物件 “Hello” instanceof String true
比較運算子的結果都是boolean型,也就是要麼是true,要麼是false。
邏輯運算子
邏輯與 | 邏輯或 | 邏輯非 | 短路與 | 短路或 | 邏輯異或 |
---|---|---|---|---|---|
& | | | ! | && | || | ^ |
a | b | a&b | a|b | !a | a^b | a&&b | a||b |
---|---|---|---|---|---|---|---|
true | true | true | true | false | false | true | true |
true | false | false | true | false | true | false | true |
false | true | fasle | true | true | true | false | true |
false | false | false | false | true | false | false | false |
&與&&的區別
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算
“|”和“||”的區別
同理,||表示:當左邊為真,右邊不參與運算
異或
異或( ^ ):當左右都為true時,結果為false
賦值運算子
運算子 | 用法舉例 | 等效的表示式 |
---|---|---|
+= | a+=b | a=a+b |
-= | a-=b | a=a-b |
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |
%= | a%=b | a=a%b |
條件運算子
語法: (條件表示式)?表示式1:表示式2;
條件表達結果 為true 運算結果是表示式1
為false 運算結果為表示式2
表示式1與表示式2為同種型別
條件運算子與if-else的聯絡與區別
1)條件運算子可簡化if-else
2)條件運算子必須返回一個結果
3)if後的程式碼塊可有多個語句
位運算
位運算子
<< | 空位補0,被移除的高位丟棄,空缺位補0 |
---|---|
>> | 被移位的二進位制最高位是0,右移後,空缺位補0;最高位是1,空缺位補1 |
>>> | 被移位二進位制最高位無論是0或者是1,空缺位都用0補 |
& | 二進位制位進行&運算,只有1&1時結果是1,否則是0 |
| | 二進位制位進行|運算,只有0|0時結果是0,否則是1 |
^ | 相同二進位制位進行^ 運算,結果是0;1^1=0, 00=0,不相同二進位制位 運算結果是1。1^0=1, 0^1=1 |
~ | 正數取反,各二進位制碼按補碼各位取反,負數取反,各二進位制碼按補碼各位取反 |
相關文章
- Java學習筆記01 - JavaSE基礎Java筆記
- 第二章(backup and recovery 筆記)筆記
- 精靈筆記-第二章:慘叫筆記
- JavaSE第三章筆記(物件導向1)Java筆記物件
- 演算法導論第二章筆記演算法筆記
- c++ primer 第二章閱讀筆記C++筆記
- PMBOK筆記-第二章 專案管理環境筆記專案管理
- Win32學習筆記 第二章 (轉)Win32筆記
- 《Java8實戰》-讀書筆記第二章Java筆記
- 計算機網路學習筆記:第二章計算機網路筆記
- C++ primer Plus學習筆記(第二章)C++筆記
- 資料結構 第二章(學習筆記一)資料結構筆記
- 簡讀筆記-Redis設計與實現第二章筆記Redis
- 《機器學習》第二章 模型評估與選擇 筆記1機器學習模型筆記
- Win32學習筆記 第二章 Unicode (轉)Win32筆記Unicode
- Java_EE企業級開發學習筆記——spring學習筆記第二章Java筆記Spring
- 《高效能javascript》讀書筆記-第二章 資料存取JavaScript筆記
- Python核心程式設計筆記第二章----快速入門Python程式設計筆記
- 周志華西瓜書《機器學習筆記》學習筆記第二章《模型的評估與選擇》機器學習筆記模型
- C++ Primer 第二章 學習筆記及習題答案C++筆記
- Java程式設計(2021春)——第二章筆記與思考Java程式設計筆記
- 【知識圖譜 趙軍 學習筆記】第二章 知識表示筆記
- 讀書筆記-《基於Oracle的SQL優化》-第二章-1筆記OracleSQL優化
- SA299學習筆記 第二章描述CS模式(1)筆記模式
- SA299學習筆記 第二章 描述CS模式(2)筆記模式
- javaSEJava
- Qt 學習筆記 - 第二章 - 新增圖片、佈局、介面切換QT筆記
- 《Oracle DBA工作筆記》第二章 常用工具和問題分析Oracle筆記
- play2.x 官網筆記擷取+翻譯 第二章(完)筆記
- Java學習筆記(二)JavaSE簡易學生管理系統(適合小白練手)Java筆記
- day10_01_我的Java學習筆記 (JavaSE進階課程預備)Java筆記
- JavaSE@擴充補遺@筆記12@Java中的類載入機制【瞭解】Java筆記
- nndl-復旦-神經網路與深度學習筆記第二章習題神經網路深度學習筆記
- 廖雪峰《Python3 基礎教程》讀書筆記——第一、第二章Python筆記
- 【Java併發程式設計的藝術】第二章讀書筆記之原子操作Java程式設計筆記
- 《Redis開發與運維》第二章 API的理解和使用(下)讀書筆記Redis運維API筆記
- 《Redis開發與運維》第二章 API的理解和使用(中)讀書筆記Redis運維API筆記
- 《Redis開發與運維》第二章 API的理解和使用(上)讀書筆記Redis運維API筆記