您的位置:首页 > 其它

7、程序逻辑控制

2018-01-23 14:10 127 查看

1、本次的预计讲解的知识

1、判断语句的使用;
2、循环语句与循环控制、

2、具体内容

程序逻辑主要分为三种逻辑结构:顺序结构、分支结构、循环结构。其中顺序结构最好理解,所有的到吗都是由前向后执行的、,但是需要提醒的时候,有些时候顺序是以所在的“{}”为界限的。

2.1、分支结构

分支结构就是一种判断结构。对于分支结构有两类语法支持:if、seitch。

1、if分支语句:此类语句有多种定义形式:

if
if...else
If...else if..else if...else
if (布尔表达式) {
      程序语句
}
if (布尔表达式) {//条件满足时执行
      程序语句
} else {//条件不满足时执行
      程序语句
}
if (布尔表达式1) {//条件满足时执行
      程序语句
}else if (布尔表达式2) {
      程序语句
} ... else {//条件不满足时执行
      程序语句
}
范例:进行判断
public class TextDemo {
public static void main(String[] args) {
double score = 90.0 ;
if (score > 60.0) {
System.out.println(及格);
}
}
}
在此样的操作里面,如果条件不满足发现就没有执行了。
范例:出现不满足的判断
public class TextDemo {
public static void main(String[] args) {
double score = 10.0 ;
if (score < 60.0) { //条件满足
System.out.println("不及格");
} else if (score >= 60 && score <= 90) {
System.out.println("中等成绩");
} else if (score > 90 && score <= 100) {
System.out.println("优秀成绩");
} else { //条件都不满足
System.out.println("你家的成绩很奇怪!!!!!");
}
}
}
整个if的判断都可以编写布尔表达式,但是色switch的判断不能够使用我们的布尔表达式,它最早的时候只能够及执行整数或者是字符的判断,但是从JDK1.5支持,枚举判断,但JDK1.7支持了String的判断。语法形式:
switch (整数 |
字符 |
枚举 | String) {
     case 内容 : {
          内容满足时执行 ;
          [break ;]
     }
     case 内容 : {
          内容满足时执行 ;
          [break ;]
     }
     case 内容 : {
          内容满足时执行 ;
          [break ;]
     }
     [default : {
           内容不满足时执行 ;
           [break ;]
     }]
}
在每一个case里面出现的break语句,表示的是体制case的执行,因为switch语句默认情况下会从第一个满足的case开始执行全部的代码,一直到整个switch执行完毕或者遇见break。
范例:使用switch判断
public class TextDemo {
public static void main(String[] args) {
int ch = 2 ;
switch (ch) {
case 2: {
System.out.println("内容是2");
break ;
}
case 1: {
System.out.println("内容是1");
break ;
}
case 3: {
System.out.println("内容是3");
break ;
}
default: {
System.out.println("没有内容");
}

}
}
}
千万记住的是:switch不能够判断布尔表式,它只能判断内容。
从JDK1.7开始switch终于在这么多年的呼唤下出下了字符串的判断。
public class TextDemo {
public static void main(String[] args) {
String str = "HELLO" ;
switch (str) {
case "HELLO": {
System.out.println("HELLO");
break ;
}
case "hello": {
System.out.println("hello");
break ;
}
case "mdl": {
System.out.println("mdl");
break ;
}
default: {
System.out.println("没有内容");
}

}
}
}
程序区分大小写关系的。

2.2、循环结构

当某代码需要一直重复执行的时候,就可以使用循环结构实现控制,对于循环结构有两种循环:while循环、do while循环。

1、while循环:分为两种形式语法:

while循环
do while循环
while (判断条件) {
     循环语句 ;
     修改循环结束条件 ;
}
do {
     循环语句 ;
     修改循环结束条件 ;
} while (循环判断)
;
所有的循环都必须有循环的初始化条件。每次循环的时候都要去修改这个条件,以判断循环是否结束。
范例:实现1...100的累加——使用while循环
public class TextDemo {
public static void main(String[] args) {
int  sum = 0 ; //保存总合
int current = 1 ; //循环的初始化条件
while (current <= 100) { //循环结束条件
sum += current ; //累加
current++ ;
}
System.out.println(sum);
}
}
while属于先判断条件后执行。
范例:使用do while循环
public class TextDemo {
public static void main(String[] args) {
int  sum = 0 ; //保存总合
int current = 1 ; //循环的初始化条件
do { //循环结束条件
sum += current ; //累加
current++ ;
} while (current <= 100);
System.out.println(sum);
}
}
Do while 循环指的是先执行一次,而后再进行判断,即:不管循环的条件是否满足,一定会执行一次。
以后的开发之中请彻底忘掉do while,根本就不会用。
2、for循环,语法:
for (循环初始化条件 ;
循环判断 ;
循环条件变更) {
     循环语句 ;
}
范例:使用for循环进行1~100的累加
public class TextDemo {
public static void main(String[] args) {
int  sum = 0 ; //保存总合
for (int current = 0 ; current <= 100 ; current ++) { //循环结束条件
sum += current ;
}
System.out.println(sum);
}
}
但是有些时候for循环也会变为一下形式编写(不建议)
public class TextDemo {
public static void main(String[] args) {
int  sum = 0 ; //保存总合
int current = 0 ;
for ( ; current <= 100 ; ) { //循环结束条件
sum += current ;
current ++ ;
}
System.out.println(sum);
}
}
疑问?现在给出了两种循环的语法,那么开发里面用哪种?
l 如果不知道循环次数,但是不知道循环结束条件的时候使用while循环
l 如果已经明确知道循环次数了,使用for循环。
对于虚循环而言,是属于初学者刚刚开始接触程序最麻烦的一个环节,但是对于循环本身也是可以进行嵌套的,循环继续嵌套其它的循环。
范例:模拟抽烟
public class TextDemo {
public static void main(String[] args) {
int  max  = 9 ;
for ( int x = 1; x < max ; x++ ) { //循环结束条件
System.out.print("开始抽烟" + x +"根烟,抽了");
for (int y = 1 ; y <= 20 ; y++ ) {
System.out.print("嘬、");
}
System.out.println(); //换行
}
System.out.println("呵呵");
}
}
范例:打印口诀表
public class TextDemo {
public static void main(String[] args) {
for ( int x = 1; x <= 9 ; x++ ) {
for (int y = 1 ; y <= x ; y++ ) {
System.out.print(x +"*"+ y +"="+ x*y +"\t");
}
System.out.println(); //换行
}
}
}
但是对于循环嵌套操作,严格雷来讲属于比较麻烦的结构。

2.3、循环控制

循环控制一共有两种语句:continue(退出本次循环)、break(退出整个循环),此类语句要与判断语句结合使用。

范例:观察continue

public class TextDemo {
public static void main(String[] args) {
for ( int x = 0; x < 10 ; x++ ) {
if (x == 3) {
continue ; //之后代码不执行,直接结束本次循环
}
System.out.println("x = " + x) ;
}
}
}
范例:观察break

public class TextDemo {
public static void main(String[] args) {
for ( int x = 0; x < 10 ; x++ ) {
if (x == 3) {
break ; //退出真个循环
}
System.out.println("x = " + x) ;
}
}
}

3、总结

1、循环结构需要反复多写几次,因为你写的代码有可能出现死循环,指的是每次循环时的结束条件没有改变。

2、while用于不确定次数但是知道结束条件的循环,而for适合与明确知道循环次数的循环;

3、continue、break都需要与if语句结合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: