跟我學java編程—Java邏輯運算符

2020-12-06 米粒教育

邏輯運算符用於連接兩個條件表達式或布爾類型的變量,用於執行多個判斷。在數學中,表示一個數值的範圍時,經常用不等式來表述。例如:假設一個數值取值範圍為0到100,設該數值為x,不等式0<x<100給出了x的取值範圍,在Java程序語言中,邏輯運算符可以實現類似數學中的不等式。下表列出了Java語言支持的邏輯運算符,表中假設布爾變量A為真,變量B為假。

邏輯與運算符「&&」,用於判斷運算符兩邊的條件表達式或布爾變量是否同為真,如果同為真,返回結果為true,否則返回false。例如下面語句:

int a = 10;

int b = 20;

int c = 15;

boolean bJudge = c > a && c < b;

聲明了變量a、變量b、變量c,變量a和變量分別賦值為10和20,變量c賦值為15。第四條語句邏輯與運算符「&&」連接了2個條件表達式,分別是c > a和c < b,如果這兩個表達式計算結果都為真,則bJudge為真,否則bJudge為false。此時bJudge的值為true。該運算符還有一個特點,當左側的條件表達式或布爾變量為假時,則直接返回結果false,不再執行運算符右側的表達式或布爾變量。

邏輯或運算符「||」,用於判斷運算符兩邊的條件表達式或布爾變量是否有一個為真,如果有一個為真,返回結果為true,否則返回false。例如下面語句:

int a = 10;

int b = 20;

int c = 15;

boolean bJudge = c > a || c < b;

聲明了變量a、變量b、變量c,變量a和變量分別賦值為10和20,變量c賦值為15。第四條語句邏輯或運算符「||」連接了2個條件表達式,分別是c > a和c < b,這兩個表達式計算結果任何一個為真時,則bJudge為真,否則bJudge為false。此時bJudge的值為true。

邏輯非運算符「!」,用於判斷運算符兩邊的條件表達式或布爾變量是否有一個為真,如果有一個為真,返回結果為true,否則返回false。例如下面語句:

int a = 10;

int b = 20;

boolean bJudge = !( a> b);

聲明了變量a、變量b,變量a和變量分別賦值為10和20。第三條語句邏輯非運算符「!」用於取反條件表達式a> b的結果,如果a> b為真,取反後為false,如果a> b為假,取反後為true。此時bJudge的值為true。語句中用括號把a> b括起來,用於提高a> b的優先級,先計算a> b,再取反。

示例1:邏輯運算符

在D盤Java目錄下,新建「LogicSample.java」文件。用記事本打開「LogicSample.java」文件,輸入以下代碼:

代碼結構分析

程序功能主要是演示邏輯運算符的用法。

類似語句「bJudge = !( a> b);」,Java初學者可能會有困惑,語句中有關係運算符和邏輯非運算符,那個運算符先參與運算呢?這就涉及到運算符優先級的問題,關於運算符優先級後面會有介紹。在當前語句中,把關係運算符相關的表達式a> b用括號括起來,以提高其運算優先級,因此先執行關係運算,再執行邏輯非運算。

編譯「LogicSample.java」文件,在命令行窗口輸入「javac LogicSample.java」並執行命令,編譯通過後,在命令行窗口輸入「java LogicSample」運行Java程序,命令行窗口顯示如下信息:

圖 6-14 邏輯運算符示例執行結果

在編程過程中,經常碰到需要判斷兩個條件是否都滿足或只有一個條件滿足的情況,根據判斷結果程序轉向不同的分支。邏輯運算符可以解決上面的問題。

(1)邏輯與運算符兩邊的操作數滿足什麼條件時,邏輯與運算符返回結果為真()

A.一真一假

B.同為真

C.同為假

D.無法判斷真假

(2)邏輯或運算符兩邊的操作數滿足什麼條件時,邏輯或運算符返回結果為假()

A.同為真

B.一真一假

C. 同為假

D.無法判斷

(3)邏輯非運算符是雙目運算符還是單目運算符?

