顺序结构
-
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
-
顺序结构是最简单的算法结构
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
-
if单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
语法结构:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
图解:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZpKiyB1-1636225765021)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210921160058071.png)]
-
if双选择结构
当判断出现两种结果,就有了if-else结构
if(布尔表达式){ //布尔表达式等于true时候执行的内容 }else{ //布尔表达式等于false时候执行的内容 }
图解:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vn3i0Ef5-1636225765030)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210921160733871.png)]
-
if多选择结构
当如果存在多级判断的时候,给我们的结果不仅仅只有两个,所以我们需要多一个多选择结构来处理这一类问题
if(布尔表达式1){ //执行s }else if(布尔表达式2){ }else if(布尔表达式3){ }else{ }
-
if语句至多有1个else语句,else语句在所在的else if 语句之后。
-
if语句可以有若干个else if语句,他们必须在else语句之前。
-
一旦其中一个else if 语句检测为true ,其它的else if 以及else语句都将跳过执行。
-
-
嵌套的if结构
可以在一个if里面嵌套一个if
if(表达式判断){ if(表达式判断){ } }else{ }
-
switch多选择结构
switch case 语句判断一个变量与一个系列值中某个值是否相等,每个值称为一个分支。
语法:
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 default://可选 //语句 }
switch 语句中的变量类型可以是:
- byte , short,int ,char
- 从JAVA SE7开始
- switch支持字符串String类型了
- 同时case表情必须为字符串常量或者字面量。
JDK新特性,表达式结果可以是字符串!!!
但是字符的本质还是数字
//反编译,java–>class(字节码文件) --比如IDEA就是可以自己进行反编译文件
查看反编译文件可以直接,打开IDEA,project structure…查看class文件所在位置,然后将class文件复制到java文件目录下就可以查看class反编译后的文件了。
循环结构
-
while循环
-
while是一个最基本的循环,它的结构为:
while(布尔表达式){ //循环内容 }
-
只要布尔表达式为true,循环就会一直执行下去。
-
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
-
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
-
循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死奔溃!!
-
死循环语句:
//使用到循环条件为true的地方(死循环)
while(true){
//等待客户链接
//定时检查任务,
//。。。。。。
}
-
do…while循环
-
对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
-
do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
do{ //代码语句 }while(布尔表达式);
-
While 和do …While的区别:
- while先判断后执行,do…while是先执行后判断!
- Do…while总是保证循环体至少会被执行一次,这是他们的主要差别。
- 也就是说,dowhile如果执行一次不满足布尔表达式,那它也是进行过至少一次运算的
-
-
for循环【重点】
-
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
-
for循环执行的次数是在执行前就确定的。语法格式如下
for(初始化;布尔表达式;更新){ //代码语句 } //快捷键:100.for //for(;;){} 死循环
-
在Java5中引入了一种主要用于数组或集合的增强型for循环。
Java增强For循环格式如下:
for(声明语句:表达式){
//代码句子
}
//举例:
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义了一个数组
for(int i =0;i<5 ;i++){
System.out.println(numbers[i]);
}
//遍历数组的元素
for(int x:numbers){
System.out.println(x);
}
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值于此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法.