java基础 08 流程控制Switch选择结构
witch多分支结构:
1. 表达式值必须为有序数值 (整型,字符等) 不能为浮点数。
2. case字句中的值必须是常量,且所以有case字句中的值应该是不同的。
3. default字句是可任选的,当没有匹配的case时,执行default
4. 表达式值与某个case常量匹配时,case子句就成为入口,执行完入口的case子句后,
一直往下执行后面的case子句,这就得用Break语句来跳出当前switch语句。
注意:1. 允许多个不同case标号执行相同一所程序。
例:case 常量 i ;
case 常量 j ;
语句;
2.
格式: switch(表达式)
{
case 判断值 : 语句1;
break;
case 判断值 : 语句2;
break;
..........
default:语句;
}
2.
package src1;
import java.util.Scanner;
import javax.swing.plaf.basic.BasicPasswordFieldUI;
public class Demo15
{
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.println("请输入");
int world=scanner.nextInt();
switch (world)
{
case 1://else if(world==1)
System.out.println("优秀");
break;
case 2:
System.out.println("良好");
case 3:
System.out.println("及格");
case 4:
System.out.println("再接再厉");
default:
System.out.println("未知等级");
}
}
}
字符串的比较
package src1;
public class Demo16
{
public static void main(String[] args)
{
/*
* jdk7的新特性,表达式结果可以是字符串!!!
* 字符的本质是数字
* 反编译 Java---class (字节码文件)---反编译(IDEA)
*/
String name="kuangshen";
switch (name)
{
case "kuang":
System.out.println("kuang");
case "kuangshen":
System.out.println("Hello");
break;
default :
System.out.println("弄啥嘞");
}
}
}
package src1;
import java.awt.desktop.AboutHandler;
import java.time.Year;
import java.util.Scanner;
public class Demo27
{
/*
* 简单的计算器
*/
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数字x");
int x= scanner.nextInt();
System.out.println("请输入数字y");
int y= scanner.nextInt();
System.out.println("请输入数字符号");
String operator=scanner.next();
double jg=f(x, y, operator);
System.out.println(jg);
}
public static int f(int x,int y ,String operator)
{
int sum=0;
switch(operator)
{
case "+":
sum=x+y;
System.out.println(sum);
break;
case "-":
sum =x-y;
System.out.println(sum);
case "*":
sum=x*y;
System.out.println(sum);
break;
case "/":
sum=x/y;