1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
(1)比较两个数是否相等
(2)获取两个数中最小值
(3)获取三个数中最小值(考虑能否用一条三元运算符实现)
(1)import java.util.Scanner; //导包
class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入第一个整数"); //提示语
int x = sc.nextInt(); //把录入的值赋值给x
System.out.println("请输入第二个整数"); //提示语
int y = sc.nextInt(); //把录入的值赋值给y
boolean b = (x == y); //判断
System.out.println(b);
}
}
(2)import java.util.Scanner;
class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
int min = (x < y) ? x : y;
System.out.println(min);
}
}
(3)import java.util.Scanner;
class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
System.out.println("请输入第三个整数");
int z = sc.nextInt();
int temp;
int min = (temp = x < y ? x : y) < z ? temp : z;
System.out.println(min);
}
}
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等。
请根据给定成绩,输出对应的等级。
说明:"["表示包含,")"表示不包含
Scanner sc = new Scanner(System.in);
System.out.println("请输入0-100的成绩");
int x = sc.nextInt();
if (x>=90 && x<=100)
{
System.out.println("A等");
}
else if (x>=80 && x<90)
{
System.out.println("B等");
}
else if (x>=70 && x<80)
{
System.out.println("C等");
}
else if (x>=60 && x<70)
{
System.out.println("D等");
}
else if (x>=0 && x<60)
{
System.out.println("E等");
}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"
import java.util.Scanner;
class Test5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int x = sc.nextInt();
if (x < 0)
{
System.out.println("x="+x+"y=-1");
}else if (x == 0)
{
System.out.println("x="+x+"y=0");
}else if (x > 0)
{
System.out.println("x="+x+"y=1");
}else {
System.out.println("数据输入错误呀");
}
}
}
//5.用switch语句实现题目3的功能。
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元"
import java.util.Scanner;
class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入工龄");
int x = sc.nextInt();
System.out.println("请输入基本工资");
int y = sc.nextInt();
int sum = 0; //定义变量sum
if (x>=10 && x<15)
{
sum =y + 5000;
System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 5000元,涨后工资" +sum+"元");
}else if (x>=5 && x<10)
{
sum =y + 2500;
System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 2500元,涨后工资" +sum+"元");
}else if (x>=3 && x<5)
{
sum =y + 1000;
System.out.println("您目前工作了"+x+"年,"+"基本工资为" +y+"元, 应涨工资 1000元,涨后工资" +sum+"元");
}else if (x>=1 && x<3)
{
sum =y + 500;
System.out.println("您目前工作了"+x+"年,"+"基本工资为 " +y+"元, 应涨工资 500元,涨后工资" +sum+"元");
}else if (x>=0 && x<1)
{
sum =y + 200;
System.out.println("您目前工作了"+x+"年,"+"基本工资为 " +y+"元, 应涨工资 200元,涨后工资" +sum+"元");
}
}
}
7.分析以下需求,并用代码实现:
(1)键盘录入三个整数,按照从小到大的顺序输出
(2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"
import java.util.Scanner;
class Test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
System.out.println("请输入第三个整数");
int z = sc.nextInt();
if (x > y)
{
if (y > z) //if嵌套
{
System.out.println(z +"...."+ y +"...."+ x);
}else {
if (x > z)
{
System.out.println(y +"...."+ z +"...."+ x);
}else {
System.out.println(y +"...."+ x +"...."+ z);
}
}
}else {
if (x > z)
{
System.out.println(z +"...."+ x +"...."+ y);
}else {
if (y > z)
{
System.out.println(x +"...."+ z +"...."+ y);
}else {
System.out.println(x +"...."+ y +"...."+ z);
}
}
}
}
}
8.看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
y = 5
//9.把今天讲过的其他案例再练习一遍 |
|