一、顺序结构
- java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行。
- 顺序解雇是最简单的算法结构
- 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
二、选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
①if单选择结构
判断一个东西是否可行,然后我们去执行,这样的一个过程在程序中用if语句来表示
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
②if双选择结构
判断一个东西不是这种情况就是另一种情况,这样一个过程在程序中用if...else...来表示
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }else{ //否则就执行这句 }
③if多选择结构
现实生活中,很多时候我们面临的选择也不只两个,所以我们需要一个多选择结构来处理这类问题
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 }else if(布尔表达式2){ //如果布尔表达式2为true将执行的语句 }else if(布尔表达式3){ //如果布尔表达式3为true将执行的语句 }else{ //如果以上布尔表达式都不为true将执行的语句 }
④嵌套的if结构
使用嵌套的if...else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 if(布尔表达式2){ //如果布尔表达式2的值为true执行的语句 } }
⑤switch多选择结构
- 多选择结构还有一个实现方式就是switch case 语句(case后面不带break会穿透)。
- switch case 语句判断一个变量与一系列值中某个值是否相等,每一个值称为一个分支
- switch语句中的变量类型可以是:
- byte、short、int或者char;
- 从Java SE 7开始switch支持字符串String类型了;
- 同时case标签必须为字符串常量或者字面量。
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 //你可以写任意多的case语句 default://可选 //语句 }
三、循环结构
- while循环
- do..while循环
- for循环
- 在Java5中引入了一种主要用于数组的增强型for循环
①while循环
它是最基本的循环,它的结构为:
while(布尔表达式){ //循环内容 }
- 只要布尔表达式为ture,循环就会一直执行下去
- 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环
- 少部分情况需要循环一直执行,比如服务器的请求响应监听等
- 循环条件一直为true就会造成无限循环(死循环)我们正常的业务编程中应该尽量避免死循环,因为会影响程序性能或者造成程序卡死崩溃
②do..while循环
- 对于while语句而言,如果条件不满足,则不能进入循环。但我们有时候需要即使不满足条件也至少执行一次。
- do..while循环和while循环相似,不同的是,do..while循环至少会执行一次
do{ //代码语句 }while(布尔表达式);
while和do..while的区别:
- while先判断后执行。do..while是先执行后判断!
- do..while总是保证循环体至少执行一次!这是他们的主要区别。
③For循环
- 虽然所有循环结构都可以用while或者do..while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
- for循环执行的次数是在执行前就确定的,语法如下:
for(初始化;布尔表达式;更新){ //代码语句 }
④增强For循环
- Java5引入了一种主要用于数组或集合的增强型for循环
- Java增强for循环语法格式如下:
for(声明语句:表达式) { //代码句子 }
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等
- 表达式:表达式是要访问的数组名,或者是返回为数组的方法