目录
1..if 结构:1条路
if结构:1条路 1)语法 if(boolean 关系逻辑运算符){ 语句块----基于条件执行的语句 } 2)执行过程: 判断boolean的值: 若为true,则执行语句块(整个结束) 若为flase,则到if不走了
//1)偶数的判断:
int num=6;//带数(6,5)
if(num%2==0){
System.out.println(num+"是偶数");
}//{}号中只有一行代码 可以取消{} 但最好不要
System.out.println("继续执行...");
//2.满足500打8折
double price=501;
if (price>=500){ //关系运算符
//price=price*0.8;
price*=0.8;
}
System.out.println("最终结算金额为:"+price);
//3.判断年龄是否在18到50之间(包含),若在范围内输出:满足条件
int age=8;//年龄 带数(38,8,88)
if (age>=18 &&age<=50){//逻辑运算符
System.out.println("满足条件");
}
System.out.println("继续执行...");
2.if…else 结构:2条路
1.语法:
if(boolean结果){
语句块1
}else{
语句块2
}
2.执行过程:
判断boolean的值:
若为true,则执行语句块1(整个结束);
若为false,则执行语句块2(整个结束);
3.说明:
语句块1和语句块2,必走其中之一------适合解决2选一问题
//1)偶数,奇数的判断;
int num =5;//代数(6,5)
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
System.out.println("继续执行...");
//2)满500打八折,不满500打九折;
double price=300;//代数(300,501)
if (price>=500){
price*=0.8;
}else{
price*=0.9;
}
System.out.println("最终的价格是"+price);
//3)判断年龄是否在18到50之间(包含),若在范围内输出:满足条件
int age=100;//代数(38,8,88)
if (age>=18&&age<=50){
System.out.println("满足条件");
}else{
System.out.println("不满足条件");
//判断平年闰年
int year=2007;
if(year%4==0&&year%100!=0||year%400==0){
System.out.println(year+"年是闰年");
}else{
System.out.println(year+"年是平年");
3.if…else if结构:多条路
if...else if结构: 多条路 1)语法: if(boolean-1){ 语句块1 }else if(boolean-2){ 语句块2 }else if(boolean-3){ 语句块3 }else{ 语句块4 } 2)执行过程: 判断boolean-1,若为true则执行语句块1(结束),若为false则 再判断boolean-2,若为true则执行语句块2(结束),若为false则 再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束) 3)说明: 语句块1/2/3/4,必走其中之一-----------多选1java在分支中赋值,必须保证每条路必须有值,解决方案是前面就赋值,后面更改赋值
使用if ..elseif语句将成绩分等级:
package day04;
import java.util.Scanner;
public class ScoreLevel {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);//新建一个名为scan的扫描器
System.out.println("请输入成绩");
double score =scan.nextDouble();//将下一个扫描的double数据赋值给score
System.out.println("成绩为"+score);
//我国的成绩大于0小于100 将成绩分层嵌套在if内
/*
if(score>=0 && score<=100){
if(score>=90){
System.out.println("A-优秀");
}else if(score>=80 ){//不需要写并且小于90
System.out.println("B-良好");
}else if(score>=60 ){
System.out.println("C-中等");
}else {
System.out.println("D-不及格");
}
}else{
System.out.println("成绩不合法");
}
*/
if (score<0 || score >100){
System.out.println("成绩不合法");
}else if(score>=90){//进行到第二步必然合法
System.out.println("A-优秀");
}else if(score>=80 ){//不需要写并且小于90
System.out.println("B-良好");
}else if(score>=60 ){
System.out.println("C-中等");
}else {
System.out.println("D-不及格");
}
}
}
4.switch…case结构:多条路
优点:效率高、结构清晰
缺点:只能对整数判断相等
break:跳出switch
注意:switch能作用在byte、short、char、int、String、枚举
switch(整数){
case 1:
break;
case 2:
break;
default:
...;
}
package day04;
import java.util.Scanner;
public class CommmandBySwitch {
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);
System.out.println("请输入功能1.存款 2.取款 3.查询余额 4.退卡");
int command =scan.nextInt();
//atm机操作
switch (command){
case 1:
System.out.println("");
break;
case 2:
System.out.println("取款操作");
break;
case 3:
System.out.println("查询余额操作");
break;
case 4:
System.out.println("退卡");
break;
default:
System.out.println("操作错误");
}
}
}