1.什么是if选择结构?
可以处理单一或组合条件的情况(if选择结构是根据条件判断之后再做处理)
基本的if选择结构
if ( 条件 ) {
//代码块
}
条件必须是boolean值
举例
import java.util.Scanner;
public class GetPrize {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个成绩: "); //提示输入Java成绩
int score = input.nextInt(); //从控制台获取张浩的Java成绩
if ( score > 90 ) { //判断是否大于90分
System.out.println("老师说:不错,奖励一个MP4!");
}
}
}
2.使用复杂条件下的if选择结构?
&& 条件1 && 条件2 仅仅两个条件同时为真,结果为真
|| 条件1 || 条件2 只要两个条件有一个为真,结果为真
! ! 条件 条件为真时,结果为假 条件为假时,结果为真
举例
import java.util.Scanner;
public class Case11 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入java成绩:");
int java=input.nextInt();
System.out.println("请输入音乐成绩:");
int yinyue=input.nextInt();
if(( java>98 && yinyue>80 )||( java==100 && yinyue>70 )){
System.out.println("奖励");
}
}
}
心得:多个条件下使用逻辑运算符,连接起来
3.随机数字的使用?
1.产生double型 它的范围在 [0,1)
public class Case12 {
public static void main(String[] args) {
//随机数字
double a=Math.random();
System.out.println(a);
}
}
2.产生int型
public class Case12 {
public static void main(String[] args) {
//随机数字
double a=Math.random();
int b=(int)(a*10);
System.out.println(b);
}
}
4.使用if-else选择结构?
可以处理简单的条件分支情况(if-else选择结构实现对第一个的否定)
举例1:实现幸运抽奖
import java.util.Scanner;
public class Case13 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入您的4位会员号:");
int id=input.nextInt();
int bai=id%1000/100;
int random=(int)(Math.random()*10);
if(bai==random){
System.out.println("中奖");
}
else{
System.out.println("继续");
}
}
}
心得:1.输入会员号2.随机数3.比较
举例2:会员信息录入
import java.util.Scanner;
public class Case14 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("我行我素购物系统>>客户信息管理>>添加客户信息 :");
System.out.println("请输入会员卡号:");
int id=input.nextInt();
if(id>9999||id<1000){
System.out.println("请输入4位ID");
return;
}
System.out.println("请输入会员生日:");
String birthday=input.next();
System.out.println("请输入积分:");
int points=input.nextInt();
}
}
心得:return 停止程序
5.多重if选择结构?
可以处理分段的条件分支情况(多个条件:几个连续区间判断)
举例1:实现学员的结业考试成绩
import java.util.Scanner;
public class Case15 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入您的成绩");
double mark=input.nextDouble();
if(mark>=80){
System.out.println("良好");
}
else if(mark>=60){
System.out.println("及格");
}
else{
System.out.println("不及格");
}
}
}
心得:else不必写为“mark>=60 && mark<80”,条件2就是对上面的条件的否定。
6.嵌套if选择结构?
作用:可以处理复杂的条件分支情况
举例:百米赛跑
import java.util.Scanner;
public class Case16 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入运动员成绩:");
int score=input.nextInt();
if(score<10){
System.out.println("请输入运动员性别:");
String gender=input.next();
if(gender.equals("人")){
System.o ut.println("男子组");
}
else if(gender.equals("女")){
System.out.println("女子组");
}
}else{
System.out.println("没有跑入");
}
}
}
举例:实际业务购物结算
import java.util.Scanner;
public class Case17 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
double cost=0; //消费金额
boolean isVIP=false; //是否会员
double discount=0; //折扣
double pay=0; //支付金额
System.out.println("请输入您的消费金额:");
cost=input.nextDouble();
System.out.println("请输入您的是否为会员:true-是/false-不是");
isVIP=input.nextBoolean();
if(isVIP==true){
if(cost>200){
discount=0.75;
}else{
discount=0.8;
}
}
else{
if(cost>100){
discount=0.9;
}
else{
discount=1;
}
}
pay=cost*discount;
System.out.println("您最终支付的金额为"+pay);
}
}
心得:多分支,外层判断是否会员,内层判断达到折扣