一,switch case
package day03; //1.声明包day03;
import java.util.Scanner; //2.CommandBySwitch类继承系统类Scanner
public class CommandBySwitch{ //3.声明类CommandBySwitch
public static void main(String[] args){
Scanner scan = new Scanner(System.in); //4.new一个系统类Scanner对象scan
System.out.println("请选择功能1.查询套餐,2.查询余额,3查询消费记录,0.退出");
int command =scan.nextInt(); //5.调用对象scan中的方法nextlnt(),将接收的数字存放在变量command中
switch(command){
case 1: //6.判断条件,当command满足条件则执行其后的语句
System.out.println("您的套餐明细如下...");
break; //7.跳出当前语句,不再执行判断
case 2: //8.当不满足第一个case时执行剩下的case判断
System.out.println("您的余额还剩余...");
break;
case 3:
System.out.println("您的消费记录已发送至您的手机,请注意查收...");
break;
case 0:
System.out.println("谢谢您的来电,欢迎下次来电...");
break;
default: //9.当不满足所有条件时执行
System.out.println("输入错误,请返回上一级...");
}
}
}
执行结果如下
二,if else
package day03; //1.声明包day03;
import java.util.Scanner; //2.CommandByIfelse类继承系统类Scanner
public class CommandByIfelse{ //3.声明类CommandByIfelse
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //4.new一个系统类Scanner对象scan
System.out.println("请输入单价(¥):");
double unitPrice = scan.nextInt(); //5.调用对象scan中的方法nextlnt(),将接收的数字存放在变量unitPrice中
System.out.println("请输入数量:");
double quantity = scan.nextInt(); //6.调用对象scan中的方法nextlnt(),将接收的数字存放在变量quantity中
System.out.println("请输入金额(¥):");
double money = scan.nextInt(); //7.调用对象scan中的方法nextlnt(),将接收的数字存放在变量money中
double money1 = unitPrice*quantity; //8.将unitPrice和quantity的乘积放在money1
if(money1>=500){ //9.执行判断条件
money1 *= 0.8; //当商品的总金额大于500打8折
}else if(money1<500&&money1>400){ //10.当if else if不满足第一个判断条件执行第二个,如此类推
money1*=0.9;
}else if(money1<400&&money1>300){
money1*=0.95;
}
if(money>=money1){ //11.if else 当if条件不满足时执行else
double change = money-money1; //将money-money1存放在change
System.out.println("应收金额为:¥" + money1+ ",找零为:¥" + change);
}else{
System.out.println("ERROR!您给的钱不够还差:"+(money1-money));
}
}
}
执行结果如下
注意事项:
&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。