3.2關鍵字都是小寫,TRUE FALSE NULL都不是Java關鍵字
3.3數據類型
變量相當于一個有名稱的容器,該容器用于裝各種不同類型的數據
Java類型分為2種
基本類型:
引用類型:
基本數據類型包括boolean類型和數值類型 數值類型有整數類型和浮點類型 。
整數包括byte short long char int 5個 浮點:double float。
char代表字符型 也是一種整數類型 相當于無符號整數類型。
char類型使用單引號括起來,而字符串使用雙引號括起來。
引用類型:包括類,接口和數組類型,還有特殊的null類型
float和double的負無窮可以相等 正無窮大也可以相等
兩個非樹之間不相等 a=0.0 a/a==Float.NaN
3.5 基本數據類型轉換
自動類型轉換 左邊float= 右邊int double左邊= int右邊 右到左
強制類型轉換 int tol=(int)dVlaue 原來是double double=int 右到左。
byte 類型不能自動轉換為char
強制類型轉換 由大轉向小 。自己推測
float a=5.6 是錯誤的
必須要強轉 float a=(float)5.6
3.5.2*** 字符串不能直接轉換為基本類型 但可以通過基本類型對應的包裝類則可以實現把字符串轉換成基本類型
String a="45";
//使用Integer的方法將一個字符串轉換為int類型(基本數據類型)
int b=Integer.parInt(a);
Java為8種基本類型都提供了對應的包裝類 boolean→Boolean byte→Byte short→Short int→Integer long→Long char→Character
float→Float double→Double 。
3.7 運算符
算術運算符號
賦值運算符
比較運算符
邏輯運算符
位運算符
類型相關運算符
算術運算符7個 +,-,*,/,%
除法注意有 ①除數不能為0 2個數都是整數 ②19/4=4 結果截斷取整 2個數都是整數 可以是負數
③2個都是浮點數 計算結果也是浮點數 如果除數是0 或者0.0結果是正無窮大或負無窮大
求余數%時候 一個或者2個操作數是浮點數 則允許第二個操作數為0或者0.0 只是求余數結果是非數NaN。
0或者0.0對零以外的任何數求余數都是0或者0.0.
a++ 右邊和++a左邊區別
a++ 右邊是先放入表達式運算 然后才把操作數+1
++a 是先把操作數+1 再放入表達式運算。
賦值運算符
賦值運算是從右到左執行計算的。
String str="Java"
String str2=str;
int a ,b ,c,d; a=b=c=d;
3.7 位運算符
7個 &與 ,|或,~非, ^異或 當兩位同時返回0,不同時返回1 試用后面的運算符,<<左移運算符, >>右移運算符 ,>>>無符號右移運算符
拓展后的賦值運算符
a=a+5 a+=5 運行結果一樣但是底層運行機制存在差異
3.7.5比較運算符
比較運算符用于判斷兩個變量或者常量的大小。比較運算的結果是布爾值true或者false
>,>=,<,<=,==,!=
Computer c1=new Computer();
Computer c2=new Computer();
System.out.println((c1==c2)); false
Computer c3=c1;
System.out.println((c1==c3)); true
3.7.6 邏輯運算符
&&與 兩個操作數必須要true 才為true
&
|| 有一個為true 就為true
| 不短路會繼續執行 就算條件 已經符號
!非 操作數為true 返回false 反之
^ 異或 當兩個操作數不同時才返回true 相同false
3.7.7 三目運算符 可以嵌套
(expression)? if-true-statement : if-false-statement;
String str=5>3? "5大于3" :"5不大于3";
System.out.println(str);//輸出"5大于3"
方法二
String str2=null;
if(5>3){
str2="5大于3"
}else{
str2="5不大于3"}
嵌套
System.out.println(a>b? "a大于b":(a<b? "a小于b":"a大于b"))
單目運算符 賦值運算符 多目運算符都是從右到左運算
文章列表