當前位置:首頁 » 編程語言 » java邏輯

java邏輯

發布時間: 2022-02-10 15:09:54

java 邏輯運算

在Java中,邏輯運算有And、Or、Not三種,其中And、Or又分為普通邏輯運算和短路邏輯運算兩種。其中普通邏輯運算And用「&」表示,「|」表示或者關系。短路邏輯運算的時候,「&&」表示短路與,「||」表示短路或。

1、一般邏輯運算需要在邏輯運算符兩側的邏輯表達式,都參與邏輯運算,其表達式的值進行比較,依次計算出最後的值。

2、短路邏輯運算符需要首先計算最左邊的表達式,如果最左邊的表達式成立,則不再進行整個表達式的判斷,直接取最左邊的表達式為整個表達式的值。

下面的例子雖然輸出的值一樣,但是運算的方式不一樣:

private void testAnd(boolean on ,boolean
tw){

System.out.println("true&&false = "+
(true&&false));

System.out.println("false&&false = "+
(false&&false));

System.out.println("false&&true = "+
(false&&true));

System.out.println("true&&true = "+
(true&&true));

System.out.println(" ");

System.out.println("true&false = "+ (true&false));

System.out.println("false&false = "+
(false&false));

System.out.println("false&true = "+ (false&true));

System.out.println("true&true = "+ (true&true));

System.out.println(" ");

System.out.println("true||false = "+ (true||false));

System.out.println("false||false = "+
(false||false));

System.out.println("false||true = "+ (false||true));

System.out.println("true||true = "+
(true||true));

System.out.println(" ");

System.out.println("true|false = "+ (true|false));

System.out.println("false|false = "+
(false|false));

System.out.println("false|true = "+ (false|true));

System.out.println("true|true = "+
(true|true));

}

輸出結果為:

短路或「&&」只有在左邊的表達式值為true時,才會考慮右邊表達式的值,否則直接取左邊的值為整個表達式的值;
true&&false = false
false&&false = false
false&&true = false
true&&true =
true

//全部計算表達式兩面的值,然後取值運算;
true&false = false
false&false = false
false&true = false
true&true =
true

短路或「||」只有在左邊的表達式值為false時,才會考慮右邊表達式的值,否則直接取左邊的值為整個表達式的值;
true||false =
true
false||false = false
false||true = true
true||true = true

普通或"|"全部計算表達式兩面的值,然後得出結果
true|false = true
false|false = false
false|true = true
true|true = true

適用短路運算的條件
1)、表達式前後的邏輯條件有明顯的順序關聯關系,順序條件早的在表達式的左邊;
2)、邏輯運算符比較少,不會有嵌套或者短路與非短路邏輯混合的情況;
3)、使用短路運算,必須清楚的明白所要判斷的邏輯值的具體細節;
4)、如果"&&"和"||"混用,則不考慮使用短路運算;

Ⅱ JAVA中的邏輯關系

(sum%4==0&&sum%100!=0||sum%400==0)
這個表達式一般是用來判斷是不是閏年的,sum%4==0&&sum%100!=0這一段是說sum能被整除但卻不能被100整除,||sum%400==0是說能被400整除,這兩種情況剛好就是判斷是不是閏年的標准。

在java中,判斷一個數能不能被另一個整數整除一般是用取模(余)運算符 % 並看結果為不為0來判別的。比如,當2002除以4取余,結果是2,那麼我們就得到2002不能被4整除,而2008除以4取余,結果是0,就是說2008能被4整除。

能被4整除不能寫成sum==1,因為在java中這個表達式是判斷sum的值等不等於1的,它返回的是邏輯值(boolean類型,只有true和false兩種值) ,在java中由於有邏輯值這個類型,所以0和1隻是數字類型或字元串類型,不能代表真和假。

在C語言中,沒有邏輯值這種類型,所以0代表假(false),而非0代表真(true),1是非0值,當然也是真。

這是兩種語言在數據類型上的差別。

Ⅲ java 邏輯符

(boolean
a)&&(boolean
b)
,只有當a為true時才會執行
b,也就是說當a為false時,是不會去執行b和判斷b的值的
(boolean
a)&(boolean
b)不管a為什麼值,都會去執行b
&還是位運算符

Ⅳ JAVA中的邏輯運算符!

結果為true,統一級別優先順序,從左到右依此進行:
false
&&
true
為false,短路運算符,不判斷true
false
||
true
為true
&&短路運算符:
條件1
&&
條件2
當條件1為false,將不再判定條件2,結果直接為false,對應非短路運算符&,條件1和條件2均需判斷。
||短路運算符:
條件1
||
條件2
當條件1為true,將不再判定條件2
,結果直接為true,對應非短路運算符|,條件1和條件2均需判斷。
更多情況是在條件1/2為布爾表達式時較多:
++x
==1
&&
++y
==1
當++x等於1時,++y將不會執行,所以y的值不會發生改變。

