黑馬程序員---java基礎 2

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity開發</a>、
<a href="http://edu.csdn.net"target="blank">.Net培訓</a>、期待與您交流! ----------------------
Java語言基礎組成

1.關鍵字

 

 

2.標識符






1就是給類,變量,方法起名字。

2組成規則:

由數字0-9,英文大小寫字母,$以及_組成。

(3)注意事項:

A:只能有組成規則規定的內容組成。

B:不能以數字開頭。

C:不能是Java中的關鍵字。

D:區分大小寫。

2.1:包(文件夾,用於區分同名的類)

 全部小寫。如果多級包,用.分開。

舉例:

com一級包

itheima.interview二級包

注意:www.itheima.com(域名反寫)

 

2.,2類和接口

如果是一個單詞,首字母大寫。

舉例:

Demo,Test,Student

如果是多個單詞,每個單詞的首字母大寫。

舉例:

HelloWorld,StudyJava

2.3:變量和方法

如果是一個單詞,首字母小寫。

舉例:

main(),name,age.show().method()

如果是多個單詞,從第二個單詞開始每個單詞的首字母大寫。

舉例

showName(),studentName()

2.4:常量

全部大寫,如果多個單詞組成,用_連接。

舉例PI,STUDENT_MAX_AGE

 

3.數據類型

 

數據分類

1)基本類型:38種。

 

3.1整型

佔用字節

byte(1)

short(2)

int(4)

long(8)

3.2布爾型

boolean(1)

只有倆字結果,一個是true,另一個是false

3.3字符型

char(2)

浮點型:

float(4)

double(8)

 

3.4引用類型

類,接口,數組

 

注意:

整數默認是int類型。long類型需要加L或者l後綴。

浮點數默認是double類型。float類型需要加F或者f後綴。

3.5類型轉換

1、boolean類型不參與轉換。(因爲boolean值是常量,默認只有倆個值,要麼true,要麼false

2、隱式轉換(從小到大)

自動類型提升,從小到大的提升。

(byte,short,char) --> int --> long--> float --> double

3、強制轉換(從大到小)

強制類型轉換,從大到小的轉換。

intb;b=(byte)(b+2)

格式:

(數據類型)數據;

 

表達式的數據類型自動提升

所有byte型、short型和char的值將被提升到int型。

 

如果一個操作數是long型,計算結果就是long型。

 

如果一個操作數是float型,計算結果就是float型。

 

如果一個操作數是double型,計算結果就是double型。

分析:

 

System.out.println(a)與System.out.println(a+1)的區別。

 

System.out.println(a)打印的是a。

 

System.out.println(a+1)打印的是98,自動類型提升,把a轉換成ASCII編碼值(97)與1相加。

 

 

 

轉義字符 

 

\n :換行    

\b:退格

\r:按回車

\t:製表符

4.運算符

 

4.1分類:

算術運算符 +,-,*,/,%,++,--

+):正號,加法,字符串連接符。

System.out.println("5+5="+5+5);//5+5=55

System.out.println(5+5+"=5+5");//10=5+5

%):取得餘數

左邊如果大於右邊,結果是餘數。

左邊如果小於右邊,結果是左邊。

左邊如果等於右邊,結果是0。

正負號跟左邊一致。

++與--:

++ 其實相當於把數據+1

- -  其實相當於把數據-1

 

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

int a = 10;

把10賦值給int類型的變量a。

a += 20;

把左邊和右邊的和賦值給左邊。

注意事項:

a = a + 20;

a += 20;

結果是等價的,理解不是等價的。

 

因爲+=這種運算符,內含了強制類型轉換功能

比如:

short s = 2;

s+=3;

等價於  s = (short)(s+3);

關係運算符  ==,!=,>,>=,<,<=

特點:關係運算符的結果都是boolean類型。

請千萬注意:== 不要寫成 =

 

 

 邏輯運算符

&與運算   |或運算  ^異或運算   !非運算 &&短路與運算  ||短路或運

&:符號的運算特點:

true  &  true    =  true;

true  &  false   =  false;

falsetrue    =  false;

falsefalse   =  false;

&:運算規律:

 

&運算的兩邊只有有一個是false,結果肯定是false

 

只有兩邊都爲true,結果纔是true

 

|:符號的運算特點:             

true  &  true    =  true;

true  &  false   =  true;

falsetrue    =  true;

falsefalse   =  false;

 

|:運算規律:

 

|運算的兩邊只要有一個是true,結果肯定是true

 

只有兩邊都爲false。結果是false

^:異或 :和或有點不一樣。

^:運算特點。

true  ^ true  = false;

true  ^ false = true;

false ^ true  = true;

false ^ false = false;

 

^異或的運算規律:

 

^符號的兩邊結果如果相同,結果是false

 

兩邊的結果不同,結果是true

 

              !:非運算,判斷事物的另一面。

!true =false

!false=true;

!!true=true;

 

面試題:

 

 

&&&運算的結果是一樣的。但是運算過程有點小區別。

&:無論左邊的運算結果是什麼,右邊都參與運算。

&&:當左邊爲false時,右邊不參與運

|||運算的結果是一樣的。但是運算過程有點小區別。

|:無論左邊的運算結果是什麼,右邊都參與運算。

||:當左邊爲true時,右邊不參與運算的。

位運算是直接對二進制進行運算

<<左移運算   >>右移運算   >>>無符號右移運算   &與運算  |或運算    ^異或運算   ~反碼運算

<<左移幾位其實就是該數據乘以2的幾次方。左移:可以完成2的次冪運算

>>右移幾位其實就是該數據除以2的幾次冪。右移:對於高位出現的空位,原來高位是什麼就用什麼補這個空位。

>>>:無符號右移:數據進行右移時,高位出現的空位,無論原高位是什麼,空位都用0補。

^一個數異或同一個數兩次,結果還是這個數。

練習:

對兩個整數變量的值進行互換(不需要第三方變量)

開發時,使用第三方變量的形式,因爲閱讀性強。

int a = 3,b = 5, c;

c = a ;a = b ;b = c ;

Sytem.out.println("a="+a+",b="+b);

這種方式不要用,如果兩個整數的數值過大,會超出int範圍,會強制轉換。數據會變化。

 

a= a + b;//a = 3 + 5;a = 8;

b= a - b;//3+5-5 = 3;b = 3;

a= a - b;//3+5-3 = 5;a = 5;

面試的時候用。

a= a ^ b;//a = 3 ^ 5;

b= a ^ b;//b = (3^5)^5; b = 3;

a= a ^ b;//a = (3^5)^3; a = 5;

三元運算符

格式:(條件表達式)?表達式1:表達式2 ;

如果條件爲true,運算後的結果是表達式1,

如果條件爲flase,運算後的結果是表達式2

示例:獲取兩個數中大數。

int x = 3, y = 4, z;

z = (x>y) ? x:y;  //z變量存儲的就是兩個數的大數。

 
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity開發</a>、<a href="http://edu.csdn.net"target="blank">.Net培訓</a>、期待與您交流! ----------------------


詳細請查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

 

 

 

發佈了51 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章