---------------------- android培訓、java培訓、期待與您交流! ----------------------
黑馬程序員-Java語言基礎 第2天
1、關鍵字
被Java語言賦予了特殊含義的一些單詞,Java中的關鍵字都是小寫的。比如class int long double等
2、標識符
用戶根據自己的需要定義的一些具有標識意義的符號,比如類名,函數名,數組名等由26個英文字母大小寫,數字:0-9 符號:_ $ 組成。
定義合法標識符規則:Java中嚴格區分大小寫。
1,數字不可以開頭。
2,不可以使用關鍵字。
Java中的名稱規範:
包名:多單詞組成時所有字母都小寫。xxxyyyzzz
類名接口名:多單詞組成時,所有單詞的首字母大寫。XxxYyyZzz
變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫。xxxYyyZzz
常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接。XXX_YYY_ZZZ
3、註釋
java語言中三種格式的註釋 //表示單行註釋 /* */表示多行註釋 /***/文檔註釋
4、常量與變量
常量:表示不能改變的數值。
Java中常量的分類:
1,整數常量。所有整數
2,小數常量。所有小數
3,布爾(boolean)型常量。較爲特有,只有兩個數值。true false。
4,字符常量。將一個數字字母或者符號用單引號( ' ' )標識。
5,字符串常量。將一個或者多個字符用雙引號(“ ”)標識。
6,null常量。只有一個數值就是:null.
變量的概念:變量就是系統爲程序分配的一塊內存單元,用來存儲各種類型的數據。根據所存儲的數據類型的不同,有各種不同類型的變量。變量名代表這塊內存中的數據。
內存中的一個存儲區域;該區域有自己的名稱(變量名)和類型(數據類型);該區域的數據可以在同一類型範圍內不斷變化
爲什麼要定義變量:用來不斷的存放同一類型的常量,並可以重複使用
使用變量注意:
變量的作用範圍(一對{}之間有效)
初始化值
定義變量的格式:
數據類型 變量名 = 初始化值; inta = 100;
注:格式是固定的,記住格式,以不變應萬變。
理解:變量就如同數學中的未知數。
Java數據類型:
數據類型 |
基本數據類型 |
數值型 |
整數類型 |
byte,short,int,long |
浮點類型 |
float,double |
|||
字符型(char) |
||||
布爾型(boolean) |
||||
引用數據類型 |
類(class) |
|||
接口(interface) |
||||
數組([ ]) |
變量數據類型的字節大小及有效取值範圍
①byte佔用一個字節,數字大小爲-2的7次方—2的7次方-1 (-128~127) //byte型通常用8進制、10進制、16進制,無論採用什麼進制,輸出到控制檯時系統都會自動轉換爲10進制
②short佔用兩個字節,數字大小爲-2的15次方—2的15次方-1 (-32768~32767)
③int佔用四個字節,數字大小爲-2的31次方—2的31次方-1 (-2147483648~2147483647)
④long佔用八個字節,數字大小爲-2的63次方—2的63次方-1
⑤float佔用四個字節,數字大小爲1.4E-45~3.4E+38 ,-1.4E-45~-3.4E+38 。用二進制的指數形式表示一個浮點數的格式,如:101*2的2 次方 , 101*2的-3次方。 3.5E4=3.5*10的4次方 3.5E-4=3.5*10的-4次方
⑥double佔用八個字節,數字大小爲4.9E-324~1.7E+308,-4.9E-324~-1.7E+308 。
⑦char佔兩個字節,數字大小爲0—2的16次方-1(0~65535)是unicode編碼。字符的本來面目,與C語言不同,java的字符佔兩個字節,char類型用來存儲諸如字母、數字、標點符號及其他符號之類的單一字符
⑧Boolean佔一個字節,其取值只有兩個,true和false
類型轉換
自動類型轉換(也叫隱式類型轉換)和強制類型轉換(也叫顯式類型轉換)
System.out.println(‘a’); // 輸出爲a;
System.out.println(‘a’+1) ; //輸出98,int數字
System.out.println(“”+‘a’+1) //輸出a1,字符串
表達式的數據類型自動提升
所有的byte型、short型和char的值將被提升到int型。
自動類型提升:
byteb = 3;
intx = 4;
x= x + b;//b會自動提升爲int類型進行運算。
①如果一個操作數是long型,計算結果就是long型;
②如果一個操作數是float型,計算結果就是float型;
③如果一個操作數是double型,計算結果就是double型
5、運算符
算術運算符
賦值運算符
符號:
= , +=, -=, *=, /=, %=
示例:
int a,b,c; a=b=c =3;
int a = 3; a+=5;等同運算a=a+5;
思考:
short s = 3;
s=s+2;
s+=2; //等於s = s+2 ;
比較運算符
注:boolean型要麼爲true,要麼爲false。
邏輯運算符
l 邏輯運算符用於連接布爾型表達式,在Java中不可以寫成3<x<6,應該寫成x>3 & x<6 。
l “&”和“&&”的區別:
• 單&時,左邊無論真假,右邊都進行運算;
• 雙&時,如果左邊爲真,右邊參與運算,如果左邊爲假,那麼右邊不參與運算。
“|”和“||”的區別同理,雙或時,左邊爲真,右邊不參與運算。
l 異或( ^ )與或( | )的不同之處是:當左右都爲true時,結果爲false。
位運算符
運算符 |
運算 |
範例 |
<< |
左移 |
3 << 2 = 12 --> 3*2*2=12 |
>> |
右移 |
3 >> 1 = 1 --> 3/2=1 |
>>> |
無符號右移 |
3 >>> 1 = 1 --> 3/2=1 |
& |
與運算 |
6 & 3 = 2 |
| |
或運算 |
6 | 3 = 7 |
^ |
異或運算 |
6 ^ 3 = 5 |
~ |
反碼 |
~6 = -7 |
位運算符的細節
<< |
空位補0,被移除的高位丟棄,空缺位補0。 |
>> |
被移位的二進制最高位是0,右移後,空缺位補0; 最高位是1,空缺位補1。 |
>>> |
被移位二進制最高位無論是0或者是1,空缺位都用0補。 |
& |
二進制位進行&運算,只有1&1時結果是1,否則是0; |
| |
二進制位進行 | 運算,只有0 | 0時結果是0,否則是1; |
^ |
相同二進制位進行 ^ 運算,結果是0;1^1=0 , 0^0=0 不相同二進制位 ^ 運算結果是1。1^0=1 , 0^1=1 |
三元運算符
格式
(條件表達式)?表達式1:表達式2;
如果條件爲true,運算後的結果是表達式1;
如果條件爲false,運算後的結果是表達式2;
示例:
獲取兩個數中大數。
int x=3,y=4,z;
z = (x>y)?x:y;//z變量存儲的就是兩個數的大數。
6、程序流程控制
判斷結構;
if語句 三種格式: 1、 if(true) { 執行語句; } 2、 if(條件表達式) { 執行語句; } else { 執行語句; } |
3、 if(條件表達式) { 執行語句; } else if (條件表達式 ) { 執行語句; } …… else { 執行語句; } |
if語句特點:
a,每一種格式都是單條語句。
b,第二種格式與三元運算符的區別:三元運算符運算完要有值出現。好處是:可以寫在其他表達式中。
c,條件表達式無論寫成什麼樣子,只看最終的結構是否是true 或者 false;
選擇結構
switch語句 格式: switch(表達式) { case 取值1: 執行語句; break; case 取值2: 執行語句; break; …... default: 執行語句; break; } |
switch語句特點:
A、switch語句選擇的類型只有四種:byte,short,int , char。
B、case之間與default沒有順序。先執行第一個case,沒有匹配的case執行default。
C、結束switch語句的兩種情況: 遇到break,執行到switch語句結束。
D、如果匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,運行可以執行的語句,直到遇到break或者switch結尾結束。
循環結構
while, do while , for常用的爲while和for語句
=============================================================
while語句格式:
while(條件表達式)
{
執行語句;
}
=============================================================
dowhile語句格式:
do
{
執行語句;
}while(條件表達式);
dowhile特點:
是條件無論是否滿足,
循環體至少執行一次。
=============================================================
For語句格式:
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;(循環體)
}
注:
A、for裏面的兩個表達式運行的順序,初始化表達式只讀一次,判斷循環條件,爲真就執行循環體,然後再執行循環後的操作表達式,接着繼續判斷循環條件,重複找個過程,直到條件不滿足爲止。
B、while與for可以互換,區別在於for爲了循環而定義的變量在for循環結束時就在內存中釋放。而while循環使用的變量在循環結束後還可以繼續使用。
C、最簡單無限循環格式:while(true) , for(;;),無限循環存在的原因是並不知道循環多少次,而是根據某些條件,來控制循環。
---------------------- android培訓、java培訓、期待與您交流! ----------------------