顺序结构(Sequential structure )
JAVA的基本结构就是顺序结构,除非特别指明。否则就按着顺序一句一句的执行
顺序结构是最简单的算法结构
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构;
选择结构
if单选择结构
判断一个事件是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
//equals:判断字符串是否相等
if双选择结构
语法:
if(布尔表达式){
//如果布尔表达是true}
}
else{
//如果布尔表达式的值式false
}
if多选择结构
在真实情况中可能存在ABCD,存在区间多级判断,比如90-100就是A,80-90就是B等等。我们需要一个多选结构来处理这类问题
语法:
if(布尔表达式 1){
//如果布尔表达式为true的时候执行代码
}else if(布尔表达式 2){
//如果布尔表达式为true的时候执行代码
}else if(布尔表达式 3){
//如果布尔表达式为true的时候执行代码
}else if(布尔表达式 4){
//如果布尔表达式为true的时候执行代码
}
嵌套的if结构
使用嵌套的if…else语句是合法的。也就是说你可以子啊另一个if语句或者else if中继续使用if 或者else if语句进行运算
if(布尔表达式1){
//如果布尔表达式1的值是ture执行代码
if(布尔表达式2){
//如果布尔表达式2的值式tur执行代码}
...}}}}...
此处有一道例题
我们寻找一个数,在1-100之间
switch 多选择结构
多选择结构还有一个是switch case语句
switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
-
byte,short,int或者char
-
从Java SE 7开始
-
switch 支持字符串String类型了
-
同时case标签必须为字符串常量和字面量
语句
switch(expression){ case value //语句 break;//可选 case value //语句 break; //可选 //你可以有任意数量的case语句 default://可选 //语句} case 穿透 switch 匹配一个具体的值
```java
//字符的本质还是数字
//反编译 java---class(字节码文件)
循环结构
while循环
do…while 循环
for 循环
在java5中引进了一种用于数组的增强型for循环
while循环
while是最基本的循环,它的结构是:
while(布尔表达式){
//循环内容}
只要布尔表达式一直是ture,那么循环就会一直执行下去
我们大多数时候是会让循环终止的,因此需要一个表达式失效的方式来结束这个循环
少部分情况需要循环一直进行,比如服务器的请求响应监听等
循环条件一直为ture就会造成无限循环,我们正常业务中应该尽量避免死循环,会影响程序性能或者造成程序卡死
思考:1+2+3…+100?
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(初始化;布尔表达式;更新){
//代码语句
}
思考:
- 计算0到100的奇数和偶数的和‘;
- 用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个
- 打印99乘法表
重点
println和print的区别:
println输出完会换行
print输出完不会换行
system.out.print("\n")//换一行
或者system.out.println(" ")//直接会换行
增强for循环
数组后重点使用
Java 5引用了一种主要用于数组或集合的增强型for循环
java增强for循环语法:
for(声明语句:表达式){
//代码句子}
语法声明:声明新的布局变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等;
表达式:表达式是要访问的数组名,或者是返回值为数组的方法