Ⅳ java關於邏輯運算

int i;
( i >0&& i<10) 表示 i 是一個大於0並且 小於 10的數字,即 在1~9之間的整數
(i>10 || i< -10) 表示 i 是一個大於10 或者 小於 -10的整數
(i !=10) 表示 i 是一個不等於10 的整數

Ⅵ java邏輯題

我讀不怎麼懂你的要求 不好意思啊
國慶手生了 熱熱手幫你寫了一個
不知道是一個意思不? 不非就是 用系統時間來算年齡是吧?

package com;

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

class Jiang {
public static void main(String args[]){
Scanner in=new Scanner(System.in);

Calendar cc=Calendar.getInstance();

int a=cc.get(Calendar.YEAR);
int b=cc.get(Calendar.MONTH)+1;
int c=cc.get(Calendar.DATE);
System.out.print("當前系統時間"+a);
System.out.print(" "+b);
System.out.println(" "+c);
for(;;){
System.out.println("輸入生日:例如1987/10/27則輸入 1987/10/27");
String birthday=in.next();
String bir[]=birthday.split("/");

int d[]=new int[bir.length];
int i=0;
for(String str:bir){
d[i]=Integer.parseInt(str);
i++;
}

//下面計算生日
if(d[0]>a||d[1]>12||d[2]>31)System.out.println("不合法輸入");
else{
if(a==d[0]){
if(b==d[1]){
if(c==d[2]){
System.out.println("剛出生");
}else{
if(c>d[2])System.out.println("出生"+(c-d[2])+"天");
else System.out.println("生日不合法1");
}
}else {
if(b>d[1])System.out.println("1歲");
else System.out.println("生日不合法2");
}
}
else {
if(a>d[0]){
if(b>d[1])System.out.println(a-d[0]+1+"歲");
else {
if(b==d[1]){
if(d[2]<c)System.out.println(a-d[0]+1+"歲");
else System.out.println(a-d[0]+"歲");
}
else System.out.println(a-d[0]+"歲");
}
}else System.out.println("生日不合法3");

}
}
System.out.println("是否繼續? y/n?");
String flag=in.next();
if(flag.equals("n")||flag.equals("N"))System.exit(0);

}

}

}

Ⅶ JAVA怎麼進行邏輯運算

1+1換成java代碼就是邏輯運算,邏輯運算就是1+1=2的過程

Ⅷ 什麼是JAVA邏輯實現

你這個問題怎麼回答都可以,1樓從語法角度解析了JAVA的邏輯實現。我理解的邏輯實現就是指代碼的流程邏輯。即實現一個功能要怎麼做的流程,即第一步應該怎麼做,第二步應該怎麼做,舉個例子向資料庫插入一條數據,應該有什麼邏輯:
1、載入資料庫驅動,獲取資料庫連接
2、書寫SQL,使用JDBC執行SQL
3、關閉資料庫連接。

這是業務流程角度的JAVA邏輯實現。

Ⅸ java語言中的邏輯真和假可以用0和1表示。

在Java中這是不可以的,java規定表示真假只能是boolean類型的值,而布爾類型只有true和false兩個值,和C/C++等其他語言「非0即真」的規則不一樣。
如果真想用0/1來表示真假的話,也可以轉換實現
以下代碼僅供參考,班門弄斧了哈

Scanner input = new Scanner(System.in);
System.out.println("請輸入數字num的值:");
int num = input.nextInt();
num = (num + 1) % 2;
System.out.println("num = "+num);
boolean flag = num == 0 ? false : true;
System.out.println("flag = "+flag);
int flag1 = num == 0 ? 0 : 1;
System.out.println(flag1);
//---------------------------------
請輸入數字num的值:
2
num = 1
flag = true
1

熱點內容
王者周年福利密碼是什麼 發布:2025-01-04 16:30:37 瀏覽:34
聯通北方伺服器上不去怎麼回事 發布:2025-01-04 16:28:42 瀏覽:976
開源伺服器雲存儲多少錢 發布:2025-01-04 16:10:45 瀏覽:664
我的世界泥土商店伺服器8月 發布:2025-01-04 15:58:40 瀏覽:822
怎麼在電腦上重啟機房伺服器 發布:2025-01-04 15:40:02 瀏覽:869
攝影後期電腦配置i5怎麼樣 發布:2025-01-04 15:39:19 瀏覽:403
linux橋接設置 發布:2025-01-04 15:39:07 瀏覽:59
安卓屏幕怎麼設置成老人用的 發布:2025-01-04 15:33:53 瀏覽:316
學電腦編程要多久 發布:2025-01-04 15:20:15 瀏覽:333
華為手機存儲卡插哪 發布:2025-01-04 15:01:02 瀏覽:39