在编写代码时需要判断一段代码是否可行,然后才能去执行,这一过程在程序里面用if语句来表示
public class Mite6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(布尔表达式) {
//如果表达式结果为true就执行
}
}
}
例子:
import java.util.Scanner;
public class mite3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据");
//暂时不需要判断接受是否有字符串接受
String str = scanner.nextLine();//定义一个实例变量来 接收数据
//equals是用来判断字符串是否相等
if (str.equals("Hello.Word")) {
System.out.println(str);//如果布尔表达式为true这行代码就成立,不成立就不执行
}
System.out.println("end");
scanner.close();
}
}
if双选择结构
如果一个选择无法满足就就用双选择结构具有两个判断
if-else结构
if (布尔表达式) {
System.out.println("");
//如果布尔表达式为true,则输入这行
}else{
System.out.println("");//如果布尔表达式为false则输入这行
}
if多选择结构
当然很多情况下if双选择结构无法满足需求就出现了多选择结构就是在if-else中加上else-if
if (布尔表达式1) {
System.out.println("");
//如果布尔表达式为true,则输入这行
}else if(布尔表达式2){
System.out.println("");//如果布尔表达式为true则输入这行
}else if(布尔表达式3){
System.out.println("");//如果布尔表达式为true则输入这行
}else{
System.out.println("")//以上都不是则输入这行
}
注意:
在if的多选择结构下一但其中的else-if检测为true则其他else-if语句就跳过
嵌套的if结构if嵌套是可以在另一个if或else-if使用if或者else-if
if (布尔表达式) {
System.out.println("");
//如果布尔表达式为true,则输入这行
}if{
System.out.println("");//如果布尔表达式为true则输入这行
}
switch多选择结构
switch也是一个多选择结构
switch-case语句判断一个变量与一系列值中的某个值是否相等,每个值则称为一个分支
执行这个case语句会进行先匹配,如果匹配成功就返回当前case的值否则就继续对下面进行匹配,会根据是否有break判断是否输出
switch(expression) {
case 值1:
语句组1
case 值2:
语句组2
case 值3:
语句组3
case 值4:
语句组4
default:
语句组
}
注意
switch语句变量的类型int,byte,short,char和String类型
还有一种枚举类型,不能是long和其他类型
每个case后面只能跟一个int,byte,short,char和String类型
,枚举类型
default可以省略
表达式可以是字符串
例子
执行这个case语句会进行先匹配,如果匹配成功就返回当前case的值否则就继续对下面进行匹配,会根据是否有break判断是否输出
public class Mite7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//case具有穿透性,switch其实就是匹配一个值
char grade = 'C';
switch(grade) {
case 'A':
System.out.println("优秀");
case 'B':
System.out.println("良好");
case 'C':
System.out.println("中等");
case 'D':
System.out.println("及格");
default:
System.out.println("成绩有问题");
}
}
}
输出:
中等
及格
成绩有问题
而加上break
public class Mite7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//case具有穿透性,switch其实就是匹配一个值
char grade = 'C';
switch(grade) {
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("中等");
break;
case 'D':
System.out.println("及格");
break;
default:
System.out.println("成绩有问题");
}
}
}
输出:
中等
if和switch的区别就是if来判断一个区间更方便而switch则是来匹配一个具体的值更方便
public class Mite4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String name = "张三";
switch(name) {
case "张三":
System.out.println("张三");
break;
case "李四":
System.out.println("李四");
break;
case "王二":
System.out.println("王二");
break;
case "麻五":
System.out.println("麻五");
break;
default:
System.out.println("无名");
}
}
}
switch在jdk7后面表达式的结果可以用字符串其实也不难理解因为字符的本质还是数字只不过是用Unicode编码来完成的



