Ⅰ java 判斷語句的簡寫問題
str = str== null ? "" : str;
首先判斷的是 str==null;
如果成立那麼返回真——即返回「」——str="";
如果不成立那麼返回假——即返回str——str=str;
str = 條件 ? 真 : 假
這個公式你應該可以看得懂了。!
這是一個三元運算
希望可以幫到你!
Ⅱ java語法基礎,具體內容
java語法的基礎
1.java數據類型和變數
布爾型、短整型、整專型、長整型、浮點型、雙精度型、字元型屬、位元組型、8中數據類型結構。
2. 變數的作用域
3.常量、關鍵字、標識符
4.運算符和表達式
4.1算術運算符
4.2位運算符
4.3邏輯運算符
4.4比較運算符
4.5表達式賦值和運算符優先順序
5.注釋
6.If語句
7.switch.....break語句
8.for循環
9.while和do.....while循環
10.數組
一維數組
多維數組
這些都給你列出來了,具體的你自己查詢吧,
放著這么好的搜索引擎不用,不是浪費了么?
年輕人要勤勞致富 啊
呵呵、
這是我們書上的關於java 的語法基礎的一些內容,
我順便復習了一下,
順便就給你解答了,
希望能幫到你吧。
祝你愉快!!
Ⅲ JAVA中,如下面的代碼,"":這問號雙引號冒號是什麼表達式呀表示什麼意思怎麼用
三元表達式
表示如果你從request.getParameter("bizorderid")的值為空的話,那麼你聲明的變數bizorderid就賦空值,如果不為空,則值為request.getParameter("bizorderid")
相當於一個if(){}else{}條件判斷,如果是取「:」前的值,若不是則取「:」後面的值
Ⅳ JAVA 中的 -> 是什麼意思
本文主要是講解 Java 中的運算符。對於運算符而言是編程參與計算的基礎核心內容。最基礎的加減乘除取余。到後面的邏輯運算大於小於等於不等於。
本文內容思維導圖
先從最簡單的算術運算符說起。
算術運算符
算術運算符又分為: 一元運算符和二元運算符, 並且在 Java 中包含三元運算符, 就是條件運算符或者叫作三目運算符只是名字不同,含義相同。
一元運算符
一元運算符只有一個變數就可以進行操作。常用的一元運算符就是自加,自減。一共四個一元運算符。
示例代碼, 這里使用 jshell 快速查看結果。
需要注意其中的自加和自減的規則。當運算符在前的時候 ++ a; 運算符的優先順序比較高, 所以會先處理這個代碼, 所以可以看到代碼裡面直接返回了結果 4。但是 a ++ 的時候卻沒有直接返回結果, 因為他的運算符比價低。 所以重新調用該變數就會列印出來當前的值。
代碼定義如下:
運行查看結果:
二元運算符
二元運算符一共5個。分辨是加減乘除取余(+、-、*、/、%)。
其中,在進行除法運算的時候,遵守除數不能為 0;
如果除數為 0 就會報錯, 錯誤如下:
代碼示例如下:
運行查看結果,編譯, 運行:
賦值運算符
對於賦值運算符基本上貫穿了整個類的周期。常用的 = 賦值。 和簡寫賦值和算術運算符的使用方式。賦值運算符有如下圖所示的使用方式。
使用 JShell 進行測試代碼如下:
代碼示例如下:
inta=0;
a=3;
System.out.println(a);// 3
a+=3;
System.out.println(a);// 6
a-=3;
System.out.println(a);// 3
a*=3;
System.out.println(a);// 9
a/=3;
System.out.println(a);// 3
a%=2;
System.out.println(a);// 1
比較運算符
比較運算符, 也可以說是布爾運算符。 主要是比較兩個表達式的結果。 (表達式) 操作符 (表達式)
根據上面的運算符進行案例演示, 一定要動手練習。 更能加深印象。
只要知道比較運算是最終得到一個布爾類型的值。並且在進行比較運算的時候, 一定要注意其優先順序。代碼這次自己動手做吧。 有上面的演示, 應該很容易就搞定。
邏輯運算符
對於邏輯運算符, 主要就是 3 個。 邏輯與、邏輯或、邏輯非。和數學中的與或非意思一致。
格式: 表達式1 邏輯運算符 表達式2
邏輯運算符大多數情況下會和其他的運算符一起使用, 主要做一些簡單或復雜的邏輯運算。 並且通常都是和 if, for 等邏輯表達式一起使用。
簡單的說一說, 對於邏輯與和邏輯或不同點。 邏輯與為第一個表達式和第二個表達式都等於真值的情況下才會表達式成立。 邏輯或是第一個表達式為真值的情況下, 就不會在執行第二個表達式。 因為不管第二個表達式是否成立, 該邏輯運算都是真值了。
位運算符
對於任何編程語言而言, 最終的操作都是二進製表示, 因為計算機只認識二進制, 而八進制,十進制或者十六進制都是為了讓開發人員方便開發。對於 Java 來說, 也可以針對數的某個值進行運算。這就需要位運算符的參與了。也是為了方便對二進制進行操作。
位運算符主要有一下運算符:
位與 &
按位與和邏輯運算符的邏輯與很類似,一個比較的表達式, 一個是按照位來進行判斷。在二進制中, 位與的判斷為都為 1 的記做 1 否則記做 0。
按位與規則如下:
0 & 0 = 0;
0 & 1 = 0;
1 & 0 = 0;
1 & 1 = 1;
先看一個都是正整數的值 10 & 2。
最終得出結果 0000 1010 & 0000 0010 = 0000 0010 轉換成十進制就是2。
對於負值的位與運算有點區別的地方就是參與運算的是補碼。
舉例說明: 10 & -2
具體如何得到補碼, 可以參考我之前寫的文章基礎類型的相互轉換。這里對於負值的情況需要了解什麼是原碼,反碼和補碼。參與運算的是補碼。-2 的原碼是 1000 0010 反碼是 1111 1101 補碼 在反碼的基礎最後一位加 1 得到1111 1110。
最終結果得到 0000 1010 & 1111 1110 = 0000 1010 十進制也就是 10。
這個時候怎麼校驗結果是否正確呢? 直接寫 Java 代碼就好了, 打開 jshell:
位或 |
按位或, 和邏輯或很類似, 只要二者有一位 1 結果就是 1。
按位或規則如下:
0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;
根據上面的運算得到了 10 | 2 = 10。
負值有略有不同。
還是要靈活運用原碼反碼和補碼,特別是負數的情況下, 因為正數的原碼和補碼一致。
位反 ~
按位反, 和邏輯非類似。 是對位進行直接取反。
按位反規則如下:
~1 = 0;
~0 = 1;
先用 2 進行運算處理:
在進行 -2 的運算操作
-2 的原碼 需要轉換成補碼, 用補碼進行取反運算。 得到 1 的二進制。
代碼演示如下:
位異或 ^
位異或是基於二進制的位運算。 採用符號 XOR 在 Java 中使用 ^ 進行表示。兩個值相同取 0, 不同的取 1。
按位異或規則如下:
1 ^ 1 = 0;
0 ^ 0 = 0;
1 ^ 0 = 1;
0 ^ 1 = 1;
舉例 10 ^ 2
舉例 10 ^ -2
代碼演示結果的准確性:
異或在代碼優化和實際的工作中會經常用到。 後續實戰中用到了在詳細分析用法, 現在知道進行異或運算即可。
位左移 <<
將一個操作數進行二進制位往左移, 移動後空出來的低位用 0 進行填充。移除的高位捨去。高位丟棄,低位補零。
操作數 << 移動的位數
舉例說明 10 << 2
位左移代碼演示:
位右移 >>
將一個操作數進行二進制往右移, 移動後,有兩種情況,一種有無符號一種是有符號。也就是最高位為 0 移動後高位補 0, 如果最高位(符號位)為 1, 移動後空缺位都為 1.
操作數 >> 移動的位數
舉例說明 10 >> 2
對於負數舉例 -2 >> 2 空缺位補 1:
位右移代碼演示:
注意這兩者的區別。
無符號位右移 >>>
這個是和右移操作上是一致的, 但是不管是否最高位(符號位)為 1, 空缺位都使用 0 進行補齊。
操作數 >>> 移動的位數
舉例說明 10 >>> 2
對於負數來說。 這里有點區別, 因為對於負值來說, 上面其實都是 32 位, 為了讓大家看起來舒服轉換成了對應的 8 位的。 因為無符號位右移會改變正負值, 所以 32 位的負值和 8 位的負值是不一致的。
並且 Java 在處理 byte, short , char 等值進行移位操作前, 會先將類型轉換成 int 因為 int 佔用 32 位。
所以 -2 >>> 2 的時候,8 位運算應該是如下:
因為會先轉換成 32 位。 所以 32 位的 -2 等於如下:
也就是結果: 1073741823
無符號位右移代碼如下:
理解原理。 更能發現問題。
類型比較運算符
這里說的類型比較是對象的比較。 判斷每個定義的變數是否是某個類。該類可以是(介面、抽象類)。
語法規則:
boolean = 變數 instanceof 類
舉例說明:
運行查看結果:
這里需要注意:
null 值是沒有引用的, 所以和任何值都不相等。
instanceof 比較的是引用類型, 不能用於基礎類型的比較。
條件(三目)運算符
三目運算在 Java 中只有一個就是 ? :
三目運算的語法格式:
大部分情況下, 對於三目運算是 if 和 else 的簡寫。舉例說明:
運算符的優先順序
所有的數學運算都是從左向右進行運算的, 對於 Java 來說大部分運算也是遵守從左向右的規則。 但是一元運算符,賦值運算符和三目運算符例外。他們是從右向左進行運算。
運算符的內容告一段落, 接下來就是開始邏輯表達式的學習。 教程編寫不易。希望各位大看官點贊收藏加關注。更多內容大放送。