当前位置:首页 » 编程语言 » 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-06 17:54:14 浏览:270
js是编译还是逐行 发布:2025-01-06 17:53:37 浏览:530
html5读取本地文件夹 发布:2025-01-06 17:47:54 浏览:633
sqlserver2008实战 发布:2025-01-06 17:47:54 浏览:339
银河辅助脚本 发布:2025-01-06 17:47:11 浏览:716
平板如何在设置中查看帐号密码 发布:2025-01-06 17:42:57 浏览:513
为什么国际体验服服务器爆满了 发布:2025-01-06 17:38:16 浏览:814
如何重置云服务器数据盘 发布:2025-01-06 17:29:32 浏览:602
除草脚本修改 发布:2025-01-06 17:10:25 浏览:883
arm片内存储器 发布:2025-01-06 17:07:37 浏览:351