Java中 语句:顺序结构 ,选择结构,循环结构
一.顺序结构
从上往下按顺序依次执行
二. 选择结构
1.if
if(判断条件){
}
判断条件为true才执行
2.if....else
if(判断条件){
}else{
}
判断条件为真执行if,假执行false,两者只能执行一个
3.if...else if .....else多分支
if(判断条件1){
}else if(判断条件2){
}else if(判断条件3){
}else{
}
4.switch语句 “英语本义:‘开关’本身是一种选择语句”
用来提供多路分支
语法:switch(表达式){ //表达式可以是:整数,Char,枚举类型,String
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
..........
default: //
执行语句:
break;
}
case穿透:
在switch语句中,每一个case语句,需要一个结束循环体,否则会出现case穿透
//case 穿透: 当case语句 没有使用break时 表示case穿透 一直执行下去一下语句
case...break成对出现 最好不要出现case穿透
也可以根据case穿透做题
三.循环结构
1.什么时候用循环:
在我们进行开发的时候,经常需要重复执行某一段代码。重复执行很多次,最后根据条件的判断,是不是继续执行。我们在生活中这种重复执行的动作,在java中,就有一种比较简便的方式进行操作,那就是循环结构。
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
1.for循环
基本结构:
for(初始化语句1;条件判断语句2;条件控制语句3)
{
循环体语句4;
}
在这就会引入四个关于循环的概念:初始化语句、条件判断语句、条件控制语句、循环体语句,下面就具体介绍一下这四个概念:
初始化语句:用于表示循环开启时的起始状态,一般是一个定义赋值的表达式(可以省略)
条件判断语句:循环反复执行的条件,是一个表达式,结果一定是boolean值(可以省略,默认是true)
条件控制语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情(可以省略)
循环体语句:循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
1------2-------4---------3
2.while循环结构
完整格式:
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
while循环执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
首先执行初始化语句,当语句执行到while的时候,判断循环条件是否成立,两种情况,第一种情况为true,就会去执行while后面大括号里面的内容,等循环体执行完之后,执行条件控制语句,然后再回去循环条件去判断,直到循环条件为false的时候,才结束本地循环,继续执行其他代码,如果循环条件一直为true,则一直执行循环体。如果刚到while循环的条件判断语句是就是false,则直接跳出循环不会执行循环里的任何语句。
3.do-while循环
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续执行
当程序执行遇到do关键字的时候,程序就知道这是一个do-while循环,首先去执行do大括号里面的内容,当大括号里面的内容执行完成之后,再去执行while括号里面的循环判断,如果是true,继续执行do大括号里面的代码,直到while里面的条件为false,才会结束循环。
4.三种循环的区别:
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别:
条件控制语句中的自增变量,因为在for循环的语法结构中,在for循环结束后,就不能再次被访问到了
条件控制语句中的自增变量,在while循环中来说不归属其语法结构中,是定义在while循环外,在while循环结束后,该变量还可以继续使用
do-whlie和while的区别,如果你写的程序不管符合符合循环条件,都要先执行一次,那就选择do-while.
三种循环常用的情况:
for:已知循环的次数。(平时使用的最多)
whlie:未知循环次数。
do-while:不管是否满足条件,都要循环体执行一次(很少使用)。
for循环除了以上的一般写法外,jdk5.0以后的版本都提供了增强for循环的特性,使用起来更加方便,比如我现在想遍历输出一个集合,就可以这样写;
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
for(String s:list) {
System.out.println(s);
}
例:
char[] ch = {'a','b','c','d','e'};
for(char c:ch) {
System.out.println(c);
}
这种挺好,哈
这种写法要比上面的写法简单的多,而且只有一种写法,对于数组和实现了Iterator接口的集合,都可以使用这种增强for循环的方式来遍历。
break continue
跳转控制语句(break)
跳出循环,结束循环
跳转控制语句(continue)
跳过本次循环,继续下次循环
注意: continue只能在循环中进行使用!
4.4 循环嵌套(理解)
循环嵌套概述:在循环中,继续定义循环
示例代码:
public static void main(String[] args) {
//外循环控制小时的范围,内循环控制分钟的范围
for (int hour = 0; hour < 24; hour++) {
for (int minute = 0; minute < 60; minute++) {
System.out.println(hour + "时" + minute + "分");
}
System.out.println("--------");
}
}
理解:
请反复理解这句话(整个内循环,就是外循环的一个循环体,内部循环体没有执行完毕,外循环是不会继续向下执行的)
结论:
外循环执行一次,内循环执行一圈
Random产生随机数
概述:
Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
API后续课程详细讲解,现在可以简单理解为Java已经写好的代码
使用步骤:
导入包
import java.util.Random;
创建对象
Random r = new Random();
产生随机数
int num = r.nextInt(10);
解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19 可以在后面加数字改变范围