流程控制
(一) 分支控制
分支控制主要包括两种语句if和switch语句。if有三种形式,一种是if,if else 和嵌套的if语句。在这里先看一下if 的第一个形式。
if(表达式) {
语句1 ;
语句2 ;
}
if中当表达式的值为true时,则执行花括号里面的语句。反之则不执行里面的内容。值得注意的是if括号内的表达式为
逻辑表达式和关系表达式。例如:
int a = 3 ;
int b = 2 ;
if(a>b){
a = a-b;
}
/*
上面的if语句也可以写成
if(a>b)
a = a- b;
*/
简单的if语句的流程图
(2) if(){}else{}
if else的形式中在判断if后的表达式为true则运行if后面的语句反之运行else的语句中的内容。格式如下:
if(表达式){
语句1 ;
语句2 ;
}else if(表达式2){
语句1 ;
语句2 ;
}else{
........
}
(3)嵌套的if 。。。。else 语句
if ...else 是可以嵌套使用的,即是一个if 。else中嵌套一个或者多个if。else语句,格式如下:
if(表达式1){
if(表达式2){
语句1;。。。}
else {
。。。}
}
二 switch 多分支选择语句
switch是多分支语句,它可以根据表达式的不同结果选择不同的语句进行执行。值得注意的是switch的表达式类型只能 char,byte,short或者int。格式如下:
switch(表达式1){
case value1 :
语句1 ;break;
case value2 :
语句2 ;break;
case value3 :
语句3 ;
break;
default :
语句4;
}
在switch中根据表达式的结果来与下面的case value的值对应则执行对应的语句。反之没有执行default中的语句,一个switch中只准有一个default语句。同时在case value中必须加入break语句。switch的流程图如下:
在这里来举一个例子来练习一下switch语句,主要是从从键盘总输入1-7 ,判断是周几。代码如下
import java.util.Scanner;
public class Test5 {
public static void main(String[] args){
/*
* 1.scanner 是从文本中有计划的读取数据,使用时需要引入java.utl.Scanner包
*
*/
Scanner input = new Scanner(System.in);
System.out.println("请输入1-7之内的数字!");
String a = input.next();
int b = Integer.parseInt(a);//把字符转换成整型
switch(b){
case 1 :
System.out.println("今天是星期一!");
break;
case 2 :
System.out.println("今天是星期二!");
break;
case 3 :
System.out.println("今天是星期三!");
break;
case 4 :
System.out.println("今天是星期四!");
break;
case 5 :
System.out.println("今天是星期五!");
break;
case 6 :
System.out.println("今天是星期六!");
break;
case 7 :
System.out.println("今天是星期日!");
break;
default :
System.out.println("输入的数字不合法");
}
}
三 循环分支结构
在java中的循环语句有普通的for循环和for/in循环,do{}while ,while .需要注意的是for/in是java5.0新增加的一种循环方式,也称为增强的for循环。在这里来介绍一下for循环。
For循环
普通的for循环的格式为:
For(初始化条件;表达式2;步长)
{
语句1;
语句2 ;
}
初始化条件主要是对于对于值的赋值 ,表达式用于循环次数的判定,步长主要作用在于数的增长,相当于一个加法器或者减法器,可以递增也可以递减。For循环的流程图如下:
在for当表达式为true时,才执行循环语句,false时跳出for循环。For的表达式必须为关系表达式或者逻辑表达式。在for循环中可以对多个变了进行赋值,但是需要注意对于多个赋值必须用,隔开,不然则错误。例如:
for(int i = 1,j = 2 ;i
(一) 分支控制
分支控制主要包括两种语句if和switch语句。if有三种形式,一种是if,if else 和嵌套的if语句。在这里先看一下if 的第一个形式。
if(表达式) {
语句1 ;
语句2 ;
}
if中当表达式的值为true时,则执行花括号里面的语句。反之则不执行里面的内容。值得注意的是if括号内的表达式为
逻辑表达式和关系表达式。例如:
int a = 3 ;
int b = 2 ;
if(a>b){
a = a-b;
}
/*
上面的if语句也可以写成
if(a>b)
a = a- b;
*/
简单的if语句的流程图
(2) if(){}else{}
if else的形式中在判断if后的表达式为true则运行if后面的语句反之运行else的语句中的内容。格式如下:
if(表达式){
语句1 ;
语句2 ;
}else if(表达式2){
语句1 ;
语句2 ;
}else{
........
}
(3)嵌套的if 。。。。else 语句
if ...else 是可以嵌套使用的,即是一个if 。else中嵌套一个或者多个if。else语句,格式如下:
if(表达式1){
if(表达式2){
语句1;。。。}
else {
。。。}
}
二 switch 多分支选择语句
switch是多分支语句,它可以根据表达式的不同结果选择不同的语句进行执行。值得注意的是switch的表达式类型只能 char,byte,short或者int。格式如下:
switch(表达式1){
case value1 :
语句1 ;break;
case value2 :
语句2 ;break;
case value3 :
语句3 ;
break;
default :
语句4;
}
在switch中根据表达式的结果来与下面的case value的值对应则执行对应的语句。反之没有执行default中的语句,一个switch中只准有一个default语句。同时在case value中必须加入break语句。switch的流程图如下:
在这里来举一个例子来练习一下switch语句,主要是从从键盘总输入1-7 ,判断是周几。代码如下
import java.util.Scanner;
public class Test5 {
public static void main(String[] args){
/*
* 1.scanner 是从文本中有计划的读取数据,使用时需要引入java.utl.Scanner包
*
*/
Scanner input = new Scanner(System.in);
System.out.println("请输入1-7之内的数字!");
String a = input.next();
int b = Integer.parseInt(a);//把字符转换成整型
switch(b){
case 1 :
System.out.println("今天是星期一!");
break;
case 2 :
System.out.println("今天是星期二!");
break;
case 3 :
System.out.println("今天是星期三!");
break;
case 4 :
System.out.println("今天是星期四!");
break;
case 5 :
System.out.println("今天是星期五!");
break;
case 6 :
System.out.println("今天是星期六!");
break;
case 7 :
System.out.println("今天是星期日!");
break;
default :
System.out.println("输入的数字不合法");
}
}
三 循环分支结构
在java中的循环语句有普通的for循环和for/in循环,do{}while ,while .需要注意的是for/in是java5.0新增加的一种循环方式,也称为增强的for循环。在这里来介绍一下for循环。
For循环
普通的for循环的格式为:
For(初始化条件;表达式2;步长)
{
语句1;
语句2 ;
}
初始化条件主要是对于对于值的赋值 ,表达式用于循环次数的判定,步长主要作用在于数的增长,相当于一个加法器或者减法器,可以递增也可以递减。For循环的流程图如下:
在for当表达式为true时,才执行循环语句,false时跳出for循环。For的表达式必须为关系表达式或者逻辑表达式。在for循环中可以对多个变了进行赋值,但是需要注意对于多个赋值必须用,隔开,不然则错误。例如:
for(int i = 1,j = 2 ;i