java基础04—switch选择结构

本文介绍了Eclipse IDE的下载与使用,包括创建项目、设置字体、运行程序等基本操作。同时,详细讲解了Java编程中的流程控制结构,如顺序结构、选择结构(if、switch)及其嵌套应用,并提供了多个实例代码,帮助读者理解和实践。
摘要由CSDN通过智能技术生成

Eclipse

集成开发环境IDE,可以集程序编写、编译、运行于一体,提高开发速度,方便调试。

常用的有:Eclipse(免费)、MyEclipse(收费)、IDEA(收费)

Eclispse的下载

使用Eclispse开发

Eclipse是用项目project来组织代码的,所以开发步骤是:

1)创建新项目

2)创建类,编写源程序

3)自动编译

4)运行

方式一:右键 – ruan as - -java application

方式二:ctrl+F11

Eclispse

1)设置字体大小

Window–>Preference–>General–>Colors and Fonts -->Text Font,修改字体

2)打开Console、Package Explorer窗口

Window–>Show View

3)import项目

4)暂时不用的项目,可以close掉,减少编译,增快速度。

5)delete project

​ 勾选的话,会删除磁盘上的文件;不勾选只会从项目列表中删除。

程序流程结构

顺序结构

选择结构

if选择结构

三目运算符:变量 a=表达式?值1:值2;

public class Test1 {
	public static void main(String[] args) {
		int a = 12;
		int b = 25;
		//int max = a>b?a:b;
		String result =a>b?"a":"b";	
		System.out.println("最大值是"+result);
	}
}

switch选择结构

语法:

switch(表达式){

case 常量1:

​ break;

case 常量2:

​ break;

case 常量3:

​ break;

case 常量4:

​ break;

​ …

default:

​ break;

}

执行流程:先计算表达式的值,再与case后面的常量进行比较,如果相等,则执行冒号后面到break之间的代码。

​ 如果和任何一个case都不匹配,则执行default的代码

使用场景:等值得多分支结构

备注

**1.**表达式结果的类型:byte,short,char,int,String,枚举

**2.**case 常量

​ 常量的数据类型要与表达式的数据类型一致

​ 常量不能重复

​ 常量没有先后顺序

**3.**break 中断指令,跳出switch结构

**4.**default 表达式和所有的case都匹配不上,就执行其后语句,和case语句没有先后顺序。

public class Test2 {
	public static void main(String[] args) {
		int number = 6;
		switch(number) {
		case 1:
			System.out.println("玩偶");
			break;
		case 2:
			System.out.println("枕头");
			break;
		case 3:
			System.out.println("袜子");
			break;
		default:
			System.out.println("大聪明");
			break;		
		}
	}
}

if和switch嵌套

import java.util.Scanner;
public class Test3 {
	public static void main(String[] args) {
		System.out.println("=====欢迎登陆海峰智云学习平台=====");
		System.out.println("1)登录");
		System.out.println("2)注册");
		System.out.println("3)退出");
		System.out.print("请输入数字:");
		Scanner sc = new Scanner(System.in);
		if (sc.hasNextInt()) {
			int number = sc.nextInt();
			switch (number) {
			case 1:
				System.out.println("登录");
				break;
			case 2:
				System.out.println("注册");
				break;
			case 3:
				System.out.println("退出");
				break;
			default:
				System.out.println("错误");
				break;
			}
		} else {
			System.out.println("错了,请重新输入");
		}
	}
}

作业

1、

/*
 * 1、判断一个字符是小写字母?
 */
import java.util.Scanner;
public class GoHome {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("输入一个字符:");
		char a = sc.next().charAt(0);
//		if(a>=97&&a<=122) {
//			System.out.println("此数为小写字母");
//		}else {
//			System.out.println("此数为大写字母");
		if(a>='a'&&a<='z') {
			System.out.println("此数为小写字母");
		}else {
			System.out.println("此数为大写字母");
		}
	}
}

在这里插入图片描述

2、


/*
 * 2、从键盘上输入一位整数,当输入1-7时,显示下面对应的英文星期名称的缩写。
	1:MON  2:TUE  3:WED  4:THU  5:FRI  6:SAT  7:SUN
 */
import java.util.Scanner;

public class GoHome1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入一个整数:");
		if (sc.hasNextInt()) {
			int num = sc.nextInt();
			switch (num) {
			case 1:
				System.out.println("英文星期一名称为MON");
				break;
			case 2:
				System.out.println("英文星期二名称为THE");
				break;
			case 3:
				System.out.println("英文星期三名称为WEN");
				break;
			case 4:
				System.out.println("英文星期四名称为THU");
				break;
			case 5:
				System.out.println("英文星期五名称为FRI");
				break;
			case 6:
				System.out.println("英文星期六名称为SAT");
				break;
			case 7:
				System.out.println("英文星期天名称为SUN");
				break;
			default:
				System.out.println("错误");
				break;
			}
		} else {
			System.out.println("输入有误,请重新输入");
		}
	}

}

在这里插入图片描述

3、

///*
// * 3、编程实现迷你计算器功能,支持+-*/,从控制台输入两个操作数,输出计算结果(运算符可以在程序中指定,用switch实现)
// 		请输入第一个操作数
// 		5
// 		请输入第二个操作数
// 		6
// 		计算结果是:30
// */

import java.util.Scanner;

public class GoHome2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入第一个数:");
		int b = sc.nextInt();
		System.out.print("请输入第二个数:");
		int c = sc.nextInt();
		System.out.print("请输入+-*/:");
		char a = sc.next().charAt(0);
		switch (a) {
		case '+':
			int e = c + b;
			System.out.println("计算结果是:" + e);
			break;
		case '-':
			int f = c - b;
			System.out.println("计算结果是:" + f);
			break;
		case '*':
			int g = c * b;
			System.out.println("计算结果是:" + g);
			break;
		case '/':
			int h = c / b;
			System.out.println("计算结果是:" + h);
			break;
		default:
			System.out.println("输入错误");
			break;
		}
	}
}

在这里插入图片描述

4、

/*
 * 根据月份输出该月的天数。
 */
import java.util.Scanner;

public class GoHome3 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入月份:");
		String month = sc.next();
		switch (month) {
		case "一月":
		case "三月":
		case "五月":
		case "七月":
		case "八月":
		case "十月":
		case "十二月":
			System.out.println("该月有三十一天");
			break;
		case "二月":
			System.out.println("该月有二十八天");
			break;
		case "四月":
		case "六月":
		case "九月":
		case "十一月":
			System.out.println("该月有三十天");
			break;
		default:
			System.out.println("输入错误,请重新输入:");
			break;
		}
	}
}

在这里插入图片描述

5、

/*
 * 5、玩游戏并支付游戏币(假设:1元购买1个游戏币)
	(1)游戏类型分为两大类
	①牌类和休闲竞技类
	(2)游戏的收费标准
	①牌类:10元/小时
	②休闲竞技类:20元/小时
	(3)游戏的收费规则
	①游戏时间超过10小时,可以打5折
	②10小时及以下,打8折
	效果图如下:
 */
import java.util.Scanner;

public class GoHome4 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请选择您玩的游戏类型(1.牌类;2.休闲竞技):");
		int num1 = sc.nextInt();
		System.out.print("请您输入游戏时长:");
		int num2 = sc.nextInt();
		double money1 = num2 * 10;// 纸牌 10元/小时
		double money2 = num2 * 20;// 休闲竞技 20/小时
		double money3 = money1 * 0.5;// 纸牌超过10小时
		double money4 = money1 * 0.8;// 纸牌10小时以下
		double money5 = money2 * 0.5;// 休闲竞技 超过10小时
		double money6 = money2 * 0.8;// 休闲竞技 10小时以下
		if (num1 == 1) {
			if (num2 >= 10) {
				System.out.println("您玩的是牌类游戏,时长:" + num2 + "小时,可享受5折优惠");
				System.out.println("您需要支付:" + money3);
			} else {
				System.out.println("您玩的是牌类游戏,时长:" + num2 + "小时,可享受8折优惠");
				System.out.println("您需要支付:" + money4);
			}
		} else if (num1 == 2) {
			if (num2 >= 10) {
				System.out.println("您玩的是休闲类游戏,时长:" + num2 + "小时,可享受5折优惠");
				System.out.println("您需要支付:" + money5);
			} else {
				System.out.println("您玩的是休闲类游戏,时长:" + num2 + "小时,可享受8折优惠");
				System.out.println("您需要支付:" + money6);
			}
		}
	}
}
import java.util.Scanner;
public class GoHome {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入您玩的游戏(1.牌类游戏;2.休闲竞技类):");
        int num = sc.nextInt();
        System.out.print("请输入您玩游戏的时长:");
        int hour = sc.nextInt();
        switch (num) {
            case 1:
                if (hour < 10) {//游戏时长小于10小时
                    int money = (int)(hour * 10* 0.8);//游戏是长的价钱乘以折扣
                    System.out.println("您的玩的是牌类游戏时间为:" + hour + "小时,可享受8折优惠");
                    System.out.println("您需要支付:" + money+"元");
                } else if (hour >= 10) {//游戏时长大于等于10小时
                    int money = (int)(hour * 10* 0.5);
                    System.out.println("您的玩的是牌类游戏时间为:" + hour + "小时,可享受5折优惠");
                    System.out.println("您需要支付:" + money+"元");
                }
                break;
            case 2:
                if (hour < 10) {
                    int money = (int)(hour * 20* 0.8);
                    System.out.println("您的玩的是休闲竞技类游戏时间为:" + hour + "小时,可享受8折优惠");
                    System.out.println("您需要支付:" + money+"元");
                } else if (hour >= 10) {
                    int money = (int)(hour * 20* 0.5);
                    System.out.println("您的玩的是休闲竞技类游戏时间为:" + hour + "小时,可享受5折优惠");
                    System.out.println("您需要支付:" + money+"元");
                }
                break;
            default:
                System.out.println("对不起,输入有误,请重新输入");
                break;
        }
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值