---------------------- <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)基本類型:3類8種。
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;
false& true = false;
false& false = false;
&:運算規律:
&運算的兩邊只有有一個是false,結果肯定是false。
只有兩邊都爲true,結果纔是true。
|:符號的運算特點:
true & true = true;
true & false = true;
false& true = true;
false& false = 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>