本文主要是介绍Java学习笔记-流程控制,三大逻辑结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
流程控制
用户交互Scanner
-
提供一个实现程序和人交互的工具类,可以获取用户的输入。
-
java.util.Scanner是Java5的新特性,我们可以通过Scanner类来获取用户的输入。
-
基本语法:
Scanner s = new Scanner(System.in);
-
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
Scanner 对象
- next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
- nextLine():
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
顺序结构
- JAVA的基本结构就是顺序结构,除非特别指明,否则就安装顺序一句一句执行。
- 顺序结构是最简单的算法结构
- 语句与语句之间,框与框之间是从上到下的顺序进行,它是由若干个依次执行的处理步骤组成的,是任何一个算法都离不开的一种基本算法结构。
选择结构
-
if单选择结构
- 很多时候需要去判断一个东西是否可行,然后才会去执行,这样的过程在程序中 用if语句来表示。
- if(布尔表达式){//如果布尔表达式为true,将执行这里的语句}
-
if双选择结构
- 判断一个条件是否可行,可行就执行语句1的内容,否则执行语句2的内容。
- if(布尔表达式){//如果布尔表达式的值为true} else{//如果布尔表达式的值为false}
-
if多选择结构
- 但判断代码不符合实际情况,真实情况还可能存在ABCD,存在区局多级判断。生活中往往存在的选择不仅只有两个,所以需要一个多选择机构来处理这类问题。
- if(布尔表达式1){//如果布尔表达式1的值为true就执行代码}
- else if(布尔表达式2){//如果布尔表达式2点值为true就执行代码}
- else{//如果以上的布尔表达式都不为true则执行代码}
-
嵌套的if结构
- 使用嵌套的if...else语句是合法的,我们可以在另一个if或else if语句中使用if或者else if语句。可以像if语句一样嵌套else if ... else
- if(布尔表达式1){//如果布尔表达式1的值为true则执行代码 if(布尔表达式2){如果布尔表达式2的值为true则执行代码}}
- 如何快速寻找一个数?在1-100之间。 把数值减少一半(判断是否大于50)。
-
switch多选择结构
循环结构
- while循环
- while是最基本的循环:
- 只要布尔表达式为true,循环就会一致执行下去。
- 大多数情况是会让循环停止下来,我们需要一个让表达式失效的方式来结束循环
- 少部分情况需要循环一直执行(服务器的请求响应监听等)
- 循环条件一直为true就会造成无限循环(死循环),正常业务编程中应该 尽量避免死循环,会影响程序性能或者造成程序卡死崩溃【while true】。
- 1+2+3+...+100=?
- do...while循环
- 对于while语句而言,如果不满足条件,则不能进入循环。但是有时候即使不满足条件,也至少执行一次的程序。
- do...while循环和while循环相识,不同的是,do...while循环至少会执行一次。
- do{//会被执行的代码语句}while{布尔表达式}
- while和do...while的区别:
- while先判断后执行,dowhile是先执行后判断
- do...while总是保证循环会被至少执行一次。
- for循环
- 虽然所有循环结构都可以while或者do...while表示,但是Java提供了另一循环语句-》for循环,使一些循环结构变得更加简单。
- for循环语句是支持迭代的一种通用结构,是最有效最灵活的循环结构。
- for循环执行的次数是在执行前就确定了:
- for(初始化;布尔表达式;更新迭代){//代码语句}
- 计算1-100之间奇数和偶数的和、 用while或for循环输出1-1000之间能被5整除的数,且每行输出3个、 九九乘法表。
- 在Java5中引入了一种主要用于数组的增强型for循环。
- for(声明语句:表达式){//代码句子}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break
- break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句,(break也可以在switch循环中使用)
continue
- continue语句用在循环语句体中,用于终止某次循环过程,即是跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
goto
- goto关键字很早就在程序语言中出现,尽管goto仍是java的一个保留关键字,但并未在语言中得到正式使用; Java没有goto,然而在break和continue这两个关键字的身上,我们仍然能够看到一些goto的影子--》带标签的break和continue。
- “标签”是指后面跟一个冒号的标识符,例如:label:
- 对Java来说唯一用到标签对地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
这篇关于Java学习笔记-流程控制,三大逻辑结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!