程序逻辑控制
程序的执行一共有三类形式:顺序结构,分支结构,循环结构。
顺序结构指的是所有的代码按照定义的先后执行,就好比之前在主方法中所编写的代码一样,按照定义顺序一行行执行。
分支结构指的是进行逻辑判断,当满足与某些条件的时候才会执行某些语句。而对于分支结构有两类:if分支结构,switch分支结构。
if分支结构的基础语法如下:
if (布尔表达式){
条件满足时的执行代码;
}else if (布尔表达式){
条件满足时执行的代码;
}...[else {
所有条件都不满足时执行的代码;
}]
范例:使用if语句
public class If{
public static void main(String args[]) {
int age = 18;
if(age >= 18) {
System.out.println("姑娘大了,可以嫁人了!");
}
}
}
范例:使用if。。else语句
public class If1{
public static void main(String args[]) {
int age = 16;
if(age >= 18) {
System.out.println("姑娘大了,可以嫁人了!");
}else {
System.out.println("孩子还太小,再等等!");
}
}
}
范例:多条件判断
public class If2{
public static void main(String args[]) {
int age = 16;
if(age <= 18) {
System.out.println("未成年");
}else if(age > 18 && age < 23) {
System.out.println("还在上学!");
}else {
System.out.println("随便折腾吧!!");
}
}
}
使用if...else这样的语法可以实现条件的判断,
但是如果要想进行多数值内容的判断那么就可以使用switch完成,但是需要注意switch随着jdk版本的变化支持的数据类型也在不停的变化
- 最初的数据类型支持:int,char;
- 从jdk1.4开始支持了枚举(enu);
- 从jdk1.7开始支持了String;
switch语法
switch(数字 | 枚举 | 字符 | 字符串){
case 内容1 : {
内容满足时执行的语句;
[break;]
}
case 内容2 : {
内容满足时执行的语句;
[break;]
}...[
default:{
都不满足的时候执行的语句;
[break;]
} ]
}
范例:观察switch语句
public class Switch{
public static void main(String args[]) {
int a = 1;
switch(a) {
default : {
System.out.println("没有条件被满足!");
}
case 1:{
System.out.println("1");
}
case 2:{
System.out.println("2");
}
}
}
}
上面这种情况,1和2都被打印出来了。
switch这种开关语句有一种重要的特点:如果你在编写case的时候没有加上break。则会在满足的case语句之后一直执行,执行到遇到break,或全部结束。
jdk1.7开始支持String;
//jdk1.7开始支持String
public class Switch1{
public static void main(String args[]) {
String a = "hello";
switch(a) {
case "hello":{
System.out.println("1");
break;
}
case "world":{
System.out.println("2");
break;
}
default : {
System.out.println("没有条件被满足!");
}
}
}
}