1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
(1)比较两个数是否相等
import java.util.Scanner;
class Noname1 {
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();
if(x==y?true:false){
System.out.println("两个数相等");
}else{
System.out.println("两个数不相等");
}
}
}
(2)获取两个数中最小值
import java.util.Scanner;
class Noname1 {
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();
if(x>y){
System.out.println("最小值是"+y);
}else{
System.out.println("最小值是"+x);
}
}
}
(3)获取三个数中最小值(考虑能否用一条三元运算符实现)
import java.util.Scanner;
class Noname1 {
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=(x>y)?((y>z)?z:y):((x>z)?z:x);
System.out.println("最小值是:"+ temp);
}
}
三合一:
import java.util.Scanner;
class Noname1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请选择所需功能:\n 1.比较两个数是否相等 \n 2.获取两个数中的最小值 \n 3.获取三个数中的最小值");
int function = sc.nextInt();
switch(function){
case 1:
System.out.println("第一个整数:");
int q = sc.nextInt();
System.out.println("第二个整数:");
int w = sc.nextInt();
if(q==w?true:false){
System.out.println("两个数相等");
}else{
System.out.println("两个数不相等");
}
break;
case 2:
System.out.println("第一个整数:");
int a = sc.nextInt();
System.out.println("第二个整数:");
int b = sc.nextInt();
int min=a;
min=(a>b)?b:a;
System.out.println("最小值是"+min);
break;
case 3:
System.out.println("第一个整数:");
int x = sc.nextInt();
System.out.println("第二个整数:");
int y = sc.nextInt();
System.out.println("第三个整数:");
int z = sc.nextInt();
int temp=(x>y)?((y>z)?z:y):((x>z)?z:x);
System.out.println("最小值是:"+ temp);
break;
default:
System.out.println("无此功能");}
}
}
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;
---------------------------------------------------
第三题
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.分析以下需求,并用代码实现:
(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;
public class helloworld {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("第一个整数:");
int x = sc.nextInt();
int y;
if(x<0){
y=-1;
}else if(x==0){
y=0;
}else{
y=1;
}
System.out.println("x="+x+",y="+y);
}
}
4.分析以下需求,并用代码实现:
(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;
public class helloworld {
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 z=0;
if(y>=0 && y<1){
z=200;
}else if(y>=1 && y<3){
z=500;
}else if(y>=3 && y<5){
z=1000;
}else if(y>=5 && y<10){
z=2500;
}else if(y>=10 && y<15){
z=5000;
}
int temp = x+z;
System.out.println("您目前工作了"+y+"年,基本工资为 "+x+"元, 应涨工资"+z+"元,涨后工资 "+temp+"元");
}
}
5.看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
// y=5;
6.把今天讲过的其他案例再练习一遍
|
|