if结构
1.if分支结构
if ( 条件判断 ) {
语句体
}
/* if 分支结构演示 */
class Demo2 {
public static void main(String[] args) {
// 假设你兜里有10块钱
// int money = 10;
// 假设你兜里有1块钱
int money = 10;
// money > 5 是一个条件判断,结果是一个boolean
if (money >= 5) {
System.out.println("煎饼果子来一套");
money -= 5;
System.out.println("余额 :" + money + "元");
}
System.out.println("if大括号之外的代码~~~~");
}
}
2.if else分支结构
if (/* 条件判断 */) {
// true语句体
} else {
// false语句体
}
演示
是否有女朋友
有 true
没有 false
*/
class Demo7 {
public static void main(String[] args) {
// 是否有女朋友就两种情况,true or false
boolean hasGirlFriend = false;
/*
if () 小括号内需要的数据类型是boolean类型
hasGirlFriend 该变量就是一个boolean类型数据,可以直接用于
if 直接的判断
*/
if (hasGirlFriend) {
System.out.println("奶茶买一送一");
} else {
System.out.println("路见不平一声吼,你还没有女朋友");
}
}
}
3.if else if分支结构
if (/* 条件匹配1 */) {
// 处理方式1
} else if (/* 条件匹配2 */) {
// 处理方式2
} else if (/* 条件匹配3 */) {
// 处理方式3
} else {
// 无匹配项最终处理方式
}
演示
/*
用户购物VIP等级
100 ~ 1000 铜牌会员
1001 ~ 5000 银牌会员
5001 ~ 10000 金牌牌会员
10001 ~ 50000 钻石会员
50001 黑钻会员
*/
class Demo9 {
public static void main(String[] args) {
// 用户的消费数据按照int类型考虑
int money = 50001;
if (money >= 100 && money <= 1000) {
System.out.println("铜牌会员");
} else if (money > 1000 && money <= 5000) {
System.out.println("银牌会员");
} else if (money > 5000 && money <= 10000) {
System.out.println("金牌会员");
} else if (money > 10000 && money <= 50000) {
System.out.println("钻石会员");
} else if (money > 50000) {
System.out.println("黑钻会员");
} else {
System.out.println("非会员...");
}
}
}
4.补充知识点 Scanner
Scanner使用流程
1. 点技能点,Java程序本身是没有直接使用Scanner的能力,这里需要点技能点。
官网操作【导包】
固定格式:
import java.util.Scanner;
放在class代码上一行
2. 需要得到一个Scanner的变量
固定格式:
Scanner sc = new Scanner(System.in);
3. 选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型的变量 = sc.nextInt();
获取float类型
float类型的变量 = sc.nextFloat();
获取double类型
double类型的变量 = sc.nextDouble();
获取char类型
char类型的变量 = sc.nextLine().charAt(0);
演示
/*
学生成绩的等级划分:
90 ~ 100 秀儿
80 ~ 90 良儿
70 ~ 80 中儿
60 ~ 70 格儿
60 以下 让你爹穿着拖鞋来学校一趟
*/
// 导包,让当前Java代码可以使用Scanner
import java.util.Scanner;
class Demo10 {
public static void main(String[] args) {
/*
成绩考虑存在0.5的情况,需要使用浮点类型数据
这里采用float类型,这里赋值一个初值
*/
float score = 0.0F;
// 需要得到一个Scanner的变量
Scanner sc = new Scanner(System.in);
/* 提示用户操作 */
System.out.println("请输入学生的成绩1 ~ 100:");
score = sc.nextFloat();
/*
验证用户输入数据的合法性
如果用户输入的数据不合法,终止程序!!!
不合法: 输入数据 > 100 或者 < 0
*/
if (score > 100 || score < 0) {
System.out.println("输入数据不合法!!!");
// 程序退出
System.exit(0);
}
/* 成绩等级判断 */
if (score >= 90 && score <= 100) {
System.out.println("秀儿");
} else if (score >= 80) {
System.out.println("良儿");
} else if (score >= 70) {
System.out.println("中儿");
} else if (score >= 60) {
System.out.println("格儿");
} else {
System.out.println("让你爹穿着拖鞋来学校一趟");
}
}
}
作业
练习题
a. 用户输入一个【整数】,判断该整数是奇数还是偶数
奇数,打印 这是一个奇数
偶数,打印 这是一个偶数
b. 用户输入一个【浮点类型数据(float类型)】
判断大于99.99F 告知用户,您是VVIP
小于等于99.99F 告知用户 您不是VIP
c. 用户输入一个【整数】,判断当前用户的游戏段位是什么
【考虑用户输入合法性问题】
小于等于1000,青桐
1000 - 1200 白银
1200 - 1400 黄金
1400 - 1600 白金
1600 - 1800 钻石
1800 - 2000 大师
2000以上 王者
import java.util.Scanner;
class demo1{
public static void main(String[] args){
int num = 1800;
Scanner nu = new Scanner(System.in);
System.out.println("请输入您的积分:");
num = nu.nextInt();
if (num <0){
System.out.println("输入数据不合法");
System.exit(0);
}
if (num > 2000){
System.out.println("王者");
}
else if (num > 1800){
System.out.println("大师");
}
else if (num > 1600){
System.out.println("钻石");
}
else if (num > 1400){
System.out.println("白金");
}
else if (num > 1200){
System.out.println("黄金");
}
else if (num > 1000){
System.out.println("白银");
}
else if (num <= 1000){
System.out.println("青铜");
}
}
}