第3篇-JAVA基礎

第3篇-JAVA基礎

  • 每篇一句 :目標是給夢想一個期限,行動與堅持就是實現夢想的過程

  • 初學心得: 遇到困難或問題,它不是休止符,而是引向你如何解決問題的標識

  • (筆者:JEEP/711)[JAVA筆記 | 時間:2017-03-26| JAVA基礎 Ⅱ]

上篇回顧

上篇文章中我們學習了JAVA底層的運行機制與深入剖析以及解釋其中JAVA基礎代碼的含義 
本篇文章將JAVA基礎Ⅱ全面剖析解釋,因爲JAVA基礎非常重要,務必要牢記知識點!!!

1.JAVA基礎語法格式

JAVA採用unicode編碼 
1.JAVA代碼都定義在類中,類由class來定義,注意:區分 public class 和 class 
2.代碼嚴格區分大小寫,:main 和 Main 是不一樣的 
3.JAVA中的標識符關鍵字以及註釋 
4.main方法的作用:程序的入口,保證程序的獨立運行,被JVM(JAVA虛擬機)調用 
5.一個Java文件中只能有一個公共類,並且該公共類的類名必須和文件名相同。 
註釋要養成習慣: 在學習中或工作中,只要是寫代碼就一定要加以註釋,這是修煉成爲程序員的基本功之二 
註釋例子

public class HelloWorld {
2.   /* 這是第一個Java程序
3.    *它將打印Hello World
4.    * 這是一個多行註釋的示例
5.    */
6.    public static void main(String []args){
7.       // 這是單行註釋的示例
8.       /* 這個也是單行註釋的示例 */
9.       System.out.println("Hello World"); 
10.    }
11.}


2.JAVA語言分隔符

1.分號 ; 
語句的分割,表示一句話結束,好比咱們使用的句號

2.花括號 { } 
表示一個代碼塊,是一個整體,花括號要一起使用

3.方括號 [ ] 
定義數組和訪問數組元素時使用

4.圓括號 ( ) 
使用很廣泛,具體用到細講

5.圓點 . 
類/對象 訪問它的成員(字段,方法)時使用等

6.空格 
分割一條語句的不同部分,空格的次數不限制

3.JAVA關鍵字

下面列出了Java保留字,(注):這些保留字不能用於常量、變量、任何標識符的名稱

關鍵字描述
class定義類
public表示共有屬性或者方法
private表示私有字段,或者方法等,只能從類內部訪問
protected表示字段只能通過類或者其子類訪問子類或者在同一個包內的其他類
abstract抽象方法,抽象類的修飾符
extends表示一個類是另一個類的子類
super表示基類
interface接口,一種抽象的類型,僅有方法和常量的定義
implements表示一個類實現了接口
static表示在類級別定義,表示靜態的,所有實例共享的
this表示調用當前實例或者調用另一個構造函數
void標記方法不返回任何值
return方法返回值
new分配新的類實例
import導入類
package一系列相關類組成一個包
goto作爲保留關鍵字,未使用
const作爲保留關鍵字,未使用
final表示一個值在初始化之後就不能再改變了表示方法不能被重寫,或者一個類不能有子類
if條件語句
elseif條件不成立時執行的分支
continue不執行循環體剩餘部分
whilewhile循環
do循環語句,循環體至少會執行一次
forfor循環語句
switch選擇語句
caseswitch語句的一個條件
defaultswitch語句中的默認分支
try表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執行finally中的代碼
catch和try搭配撲捉異常信息
finally爲了完成執行的代碼而設計的,主要是爲了程序的健壯性和完整性,無論有沒有異常發生都執行代碼
throw拋出異常
throws定義方法可能拋出的異常
instanceof測試一個對象是否是某個類的實例
transient修飾不要序列化的字段
volatile標記字段可能會被多個線程同時訪問,而不做同步
synchronized表示同一時間只能由一個線程訪問的代碼塊
assert斷言條件是否滿足
boolean布爾數據類型
byte8-bit 有符號數據類型
char16-bit Unicode字符數據類型
short16位數字
int32位整型數
float32-bit單精度浮點數
double64-bit雙精度浮點數
long64位整型數
strictfp浮點數比較使用嚴格的規則
enum枚舉類型
assert斷言條件是否滿足

