java 逻辑运算

Python021

java 逻辑运算,第1张

在java中

|

是位运算符,表示"或"

只能用于二进制位的操作

比如:byte

b

=

10011001

|

00101110

b等于10111111(191)

^也是位运算符,表示"异或",也是用于二进制数的操作,

0^0=0

0^1=1

1^1=0

1^0=1

&也是位算符,表示"与"

所以flag必须是二进制数才能进行运算

&&

表示与

||表示或

都属于逻辑运算符

比如:if(a==b

||

a==c)

表示a==b

或者

a==c

这两个条件只需满足一个

if(a==b

&&

a==c)

表示a==b

并且一定要满足a==c两个条件

(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值,当然也是真。

这是两种语言在数据类型上的差别。

int x = 5, y = 10System.out.println(x<y)System.out.println(x>=y)

x<y结果是true,因为x小于y是真命题,x既不等于y也不大于y,命题为假,返回false。

以下程序段的输出结果是                               。

int x=15,y=54

if(x>y)

System.out.println(x*y)

else

System.out.println(x+y)

21、若x = 15,y = 30,则x <y和x >= y的逻辑值分别为          和         。

22、执行以下几个语句后的输出结果是                              。

String  s = “A” , s1=”B”

int i=11

if (i>10) 

System.out.print(s)

else

System.out.print(s1) 1、求一个三位数的数字之和。

public class number3 {    public static void main(String[] args)

{

int num,i,j,k

num=639

i=num/100

j=(num%100)/10

k=num%10

System.out.println("i+j+k="+(i+j+k))

}

}2、编写小程序,打印九九乘法表。

public class table {

public static void main(String[] args)

{

int i,j

for(i=1i<=9i++)

{

for(j=1j<=ij++)

{

System.out.print(i+"*"+j+"="+(i*j)+"   ")

}

System.out.println()

}

}

}3、编写应用程序求1!+2!+…+20!的和并显示,同时输出1!、2!、3!、…的结果。

public class factorial {    public static void main(String[] args)

{

double i=1,s=0,p=1

for(i=1i<=20i++)

{

p=p*i

System.out.println("p="+p)

s=s+p

}

System.out.println("s="+s)

}

}