java流程控制
一.用户交互Scanner
1.Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
2.基本语法及使用声明:
输入内容及输出结果:
3.通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要用hasNext()与hasNexrLine()判断是否还有输入的数据。
·next():
1.一定要读取到有效字符后才可以结束输入。
2.对输入有效字符之前遇到空白字符,next()方法会自动将其去掉,比如输入一个Hello World,得到的结果就只有Hello,World就会被抹去。
3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4.next()不能得到带有空字符的字符串。
·nextLine():
1.一回车作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2.可以获得空白。
二.顺序结构
1.JAVA的基本结构就是顺序结构,除非特别指明,否者就按照顺序一句一句执行。
2.顺序结构是最简单的算法结构。
3.语句与语句之间,框与框之间是按从上到下的顺序进行的,它是有若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
三.选择结构
1.if单选择结构:
我们很多时候需要去判断有一个东西是否可行,然后我我们才去执行,这样一个过程在程序中用if语句来表示
2.if双选择结构
3.if多选择结构
4.嵌套的if结构
5.switch多选择结构
·多选择结构还有一个实现方式就是switch case 语句。
··switch case语句判断一个变量与一系列中某个值是否相等,每个值称为一个分支。
四.循环结构
Ⅰ.while循环
1.while是最基本的循环,他的结构是:
2.只要布尔表达式为true,循环就会一直执行下去。
3.我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
4.少部分情况需要循环一直执行,比如服务器的请求响应监听等。
5.循环条件一直为true就会造成无限循环【死循环】,我们的正常业务编程中应该尽量避免死循环。会影响程序性 能或者造成程序卡死崩溃!
6.代码打出1+2+3+...+100+?
Ⅱ.do...while循环
1.对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少循环一次
2.do...while循环和while循环相似,不同的是,do...while循环至少会执行一次
3.while和do...while的区别:
a.while是先判断后执行,do...while是先执行一次然后在判断
b.Do...while总是保证循环体会被至少执行一次,这是他们的主要区别
Ⅲ.for循环
1.虽然所有的循环结构都可以用while或者do...while表示,但Java提供了另一种语句,for循环,使一些循环结构变得更加简单。
2.for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
3.for循环执行的此时是在执行前就确定的。语法格式如下:
4练习1:计算0到一百之间的奇数和偶数的和?
5练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个
6练习3:打印九九乘法表
五.break & continue
1.break在任何循环语句的主体部分,都可以用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
2.continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
3.关于goto关键字
①goto关键字很早就这程序设计语言中出现,尽管goto仍是Java的一个保留字,但并未在语言中得到正式使 用;Java没用goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。
②“标签”是指后面跟一个冒号的标识符,例如:label;
③对java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
六.练习