4.JAVA中的常量

常量:程序中固定不變化的值,例如:整數1,2,3,小數3.14,false,true等

5.JAVA中的變量

變量的概念:佔據着內存中的某一個存儲區域 
該區域有自己的名稱(變量名)和類型(數據類型); 
該區域的數據可以在同一類型範圍內不斷變化; 
爲什麼要定義變量 ?定義變量:用來不斷的存放同一類型的常量,並可以重複使用 
使用變量注意:變量的作用範圍, 初始化值 
定義變量的格式:數據類型 變量名 = 初始化值 
注:格式是固定的,記住格式,以不變應萬變 
作用範圍:定義開始到定義它的代碼塊結束 
同一範圍內,不允許多個個局部變量命名衝突 
如何聲明數據類型變量: 
聲明類型三種格式 變量名首字母小寫,多個單詞之間首字母大寫 
1.聲明變量 數據類型 變量名; 如:int a;boolean flag; 
2.聲明同時給變量賦值 數據類型 變量名 = 值;如:char b = ‘中’; 
3.給已經聲明過得變量賦值 變量名 = 值;如:falg = true; 
變量的起名::有時候很難給變量取一個好的名字,於是有的程序員將變量名命名爲類型名 
例如: String string; 或縮寫,String str ,取變量名最好給有意義的名稱,或名稱短語。 
String username; String password; double pi = 3.14;

6.JAVA成員變量和局部變量

成員變量:在方法體外,類體內聲明的變量,又稱字段或全局變量;成員變量的作用域是整個類中 
成員變量就是在方法外定義的,相當於成員變量是定義在類的裏面

局部變量:不是聲明在類體括號裏面的變量,局部變量使用前必須初始化值,局部變量沒有默認初始化值 
局部變量就是在方法或方法塊內定義的 
局部變量的作用域是從定義開始到定義它的代碼塊結束; 
按數據類型劃分爲:數據類型變量,引用數據類型變量

7.JAVA基本數據類型

