一、实验预热
1、基本算数运算符和复合赋值运算符都有哪些?
基本算术运算符:+、-、、/、%
复合赋值运算符:+=、-=、=、/=、%=、++、--
2、关系运算符和逻辑运算符都有哪些?
关系运算符:==、!=、>、<、>=、<=
逻辑运算符:&、|、!、^、&&、||
3、算术运算符、关系运算符 、逻辑运算符的优先级是?
算术运算符 > 关系运算符 > 逻辑运算符
二、实验内容
1、去年Apple笔记本所占市场份额是20,今年所占市场份额比去年增长5.8,要求控制台输出今年所占市场份额。(要求市场份额的数据类型为int型)
代码:
package leif.tests;
public class ExperimentalReport {
public static void main(String[] args) {
int i = 20;
double d = 5.8;
System.out.println(i + (int)d);
}
}
结果截图:

image.png
2、请利用变量以及赋值运算符实现两个数据的交换。
代码:
package leif.tests;
public class ExperimentalReport {
public static void main(String[] args) {
int a = 20, b = 40;
System.out.println("交换前:a=" + a + ",b=" + b);
int c = a;
a = b;
b = c;
System.out.println("交换后:a=" + a + ",b=" + b);
}
}
结果截图:

image.png
3、有如下代码,求下列代码的运算结果,并解释输出结果。
int num1 = 5;
int num2 = 2;
int a = num1 % num2;
int b = num1 / num2;
System.out.println(num1 + " % " + num2 + " = " + a);
System.out.println(num1 + " / " + num2 + " = " + b);
num1++;
num2--;
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
结果截图:

image.png
解释结果:
%表示两数相除商取余
/表示两数相除商取整
++表示自增运算
--表示自减运算
4、有如下代码,求下列代码的运算结果,并解释输出结果。
int x = 8;
int y = 9;
System.out.println((++x == y) && (++x != y));
System.out.println(x);
System.out.println((++x != y) && (++x == y));
System.out.println(x);
结果截图:

image.png
解释结果:
System.out.println((++x == y) && (++x != y));表示先判断x自增后是否与y相等(此时x=9),再判断x自增后是否与y不相等(此时x=10),条件均满足,所以输出true。
System.out.println((++x != y) && (++x == y));表示先判断x自增后是否与y不相等(此时x=11),条件满足,再判断x自增后是否与y相等(此时x=12),条件不满足,所以输出false。
5、输入一个四位会员卡号, 根据分解后的数字之和,判断用户是否中奖,如果数字之和大于20,则中奖,要求输出如下图所示。

image.png
代码:
package leif.tests;
import java.util.Scanner;
public class ExperimentalReport {
public static void main(String[] args) {
System.out.println("您的姓名是小明");
System.out.println("请输入4位会员卡号:");
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
System.out.println("会员卡号是:" + i);
int a = i % 10;
int b = i / 10%10;
int c = i / 100%10;
int d = i /1000;
System.out.println("千位数:" + d + ",百位数:" + c + ",十位数:" + b + ",个位数" + a);
int sum = a + b + c + d;
System.out.println("会员卡号" + i + "各位之和:" + sum);
if (sum > 20) {
System.out.println("会员卡号" + i + "的会员,您中奖了!奖品是MP3!");
} else {
System.out.println("再接再厉!");
}
scanner.close();
}
}
结果截图:

image.png