一、流程控制
1.java程序的执行遵循一定的流程,流程是程序执行的顺序。 流程控制语句是控制程序中各语句执行顺序的语句,是程序中非常关键和基本的部分。流程控制语句可以把单个的语句组合成有意义的、能够完成一定功能的小逻辑块。语句块可以嵌套,嵌套层数无限制 定义类时类体必须采用语句块形式 定义方法时方法体必须采用语句块的形式

2.java语句的分类:

A方法调用语句:如 System.out.println(“Hello”);

B表达式语句:由一个表达式构成一个语句,最典型的是赋值语句。x=23;

C复合语句:可以用{ }把一些语句括起来构成复合语句。{z=23+x;}

D流程控制语句。包括分支语句、循环语句、跳转语句、异常处理语句等。

Epackage语句和import语句。package语句和import语句和类、对象有关。

分支语句:if if-else switch语句;

循环语句:for while do- while语句;

转移语句:continue break return;

Java 流程控件 java中流程控制语句_Java 流程控件


Java 流程控件 java中流程控制语句_System_02


Java 流程控件 java中流程控制语句_System_03


3.结构化程序设计的三种基本流程:

顺序结构、选择结构、循环结构。每种结构都是单入口、单出口;每一部分都会被执行到;没有死循环。

Java 流程控件 java中流程控制语句_循环语句_04


Java 流程控件 java中流程控制语句_循环语句_05

switch语句表达式的返回值类型必须是这几种类型一
int , byte , char , short。
◇ case子句中的值必须是常量,而且所有case子句中的值应是不同的。
◇ default子句是可选的。
◇ break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作这时可以不用break,不写break时执行自该case开始到下一次找到break语句为止)

continue语句用于跳过某个循环语句块的一次执行 continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环。
continue语句用来结束本次循环,跳过循环体中下面尚未执行的语
句,接着进行终止条件的判断,以决定是否继续循环。对于for语
句在进行终止条件的判断前,还要先执行迭代语句。也可以用continue
跳转到括号指明的外层循环中

return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:
return expression;
return;
return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中。

Java 流程控件 java中流程控制语句_System_06


Java 流程控件 java中流程控制语句_Java 流程控件_07


Java 流程控件 java中流程控制语句_switch语句_08


Java 流程控件 java中流程控制语句_switch语句_09


Java 流程控件 java中流程控制语句_Java 流程控件_10


Java 流程控件 java中流程控制语句_System_11


4.表达式是由运算符、操作数和函数等组成的算式。其显著特点是有返回值,即表达式的值。表达式返回值的数据类型取决于表达式的操作数和运算类型。

表达式语句:赋值表达式语句、方法调用语句、对象创建语句、变量声明语句、自增语句。

以输入百分成绩,输出成绩等级,成绩>=90 输出A, 80<=成绩<90输出B, 70<=成绩<80输出C , 成绩<70输出D为例:
A:

import java.util.Scanner; 
 public class PrimeNumber{ 
 public static void main(String[] args){ 
 Scanner scanner=new Scanner(System.in); 
 System.out.println(“请输入成绩:”); 
 for(int i=0;i>=0;i++){ 
 int score=scanner.nextInt(); 
 if(score==-1){ 
 System.out.println(“输入结束”); 
 break; 
 }else if(score<-1 || score>100){ 
 System.out.println(“成绩无效,请重新输入”); 
 }else if(score>=90 && score<=100){ 
 System.out.println(“成绩等级为:”+’A’+”级”); 
 }else if(score>=80 ){ 
 System.out.println(“成绩等级为:”+’B’+”级”); 
 }else if(score>=70){ 
 System.out.println(“成绩等级为:”+’C’+”级”); 
 }else{ 
 System.out.println(“成绩等级为:”+’D’+”级”); 
 } 
 } 
 } 
 } 
 B: 
 import java.util.Scanner; 
 public class PrimeNumber{ 
 public static void main(String[] args){ 
 System.out.println(“请输入成绩:”); 
 Scanner scanner=new Scanner(System.in); 
 int i=0; 
 while(i>=0){ 
 int score = scanner.nextInt(); 
 int num=score/10; 
 char grade=’ ‘; 
 if(score==-1){ 
 System.out.println(“输入结束”); 
 break; 
 } 
 if(score<-1 || score>100){ 
 System.out.println(“请输入有效成绩”); 
 continue; 
 }switch(num){ 
 case 10: 
 case 9: 
 grade=’A’; 
 break; 
 case 8: 
 grade=’B’; 
 break; 
 case 7: 
 grade=’C’; 
 break; 
 default: 
 grade=’D’; 
 } 
 System.out.println(“成绩等级为:”+grade+”级”); 
 } 
 } 
 }