更新時間:2022-10-25 10:21:03 來源:動力節(jié)點 瀏覽2252次
Java布爾類型是一種定義兩種狀態(tài)的類型:真狀態(tài)和假狀態(tài)。相關(guān)的關(guān)鍵字當(dāng)然是boolean, true(真狀態(tài))和false(假狀態(tài))。
一些編程語言,包括C 語言,沒有定義布爾類型,而是建議使用與錯誤狀態(tài)相關(guān)聯(lián)的類型int,0并且任何其他值都將與真實狀態(tài)相關(guān)聯(lián)。在這些語言中,通常會發(fā)現(xiàn)以下代碼引入的無限循環(huán):while( 1 ) { /* du code */ }. 與1往常一樣,while(while 循環(huán))將永遠(yuǎn)運行。當(dāng)然,Java 不提供這種可能性,要創(chuàng)建無限循環(huán),您必須使用以下代碼。
公共 類演示{
公共 靜態(tài) 無效主要(字符串[]參數(shù)){
while ( true ) {
// 做某事
}
}
}
一定數(shù)量的運算符計算布爾結(jié)果:例如,比較運算符 ( ==, !=, <, <=, ...) 的情況。類似地,一些指令需要布爾表達(dá)式:指令 if使用布爾條件來執(zhí)行或不執(zhí)行進(jìn)程。while只要相關(guān)的布爾條件為真,指令也將執(zhí)行循環(huán)。這是一個小例子:
公共 類演示{
公共 靜態(tài) 無效主要(字符串[]參數(shù)){
布爾調(diào)試=真;
System.out.println( "正常顯示" );
如果(調(diào)試){
System.out.println( "調(diào)試顯示" );
}
整數(shù)i =10;
而(我<0){
System.out.println( "i ==" + i);
一世 - ;
}
}
}
邏輯運算符適用于布爾操作數(shù)。共有三個邏輯運算符。
運算符&&:它可以執(zhí)行邏輯“與”。請注意,如果左側(cè)操作數(shù)的計算結(jié)果為false,則不會計算第二個操作數(shù)(運算符右側(cè))并且運算符將返回false。
運算符||:它可以執(zhí)行邏輯“或”。請注意,如果左側(cè)操作數(shù)的計算結(jié)果為true,則不會計算第二個操作數(shù)(運算符右側(cè))并且運算符將返回true。
運算符!:它允許您執(zhí)行邏輯“NOT”。
公共 類演示{
公共 靜態(tài) 無效主要(字符串[]參數(shù)){
boolean state1 = true ;
System.out.println( "state1 == " + state1);
boolean state2 = false ;
System.out.println( "state2 == " + state2);
// --- 布爾運算符:&& (and) || (金子) ?。ú皇牵? - -
如果(狀態(tài)1 && 狀態(tài)2){
System.out.println( "兩個變量都初始化為真" );
}
如果(狀態(tài)1 || 狀態(tài)2){
System.out.println( "兩個變量之一初始化為真" );
}
if (state1 == false ) { // if (state1 == false) {
System.out.println( "state1 is initialized to false" );
}
if (!state2) { // if (state2 == false) {
System.out.println( "state2 is initialized to false" );
}
}
}
為了測試 a&&或 a的右手操作數(shù)的非求值||,建議你看看這個程序。
公共 類演示{
公共 靜態(tài) 無效主要(字符串[]參數(shù)){
字符串 str = null ;
雙隨機值 = Math.random(); // [0..1[
if (randomValue > 0.33) {
if (randomValue > 0.66) {
str = "三分之一的機會" ;
}其他{
str = "" ;
}
}
boolean leftOperand = str == null ;
boolean rightOperand = str.trim().equals( "" );
if ( 左操作數(shù) || 右操作數(shù) ) {
System.out.println( "str 不能為空" );
}其他{
System.out.println( "OK" );
}
}
}
程序可能會崩潰,因為如果變量str為空,那么它將不包含字符串(實例)對象。結(jié)果,第 16 行將產(chǎn)生如下所示的錯誤,試圖在不存在的對象上調(diào)用方法。
$> java 演示
線程“主”java.lang.NullPointerException 中的異常
在 Demo.main(Demo.java:16)
$>
因此,使此代碼正常工作的解決方案可能是將與變量關(guān)聯(lián)的表達(dá)式代碼 leftOperand直接rightOperand放在運算符級別,||如下例所示。
公共 類演示{
公共 靜態(tài) 無效主要(字符串[]參數(shù)){
字符串 str = null ;
雙隨機值 = Math.random(); // [0..1[
if (randomValue > 0.33) {
if (randomValue > 0.66) {
str = "三分之一的機會" ;
}其他{
str = "" ;
}
}
if ( str == null || str.trim().equals( "" ) ) {
System.out.println( "str 不能為空" );
}其他{
System.out.println( "OK" );
}
}
}
以上就是關(guān)于“Java布爾類型介紹”,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助哦。
相關(guān)閱讀