问题
1.Java中的运算符可以分为那几大类?
1)算术运算符
2)赋值运算符
3)比较运算符(关系运算符)
4)逻辑运算符
5)位运算符
6)三元运算符
2.Java中算数运算符包括哪些?
3.查看一下代码的运行结果
public static void main(String[] args) {
int num1=12;
int num2=5;
double result=num1/num2;
System.out.println(result);
double result2=num1/num2+0.0;
System.out.println(result2);
double result3=num1/(num2+0.0);
System.out.println(result3);
double result4=(double)num1/num2;
System.out.println(result4);
}
运行结果为:
2.0
2.0
2.4
2.4
4.%运算的结果有什么特点?查看如下代码的运行结果
public static void main(String[] args) {
int m1=12;
int n1=5;
System.out.println(m1+"%"+n1+"="+m1%n1);
int m2=-12;
int n2=5;
System.out.println(m2+"%"+n2+"="+m2%n2);
int m3=12;
int n3=-5;
System.out.println(m3+"%"+n3+"="+m3%n3);
int m4=-12;
int n4=-5;
System.out.println(m4+"%"+n4+"="+m4%n4);
}
运行结果:
12%5=2
-12%5=-2
12%-5=2
-12%-5=-2
5.判断如下程序的运行结果是什么?
public static void main(String[] args) {
int a1=10;
int b1=++a1;
System.out.println("a1="+a1+",b1="+b1);
int a2=10;
int b2=a2++;
System.out.println("a2="+a2+",b2="+b2);
}
运行结果:
a1=11,b1=11
a2=11,b2=10
6.判断下列运算是否会出错
short s1=10;
1.s1=s1+1;
2.s1=(short)(s1+1);
3.s1++;
答案:
1.编译失败
2.正确
3.正确
7.判断如下代码的运行结果是什么?
public static void main(String[] args) {
byte bb1=127;
bb1++;
System.out.println("bb1="+bb1);
}
运行结果:
bb1=-128
8.判断如下代码的运行结果是什么?
public static void main(String[] args){
int i1 = 10;
int i2 = 20;
int i = i1++;
System.out.print(“i=”+i);
System.out.println(“i1=”+i1);
i = ++i1;
System.out.print(“i=”+i);
System.out.println(“i1=”+i1);
i = i2--;
System.out.print(“i=”+i);
System.out.println(“i2=”+i2);
i = --i2;
System.out.print(“i=”+i);
System.out.println(“i2=”+i2);
}
输出结果:
i=10 i1=11
i=12 i1=12
i=20 i2=19
i=18 i2=18
9.随意给出一个整数,打印显示它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:
public static void main(String[] args) {
int num=187;
int bai=num/100;
int shi=num%100/10;//int shi=num/10%10;
int ge=num%10;
System.out.println("百位为:"+bai);
System.out.println("十位为:"+shi);
System.out.println("个位为:"+ge);
}
10.赋值运算符包括哪些?
=和扩展赋值运算符: +=, -=, *=, /=, %=
11.判断如下代码编译是否会报错?
short s1=10;
1)s1=s1+2;
2)s1+=2;
结果:
1)编译报错
2)编译成功
12.判断如下代码的运行结果是什么?
int n1=10;
n1+=(n1++)+(++n1);
System.out.println(n1);
运行结果:32
13.回忆有哪些比较运算符?
14.判断如下程序的运行结果是什么?
int i=10;
int j=20;
System.out.println(i==j);
System.out.println(i=j);
boolean b1=false;
System.out.println(b1=true);
运行结果如下:
false
20
true
15.回忆有哪些逻辑运算符?
&—逻辑与
| —逻辑或
!—逻辑非
&& —短路与
|| —短路或
^ —逻辑异或
16.判断如下代码的运算结果
1
.int x = 1;
int y=1;
if(x++==2 & ++y==2){
x =7;
}
System.out.println("x="+x+",y="+y);
2.int x = 1,y = 1;
if(x++==2
&& ++y==2
){
x =7;
}
System.out.println(“x=”+x+",y="+y);
3.int x = 1,y = 1;
if(x++==1
| ++y==1
){
x =7;
}
System.out.println(“x=”+x+",y="+y);
4.int x = 1,y = 1;
if(x++==1
|| ++y==1
){
x =7;
}
System.out.println(“x=”+x+",y="+y);
运行结果如下:
1.2 2
2.2 1
3.7 2
4.7 1
17.查看如下代码的运行结果
public static void main(String[] args) {
boolean x=true;
boolean y=false;
short z=42;
if((z++==42)&&(y=true))z++;
if((x=false) || (++z==45)) z++;
System.out.println("z="+z);
}
运行结果为:
z=46