相關焦點

  • 跟我學java編程—認識java語言的字符類型
    例如:計算數值表達式時,需要存儲運算符,這時需要一種可以存儲單個字符數據的數據類型。Java語言提供了一種char數據類型,可以滿足存儲單個字符的需要。Java語言中,char佔2個字節的存儲空間,即可以存儲英文字符,也可以存儲單個漢字,一個漢字編碼也佔2個字節的存儲空間。
  • 詳解Java表達式與運算符
    根據運算符的不同,可以把表達式分為賦值表達式、算術表達式、關係表達式和邏輯表達式。賦值表達式用於把等號右邊的操作數賦值給等號左邊的變量;算術表達式用於數值運算;關係表達式用於條件判斷;邏輯表達式用於邏輯操作。
  • 跟我學java編程—認識java的整數類型
    示例2:int類型的溢出在D盤Java目錄下,新建「OverFlow.java」文件。用記事本打開「OverFlow.java」文件,輸入以下代碼:編譯「OverFlow.java」文件,在命令行窗口輸入「javac OverFlow.java」並執行命令,編譯器顯示如下信息:編譯器給出過大的整數錯誤信息,num的數值明顯超出的int所能表示的最大值。
  • 跟我學java編程—深入理解for語句的嵌套循環
    示例1:用「*」輸出一個菱形圖案,圖案如下: 在D盤Java目錄下,新建「ForSample1.java」文件。用記事本打開「ForSample1.java」文件,輸入以下代碼:代碼結構分析程序功能主要是演示for嵌套循環的使用方法。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    TIOBE程式語言指數排行榜,Java仍然排名前三位。TIOBE編程排行榜根據全球工程師、課程和搜尋引擎數量為指數得出,在一定程度上反映了程式語言的發展趨勢。其他程式語言與Java相比,Java語法相對簡單,並且是很多計算機語言的基礎。提到C++語言,很多人發現在使用過程中最容易出現的錯誤就是內存管理,而java有自動垃圾回收器,不用擔心內存。
  • java中的字節進位計算和(&)位運算符
    但是在java中我們大部分都是用int、double、float、String等我怎麼知道int a = 1;二進位等於多少?這個時候就要計算啦。1/2 在我們看來等於0.5,然而在計算機的二進位看來就是1/2餘1,那麼為啥會餘1呢?
  • 適合Java新手的開源項目集合——在 GitHub 學編程
    作者:HelloGitHub-老荀當今網際網路份額最大的程式語言是哪一個?是 Java!這兩年一直有聽說 Java 要不行了、在走下坡路了。沒錯,Java 的確在走下坡路,未來的事情的確不好說,但是瘦死的駱駝比馬大,未來的三五年之內,我相信 Java 仍然是行業「一哥」!
  • 一起學JAVA——數組和函數
    之前我們介紹了java的數據類型、變量、流程控制等內容。今天我們高級數據類型——數組以及函數的作用。函數(方法)函數的定義函數就是一段有名字的代碼,可以完成某一特定功能。方法(函數)是java的最小代碼重用單位,方法(函數)是為了重用代碼。方法不能嵌套方法,不能在一個方法內部定義另外一個方法。可以在一個方法內部調用另外一個方法。
  • 「第6節」java中如何顯示當前時間
    大家好,今天我們學習下java編程中如何讓程序顯示當前的時間。請看下面的具體例子,我來逐步分析。totalSeconds%60,用到了求餘的運算符,得到的是當前的秒數,也就是GMT中的第2個冒號(:)後的數值。2、totalMinutes= totalSeconds/60,得到的是總的分鐘數(1分鐘=60秒)。totalMinutes%60,也用到了求餘的運算符,其值是當前的分鐘數,也就是GMT中的第1個冒號(:)後的數值。
  • 世界排行第一的程式語言:java迎來25歲生日
    作為全球排名第一的程式語言,本周末Java將迎來 25 歲生日。Java起源於 1991 年的「 Oak」項目,由James Gosling領導。面向對象的Java以其「一次編寫,隨處運行」的可移植性而聞名,因為Java虛擬機支持多種硬體平臺和作業系統以及Java applet可以從網頁上運行。
  • Java程式設計師必備基礎:Java代碼是怎麼運行的?
    java源文件編譯為class字節碼 類加載器把字節碼加載到虛擬機的方法區。 元數據驗證:對字節碼描述的信息進行語義分析,如:這個類的父類是否繼承了不允許被繼承的類(被final修飾的類); 字節碼驗證:主要目的是通過數據流和控制流分析,確定程序語義是合法的、符合邏輯的。如:保證跳轉指令不會跳轉到方法體以外的字節碼指令上。
  • Java基礎學習:java中的基本數據類型
    +=運算符是java語言規定的,編譯器會對它進行識別處理,因此可以正確編譯。 5、布爾類型 兩個邏輯值:true和false,通常用來表示關係運算的結果。
  • 提升java編程性能優化知識 程式設計師必看這幾點
    對於學習java的學子也是如此,那麼java程式設計師如何提高編程性能呢,有哪些小知識或者技巧呢,怎麼樣才能在編程性能優化方面有所提升呢?  1.儘量在合適的場合使用單例  使用單例可以減輕加載的負擔,縮短加載的時間,提高加載的效率,但並不是所有地方都適用於單例,簡單來說,單例主要適用於以下三個方面:
  • Java編程中基礎反射詳細解析
    類加載器負責加載所有的類,系統為所有加載到內存中的類生成一個java.lang.Class 的實例。被編譯後的Java文件.class也被JVM解析為一個對象,這個對象就是java.lang.Class。這樣當程序在運行時,每個java文件就最終變成了Class類對象的一個實例。我們通過Java的反射機制應用到這個實例,就可以去獲得甚至去添加改變這個類的屬性和動作,使得這個類成為一個動態的類。
  • 跟我學java編程—Java類的類型轉換和動態綁定
    家用電器類提供support()方法,表示家用電器已通電,但通電後,電視、電腦、冰箱有不同的表現形式,可以用重寫父類support()方法的技術來解決這個問題,這就是java 的多態和動態綁定。
  • 重學Java 設計模式:實戰命令模式「模擬高檔餐廳八大菜系,小二點單...
    測試驗證七、總結一、前言持之以恆的重要性初學編程往往都很懵,幾乎在學習的過程中會遇到各種各樣的問題,哪怕別人那運行好好的代碼,但你照著寫完就報錯。但好在你堅持住了,否則你可能看不到這篇文章。時間和成長就是相互關聯著,你在哪條路上堅持走的久,就能看見那條的終點有多美,但如果你浪費了一次又一次努力的機會,那麼你也會同樣錯過很多機遇,因為你的路換了。
  • Java學習必不可少的十大網站
    這是我為學習java的同學們準備的網站集合。這些網站提供新聞,常見問題或訪談問題的答案,精彩的講座等。質量是好的網站的關鍵因素。我認為它們都具有最高的質量。在下文中,我還將分享如何使用這些網站進行學習或娛樂。1.
  • 如何用java判斷一個數是不是質數?
    哈嘍大家好,這是java小白成長記!昨天分享了怎麼判斷一個數是不是迴文數,目的是為了鞏固一下if選擇語句和求餘數運算符,今天分享一下怎麼判斷一個數是不是質數,可以鞏固for循環、if選擇語句、還有沒怎麼使用過的基本數據類型Boolean。
  • 學習java的優勢是什麼?學習難度怎麼樣
    學習java成為了現在比較熱門的話題。Java是一種可以撰寫跨平臺應用軟體的面向對象的程序設計語言。  他容易學而且很好用,如果你學習過C++語言,你會覺得C++和Java很像,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,其實Java和C++是兩種完全不同的語言,Java只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程式。同時截止到2018年8月,java領先其它語言幾乎4.5%。為世界第一程式語言。
  • 相比於Java,python到底有哪些優勢?
    談到編程,首先不可避免的是程式語言。由於在AI的帶動下python更是異軍突起,撼動了許多老大哥的地位。可唯獨java穩如泰山,不可動搖!自然而然的就會出現python與Java的討論聲。本文的目的在於討論python和java相比到底有哪些優勢,至於缺點暫且不提!