7、程序逻辑控制

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

1、判断语句的使用;

2、循环语句与循环控制、

2、具体内容

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

2.1、分支结构

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

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

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循环。

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

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,根本就不会用。

2for循环,语法:

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);

}

}

疑问?现在给出了两种循环的语法,那么开发里面用哪种?

如果不知道循环次数,但是不知道循环结束条件的时候使用while循环

如果已经明确知道循环次数了,使用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、continuebreak都需要与if语句结合。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值