作业,答案都在里面。- 1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
- (1)比较两个数是否相等
- int x = 5, y = 8;
- System.out.println(x+" 和 "+y+" "+(x>y? "相等":"不相等"));
- (2)获取两个数中最小值
- int x = 5, y = 8;
- System.out.println(x+" 和 "+y+" 相比:"+(x<y? x:y)+" 小");
-
- (3)获取三个数中最小值(考虑能否用一条三元运算符实现)
- int x = 55, y = 38, z = 86;
- System.out.println(x+" , "+y+" , "+z+" 中 "+((x<y? x:y)<z? (x<y? x:y):z)+" 最小");
- 2.看程序写结果:请自己独立分析,先不要编译运行。
- 第一题
- int x = 1,y = 1;
- if(x++==2 & ++y==2)
- {
- x =7;
- }
- System.out.println("x="+x+",y="+y);
-
- 结果:x = 2, y = 2;
- ---------------------------------------------------
- 第二题
- int x = 1,y = 1;
- if(x++==2 && ++y==2)
- {
- x =7;
- }
- System.out.println("x="+x+",y="+y);
- 结果:x = 2, y = 1;
- ---------------------------------------------------
- 第三题
- int x = 1,y = 1;
- if(x++==1 | ++y==1)
- {
- x =7;
- }
- System.out.println("x="+x+",y="+y);
- 结果:x = 7, y = 2;
- ---------------------------------------------------
- 第四题
- int x = 1,y = 1;
- if(x++==1 || ++y==1)
- {
- x =7;
- }
- System.out.println("x="+x+",y="+y);
- 结果:x = 7, y = 1;
- ---------------------------------------------------
- 第五题
- boolean b = true;
- if(b==false)
- System.out.println("a");
- else if(b)
- System.out.println("b");
- else if(!b)
- System.out.println("c");
- else
- System.out.println("d");
- 结果:打印输出 b
- ---------------------------------------------------
- 3.编写代码实现如下内容:if语句实现考试成绩分等级(写出不同的if-else格式)。
- [90-100] A等。
- [80-90) B等。
- [70-80) C等。
- [60-70) D等。
- [0-60) E等。
- 请根据给定成绩,输出对应的等级。
- 说明:"["表示包含,")"表示不包含
- if (x >= 90 && x <= 100) {
- System.out.println("【优】");
- } else if (x >= 80 && x <= 89) {
- System.out.println("【良】");
- } else if (x >= 70 && x <= 79) {
- System.out.println("【中】");
- } else if (x >= 60 && x <= 69) {
- System.out.println("【及】");
- } else if (x >= 0 && x <= 59) {
- System.out.println("【差】");
- } else {
- System.out.println("您输入的成绩不合法!");
- }
- 4.分析以下需求,并用代码实现:
- (1)键盘录入一个整数给变量x,输出对应的变量y的值
- (2)x值和y值的对应关系如下:
- x<0 y=-1
- x=0 y=0
- x>0 y=1
- (3)如果用户输入的x的值为2,程序运行后打印格式"x=2,y=1"
- class Test {
- public static void main (String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输一个整数:");
- int x = sc.nextInt(),y = 0;
-
- if (x < 0) {
- y = -1;
- } else if (x == 0) {
- y = 0;
- } else {
- y = 1;
- }
- System.out.println("x="+x+",y="+y);
- }
- }
- 5.用switch语句实现题目3的功能。
- class Test {
- public static void main (String[] args) {
- dengJi ();
- }
- static void dengJi () {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输学生成绩:");
- int x = sc.nextInt();
- if (x < 0 || x > 100) {
- System.out.println("输入的成绩不正确!");
- }else {
- int temp = 0;
- switch (x / 10) {
- case 10:
- case 9:
- System.out.println("该学生的成绩等级为:A等");
- break;
- case 6:
- System.out.println("该学生的成绩等级为:D等");
- break;
- case 7:
- System.out.println("该学生的成绩等级为:C等");
- break;
- case 8:
- System.out.println("该学生的成绩等级为:B等");
- break;
- default:
- System.out.println("该学生的成绩等级为:E等");
- }
- }
- dengJi ();
- }
- }
- 6.分析以下需求,并用代码实现:
- (1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
- (2)涨工资的条件如下:
- [10-15) +5000
- [5-10) +2500
- [3~5) +1000
- [1~3) +500
- [0~1) +200
- (3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
- class Test {
- public static void main (String[] args) {
- run();
- }
-
- static void run() {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输员工的基本工资:");
- int x = sc.nextInt();
- if (x < 0) {
- System.out.println("员工的工资不能为负数!");
- } else {
- System.out.println("请输员工的工龄:");
- int y = sc.nextInt();
- if (y < 0 || y > 14) {
- System.out.println("不合法的工龄!");
- } else {
- int a;
- if (y == 0) {
- a = 200;
- } else if (y < 3) {
- a = 500;
- } else if (y < 5) {
- a = 1000;
- } else if (y < 10) {
- a = 2500;
- } else {
- a = 5000;
- }
- System.out.println("您目前工作了 "+y+"年,基本工资为 "+x+"元, 应涨工资 "+a+"元,涨后工资 "+(x+a)+"元");
- }
- }
- run();
- }
- }
- 7.分析以下需求,并用代码实现:
- (1)键盘录入三个整数,按照从小到大的顺序输出
- (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"
- class Test {
- public static void main (String[] args) {
- run();
- }
-
- static void run() {
- Scanner sc = new Scanner(System.in);
- System.out.println("请分别输入三个整数:");
- int x = sc.nextInt(), y = sc.nextInt(), z = sc.nextInt();
- if (x > y) {
- x = x ^ y;
- y = x ^ y;
- x = x ^ y;
- }
- if (y > z) {
- y = y ^ z;
- z = y ^ z;
- y = y ^ z;
- }
- if (x > y) {
- x = x ^ y;
- y = x ^ y;
- x = x ^ y;
- }
- System.out.println("按照从小到大排序后的顺序为:"+x+" "+y+" "+z);
- run();
- }
- }
- 8.看程序,分析下面程序的结果:
- int x = 2,y=3;
- switch(x)
- {
- default:
- y++;
- case 3:
- y++;
- break;
- case 4:
- y++;
- }
- System.out.println("y="+y);
- 结果:y=5;
复制代码
|
|