选择结构:
根据已知条件进行逻辑判断,满足条件后执行相应操作。
if选择结构:
只有一个if时:
if(布尔表达式){ //当为真(true)才会执行代码块
//代码块
}
后续代码......
二选一 if else:
if(布尔表达式){
//为真时执行
}else{
//为假时执行
}
后续代码......
多选一: if else if else if else
示例:
import java.util.Scanner;
public class TestIfElse2{
public static void main(String[] args){
//创建Scanner对象
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个分数:");
//接收分数
int fs = sc.nextInt();
//条件判断
if(fs >=90 && fs <=100){
System.out.println("优秀");
}else if(fs >=80){
System.out.println("良好");
}else if(fs >=70){
System.out.println("一般");
}else if(fs >=60){
System.out.println("及格");
}else if(fs < 60){
System.out.println("不及格");
}else{
System.out.println("输入不正确");
}
}
}
/*
注意:
else后不能单独跟 () 必须跟 if 一起存在,if在前
不建议用多个if替换 if else
*/
多分枝结构:
switch(变量|表达式){
case 值1: //逻辑代码1
case 值2: //逻辑代码2
case 值3: //逻辑代码3
......
default: //没有匹配项时
}
if esle if 和switch case 对比:
if slse if 应用于逻辑判断复杂,分支较少的情况
switch case 应用于逻辑简单,分支众多 ,效率高
能用 switch case 的地方都可以用 if else if取代,反之不可以
成员变量和局部变量:java允许局部变量和成员变量重名,局部变量会覆盖成员变量的值
变量:按照位置不同划分
成员变量:
定义在方法的外部
局部变量:
定义在方法内部,形参列表
区别:
局部变量:
作用域从定义行开始到大括号结束。
必须赋初始值,否则编译不通过。
成员变量:
作用域是定义行开始,到整个类结束
有默认初始值
int 默认初始值 0
double 0.0
String null
所以的对象的默认初始值都是null