一、 程序的结构:
一般来说程序的结构包含有下面三种:
1、顺序结构
2、选择结构
3、循环结构
二、顺序结构
程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾;
三、选择结构
选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构;
3.1 、IF语句–单分支结构
if (判断条件){
语句1 ;
…
语句2 ;
}
示例一、 比较2个整型变量的大小
package pb.test;
public class test4 {
public static void main(String[] args) {
int x = 3;
int y = 10; //定义2个整型变量,x,y
System.out.println("=======开始比较=======");
if(x>y){
System.out.println("x比y大!");
}
if(x<y){
System.out.println("x小于y!");
}
if(x==y){
System.out.println("x等于y!");
}
System.out.println("=======比较完成=======");
}
}
3.2、if…else语句–双分支结构
if (判断条件){
语句主体1 ;
}else{
语句主体2;
}
package pb.test;
public class test5 {
public static void main(String[] args) {
int x=3; //定义大中型变量x
if(x%2==0){ //如果余数为0则是偶数
System.out.println("x是偶数");
}else{ //如果余数不为0则是奇数
System.out.println("x是奇数");
}
}
3.3、三目运算符
使用三目运算符时,操作数有3个,其格式如下:
变量 = 条件判断?表达式1:表达式2
根据条件的成立与否,来决定结果为“:”前或“:”后的表达式,如果条件判断为true,则执行表达式1,为false则执行表达式2;
public static void main(String[] args) {
//定义变量来保存最大值
int max=0;
//定义2个变量
int x=3;
int y=10;
//使用3目运算判断如果x>y则,max=x,否则max=y;
max=x>y?x:y;
System.out.println("max为: "+max);
}
3.4、if…else if…else语句 –多分支结构
如果需要在if..else里判断多个条件时,就需要if..else if … else语句了,其格式如下:
if (条件判断1){
语句主体1 ;
}else if (条件判断2){
语句主体 2 ;
}
… // 多个else if()语句
else{
语句主体3 ;
}
示例四
package pb.test;
public class test6 {
public static void main(String[] args) {
int x=3;
if(x==1){
System.out.println("x的值是1!");
}else if(x==2){
System.out.println("x的值是2!");
}else if(x==3){
System.out.println("x的值是3!");
}else{
System.out.println("x的值不是1,2,3 中的一个!");
}
}
}
四、Switch结构
要在许多的选择条件中找到并执行其中一个符合判断条件的语句时,除了可以使用if..else不断地判断之外,也可以使用另一种更方便的方式即多重选择——switch语句,语法格式:
switch (表达式){
case 选择值1 : 语句主体 1 ; break ;
case 选择值2 : 语句主体 2 ; break ;
…….
case 选择值n : 语句主体 n ; break ;
default: 语句主体 ;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
switch(x)
{
case 1:
case 2:
case3: System.out.println(“haha”);
break;
case4: System.out.println(“hehe”);
}
执行流程
示例五、判断学生成绩,并给于评分,90~100分,A级大于80分,B级,大于70分,输出C级,大于60分,D级,低于60分输出E级;
package pb.test;
public class test7 {
public static void main(String[] args) {
int score = 75; //声明学生分数
switch (score/10){
case 10:
case 9:
System.out.println("A级");
break;
case 8:
System.out.println("B级");
break;
case 7:
System.out.println("C级");
break;
case 6:
System.out.println("D级");
break;
default:
System.out.println("E级");
break;
}
}
}
结果:C级
还是上面的如果不加break;
package pb.test;
public class test7 {
public static void main(String[] args) {
int score = 75; //声明学生分数
switch (score/10){
case 10:
case 9:
System.out.println("A级");
case 8:
System.out.println("B级");
case 7:
System.out.println("C级");
case 6:
System.out.println("D级");
default:
System.out.println("E级");
}
}
}
结果:C级,D级,E级