數據類型大小/位(B) 1字節 = 8位數據取值範圍
boolean1true / false
byte8[-128,127]
short16[-215,215-1]
char16[0,216-1]
int32[-231,231-1]
float32[-3.4E38(-3.4*1038),3.4E38(-1.7*1030]
double64[-1.7E308(-1.7*10308),1.7E308(-1.7*10308]
long64[-263,263-1]

布爾型boolean:boolean類型通常用於邏輯運算和程序流程控制。 
boolean 類型數據只允許取值true 或 false(不可以使用0 或非0的整數來代替true和false,區分於C語言)

整數類型(byte、short、int、long),JAVA語言整型常量的四種表示形式: 
Int類型的默認值是0; 
二進制整數,0b或0B開頭,如:int a = 0B110; 
十進制整數,如:int a = 17; 
八進制整數,要求以0開頭,如 int a = 012; 
十六進制整數,要求0X或0x開頭,如int a = 0x12;

浮點類型(float、double):JAVA浮點類型常量有兩種表示方式: 
十進制形式: 例如:3.14 ,168.0, .618,科學計數法形式: 例如:3.14e2, 3.14E2, 1000E-2 
Java浮點型常量默認是double,則要聲明一個常量爲float型,則需在常量後加上f 或 F 
如:double pi = 3.14;//正確 float pi = 3.14F;//必須加上f,或轉型 float pi3 = (float)3.14; 
(注):double和float並不能表示一個精確的數字;

字符型char: char型數據用來表示通常意義上得“字符”,char類型默認是爲空: 
char佔2字節,的範圍是[0,65535],但是前256個表示特殊字符;字符常量爲 用單引號括起來的單個字符 
java字符采用Unicode編碼,可用十六進制編碼形式表示

引用數據類型(String):String不屬於基本數據類型,String是一個類,表示字符串 
所謂字符串,就是一串字符,也就是多個字符連接在一起,字符串都得使用 “” 括起來的,連接字符串使用 + ; 
例如

1.String  str; //聲明一個引用數據類型
2.str = "這是一個引用數據類型"; 或 String str  = "這是一個引用數據類型";
3.String s = "目標" + "產生" + "動力"; //字符串的連接採用 + 符號
4.System.out.println(s);//輸出結果,目標產生動力


8.JAVA運算符

運算符是一種特殊符號,用以表示數據的運算、賦值和比較等共分以下幾種: 
算術運算符:++是前綴先對此變量加1自增1,在執行其他操作++a,後綴先執行其他操作,在對此變量加1;b++

運算符 /運算例子結果
+ 正號+66
- 負號a = 5;-a;-4
+ 5 + 510
- 3 - 21
*乘3 * 26
/ 5 / 5[ 1
% 取餘5 % 50
++ 自增(前)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”

賦值運算符: 
= ,+=,-=,*=, /=,%=

1. int a = 3;   a += 5;等同於運算a = a + 5;

移位運算符 

1.計算機存儲數據基本單位//字節:byte,一字節=8位=8個0或1表示(bit比特)1位=0和1;
2.計算機二進制0和1,逢二進一,優勢:字節少數據運算速度快,
3.八進制逢八進一以0開頭 ,十進制0到9,逢十進一,十六進制逢十六進一;
4.補碼:計算機內二進制數值是以補碼形式表示,一個正數的補碼和其原碼形式是一樣的,但在負數上有去區別 , 負數的補碼> 的二進制形式,按位取反在加1,
5.如正數10的二進制位一字節0000 1010 存入計算機爲補碼
6.-10的補碼是絕對值是10,絕對值的表示方式0000 1010,取反爲1111 0101再加1爲1111 0110是-10的補碼
7.數學運算10-2=8;計算運算是還原成二進制:10+(-2)=8;
8.十的二進制是0000 1010,-2的二進制是2的絕對值(0000 0010)的二進制,
9.按位取反=(1111 1101)再加1=(1111 1110);
10.按位相加0000 1010 + 1111 1110 = 0000 1000 再還原成十進制=8;

位運算符是對兩個操作數中的每一個二進制位都進行運算

1.1.按位取反如:按位還原成二進制是01001111,取反後10110000,還原十進制11001011
2.2.按位與&,3.按位或|,4.按位異或^
3.位移運算符 左移:a<<b將二進制形式的a逐位左移b位,最低位空出的b位補0;
4.代碼如正數100,還原成二進制是00000000 00000000 00000000 01100100
5.100<<3左移三位:00000000 00000000 00000011 00100000
6.100>>3帶符號右移3位:00000000 00000000 00000000 00001100
7.100>>>3無符號右移3位:00000000 00000000 00000000 00001100
8.
9.代碼如負100:還原成二進制是11111111 11111111 11111111 10011100
10.-100<<左移3位:11111111 11111111 11111100 11100000
11.-100>>3帶符號位右移3位:11111111 11111111 11111111 11110011
12.-100>>>3無符號右移3位:00011111 11111111 11111111 11110011
13.計算機就是按位移來計算數的,面試題用最快速度計算出3*8,就是要位移來計算是最快的
14.8移多少位來計算24;

9.基本數據類型相互轉換

自動類型轉換:容量小的自動轉換容量大的數據類型,byte,short,int,三者不會互相轉換,
1. 如代碼:byte b=10; float f=b;//把一個字節類型變量賦給浮點型變量;
強制類型轉換:容量大的轉換容量小的數據類型;
1.如代碼: long g=1000L;  int i=(int)g; //把長整形賦給整形變量
2.char c=‘a’; int ic=c; 輸出結果爲ASCII碼a爲97;

10.JAVA轉義字符

符號符號含義
\n換行
\r回車符在當前第一個
\t製表符
\t水平製表符
\’輸出單引號
\“”輸出雙引號
\輸出斜槓
\ddd八進制字符(ddd)
\uxxxx16進制Unicode字符 (xxxx)

本篇文章將JAVA基礎優化整合 初學基礎Ⅱ難點: ★★★★★★


感謝您的閱讀 歡迎您的留言與建議


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章