|
是位运算符,表示"或"
只能用于二进制位的操作
比如: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)
}
}