java基础:流程控制

来源:互联网 发布:scam city知乎 编辑:程序博客网 时间:2024/04/29 11:10

一、流程控制
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;
这里写图片描述
这里写图片描述
这里写图片描述
3.结构化程序设计的三种基本流程:
顺序结构、选择结构、循环结构。每种结构都是单入口、单出口;每一部分都会被执行到;没有死循环。这里写图片描述
这里写图片描述

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语句中。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
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+”级”);
}
}
}

0 0