作者簡介
作者名:編程界明世隱
簡介:CSDN博客專家,從事軟體開發多年,精通Java、JavaScript,博主也是從零開始一步步把學習成長、深知學習和積累的重要性,喜歡跟廣大ADC一起打野升級,歡迎您關注,期待與您一起學習、成長、起飛!

導航
? 從零學Java系列目錄索引
?上一篇 13.關系運算子
?下一篇待更新
引言
♀ 小AD:明哥,好幾天沒學習了,怎么回事呢?
♂ 明世隱:明哥累了
♀ 小AD:屁,還不知道你,去沖星星了吧,還不叫我,難道非得學Java才帶我?
♂ 明世隱:不不不,完全不是你想的那樣,不是學Java才能上星星,而且你想上星星就得先學Java,
♀ 小AD:???,這不是一個意思嗎?我讀書少你別騙我,
♂ 明世隱:那怎么會一樣呢?學Java才能上星星,這是什么意思呢,這就是“被動”,被逼著學Java,
♀ 小AD:你想上星星就得先學Java,就是因為我先學了Java然后就能上星星,得主動,這意思是不?
♂ 明世隱:對,乖!
♀ 小AD:那個,明哥我想上,,,,哦不,我想學Java,
♂ 明世隱:來來來,今天來學習邏輯運算子,
概述
邏輯運算子把各個運算子的關系運算式連接起來組成一個相對復雜的邏輯運算式,以判斷程式中的運算式是否成立,結果是boolean型別(true/false),
在Java中要表達a大于10小于20,需要先拆解為:
a>10和a<20
合并來寫:a>10&&a<20
&&就是邏輯運算子,a>10其結果就是boolean型別,不是true就是false,也就是邏輯運算子可以直接連接boolean型別的常量或者變數,
分類
| 邏輯運算子 | 描述 |
|---|---|
| & | 邏輯與,同真為真,一假全假 |
| | | 邏輯或,有真為真,全假為假 |
| ^ | 邏輯異或,相同為假,不同為真 |
| ! | 邏輯非,真偽互換 |
邏輯與
♀ 小AD:明哥,啥叫真偽,是不是“我真的好想再活500年”的那個“真”,
♂ 明世隱:對,真是那個真,但其實這個結果是假,沒人能活500年,
♀ 小AD:那我懂了,就是非此即彼唄,也就是你前面講過的boolean布爾型別的值,true or flase,
♂ 明世隱:嗯,小家伙掌握的不錯嗎,沒有白費我的苦心,還帶你上那么多分,
♀ 小AD:謝明哥,那邏輯與同真為真就是 & 兩邊都是真的話,那就是真,否則就不是真,對吧,
♂ 明世隱:是的呀,我給你寫段代碼,你就明白了,
package learnJava;
public class Learn14 {
public static void main(String[] args) {
//& 的兩邊都是true,結果才是true,否則都是false
//兩邊都是true
System.out.println(true&true);//true
//先true后false
System.out.println(true&false);//false
//先false后true
System.out.println(false&true);//false
//都是false
System.out.println(false&false);//false
}
}
運行結果
true
false
false
false
♀ 小AD:明哥,你這樣寫,我一下就懂了,也就是 & 旁邊有一個出現false就肯定是false,只有全部true才是結果true,
♂ 明世隱:對啊,就是這個意思,所以“同真為真,一假全假”
♀ 小AD:嗯,這個我理解了,但程式中不可能這樣用的吧,一般不是這樣的代碼呢
♂ 明世隱:那確實,現在我們就來寫一段代碼
♀ 小AD:好嘞明哥,明哥加油!
package learnJava.P14;
public class Learn1 {
public static void main(String[] args) {
//& 的兩邊都是true,結果才是true,否則都是false
int a = 10;
int b = 20;
int c = 30;
//a>b為flase b>c 為false 回傳false
System.out.println(a>b&b>c);
//a>b為flase b<c 為true 回傳false
System.out.println(a>b&b<c);
//a<b為true b<c 為true 回傳true
System.out.println(a<b&b<c);
}
}
運行結果:
false
false
true
♀ 小AD:也就是& 符號兩邊計算的結果本身就是要boolean型別的唄
♂ 明世隱:那是必須的
♀ 小AD:那我懂了,我也來寫一段代碼,明哥來指導一下,
♂ 明世隱:可以,不是那些七七八八的鬼東西吧,
♀ 小AD:那怎么會,當然是很正常的,
♂ 明世隱:我信你一次,
package learnJava.P14;
public class Demo1 {
public static void main(String[] args) {
//& 的兩邊都是true,結果才是true,否則都是false
String ming = "最強王者";
String adc = "榮耀黃金";
boolean res1=false;
boolean res2=false;
if("最強王者".equals(ming)){
res1=true;
}
if("最強王者".equals(adc)){
res2=true;
}
System.out.println("明哥這賽季任務達標了嗎?");
System.out.println(res1&res2);
}
}
運行結果:
明哥這賽季任務達標了嗎?
false
♀ 小AD:明哥,我這代碼沒毛病吧?
♂ 明世隱:毛病是沒毛病,知識點掌握的也不錯,就是感覺你代碼里有話要說,
♀ 小AD:沒有啊,我單純寫個代碼,
♂ 明世隱:你就是在暗示,
♀ 小AD:不敢不敢
♂ 明世隱:放心吧了,你先把代碼寫好了再說
♀ 小AD:哦,知道了,
邏輯或
♂ 明世隱:“有真為真,全假為假”,能看明白不?
♀ 小AD:意思就是只要有true就是true,否則就是false
♂ 明世隱:看來你語文學的不錯撒,就是這個意思,
♀ 小AD:老規矩,寫個代碼給我看看,
♂ 明世隱:那必須的
package learnJava.P14;
public class Learn2 {
public static void main(String[] args) {
//| 的兩邊有一個true就為true,否則就是false
//兩邊都是true
System.out.println(true|true);//true
//先true后false
System.out.println(true|false);//true
//先false后true
System.out.println(false|true);//true
//都是false
System.out.println(false|false);//false
}
}
運行結果:
true
true
true
false
♀ 小AD:這個我懂,一看就明白,只要有一邊出現 true就是true,兩邊都是false才是false,
♂ 明世隱:對,真聰明
♀ 小AD:那我直接寫個代碼,不需要你舉例了,
♂ 明世隱:行,我相信你
♀ 小AD:這就安排
package learnJava.P14;
public class Demo2 {
public static void main(String[] args) {
//| 的兩邊有一個true就為true,否則就是false
String java = "小菜鳥";//小AD的java水平
String wangzhe = "榮耀黃金";//小AD的王者水平
boolean res1=false;
boolean res2=false;
if("最強王者".equals(java)){
res1=true;
}
if("最強王者".equals(wangzhe)){
res2=true;
}
System.out.println("明哥這賽季任務達標了嗎?");
System.out.println(res1 | res2);
}
}
運行結果:
明哥這賽季任務達標了嗎?
false
♂ 明世隱:行啊你,我真服你了,代碼用的爐火純青了吧,
♀ 小AD:沒有沒有,要多向明哥學習、
♂ 明世隱:你這用代碼變著法暗示呢?還沒有,
♀ 小AD:我就是寫真順手
♂ 明世隱:看來不需要明哥教Java和帶王者了吧,
♀ 小AD:哪能,明哥YYDS,
♂ 明世隱:算你識相,下一個吧,大聰明
♀ 小AD:O滴K
邏輯異或
♂ 明世隱:“相同為假,不同為真”,這樣很好理解咯,
♀ 小AD:那就是兩邊不一樣就為真咯,
♂ 明世隱:是的,上代碼看看
package learnJava.P14;
public class Learn4 {
public static void main(String[] args) {
//^ 兩邊不同為true,相同是false
//兩邊都是true
System.out.println(true^true);//false
//先true后false
System.out.println(true^false);//true
//先false后true
System.out.println(false^true);//true
//都是false
System.out.println(false^false);//false
}
}
運行結果:
false
true
true
false
♀ 小AD:明哥,這就是兩邊不能相同咯,同性相斥,是這個意思吧,
♂ 明世隱:額,,,是吧,現在的年輕人,說話我老年人頂不住,
♀ 小AD:沒有啊,沒有什么難以理解的話呀,
♂ 明世隱:得,這次到我來舉個例子吧,每次都是你搞事情,
♀ 小AD:明哥,搶我表現的機會,
♂ 明世隱:你表現的還少嗎?
♀ 小AD:好,行,你來,
package learnJava.P14;
public class Demo3 {
public static void main(String[] args) {
String ming = "最強王者";
String adc = "榮耀黃金";
boolean res1=false;
boolean res2=false;
if("最強王者".equals(ming)){
res1=true;
}
if("最強王者".equals(adc)){
res2=true;
}
System.out.println("明哥這賽季任務達標了嗎?");
System.out.println(res1^res2);
}
}
運行結果:
明哥這賽季任務達標了嗎?
true
♀ 小AD:明哥,你這就沒意思了吧,照抄我代碼,
♂ 明世隱:這就合理利用資源,不要浪費,
♀ 小AD:行吧,算你厲害,
♂ 明世隱:還不是被我拿捏了,小樣,
♀ 小AD:,,,,,,
邏輯非
♂ 明世隱: “真偽互換”,這個應該好理解,就是加上 !后,真的就變假,假的就變真了,
♀ 小AD:真偽美猴王?
♂ 明世隱:別扯好吧,正經點
♀ 小AD:那你舉個實體吧
package learnJava.P14;
public class Learn5 {
public static void main(String[] args) {
System.out.println(!true);//false
System.out.println(!false);//true
}
}
運行結果:
false
true
♂ 明世隱:這個應該很好看明白吧
♀ 小AD:嗯,我明白了,不就是true加一個!在前面就變成false,false加一個!在前面就變成了true,好簡單的,
♂ 明世隱:那又來舉個例子
♀ 小AD:那是肯定的呀,走你!
package learnJava.P14;
public class Demo4 {
public static void main(String[] args) {
String ming = "最強王者";
String adc = "榮耀黃金";
boolean res1=false;
boolean res2=false;
if("榮耀王者".equals(ming)){
res1=true;
}
if(!"最強王者".equals(adc)){
res2=true;
}
System.out.println("明哥這賽季任務達標了嗎?");
System.out.println(res1);
System.out.println("小AD這賽季任務達標了嗎?");
System.out.println(res2);
}
}
運行結果:
明哥這賽季任務達標了嗎?
false
小AD這賽季任務達標了嗎?
true
♂ 明世隱:哦豁,果然是這樣,站在學Java這方面來講還是很不錯的,
♀ 小AD:那站在別的角度呢?
♂ 明世隱:你就是找打,
♀ 小AD:哥我不敢,我就想要3個小星星,不多,不過分!
♂ 明世隱:行吧,看你今天還挺活躍,得嘞,走吧,
♀ 小AD:timi
小結
這節總結了“邏輯運算子01”,希望能對大家有所幫助,請各位小伙伴幫忙 【點贊】+【收藏】+ 【評論區打卡】, 如果有興趣跟小明哥一起學習Java的,【關注一波】不迷路哦,
評論區打卡一波讓我知道你,明哥會持續關注你的學習進度哦!
導航
? 從零學Java系列目錄索引
?上一篇 13.關系運算子
?下一篇待更新
熱門專欄推薦
1.Java小游戲系列(俄羅斯方塊、飛機大戰、植物大戰僵尸等)
2.JavaWeb專案實戰(圖書管理、在線考試、宿舍管理系統等)
3.JavaScript精彩實體(飛機大戰、掃雷、貪吃蛇、驗證碼等)
4.Java小白入門200例
5.從零學Java、趣學Java、以王者榮耀角度學Java
另外
為了幫助更多小白從零進階Java工程師,從CSDN官方那邊搞來了一套 《Java 工程師學習成長知識圖譜》,尺寸 870mm x 560mm,展開后有一張辦公桌大小,也可以折疊成一本書的尺寸,原件129元現價 29 元,先到先得,有興趣的小伙伴可以了解一下!

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297343.html
標籤:其他
