day002流程控制
-
Scanner对象:java.util.Scanner(包)是java5的新特征;我们可以通过Scanner类来获取用户的输入(扫描器)
-
基本语法:Scanner s = new Scanner(Sysrem.in);
-
通过Scannery类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
Scanner 扫描器名 = new Scanner(System.in);开始
scanner.close();结束
凡是属于IO流的类,如果不关闭会一直占用资源
-
扫描器名.nextInt();获取在控制台输入的整数
-
扫描器名.next();获取在控制台输入的字符串
-
nextInt()
-
一定要读取到有效字符后才可以结束输入;
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉;
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符;
-
**next()不能得到带有空格的字符串;
-
备注:
-
对于next×××()方法,如果在输入时使用空格,那么系统会自动对当前输入的信息进行分割,如果空格大于等于1个,那么会自动对后面的next×××()方法分配它分割的值,如果有对应的next×××()方法,就可以接收到分割的值,如果没有,那么分割的值就被删除
-
当使用空格进行分割时,如果分割后的数据类型不能匹配后面next×××()方法,就会抛出异常:
-
nextLine():
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;
-
可以获得空白;
Random类(随机数)
-
用于生成随机数
-
需要导入所在的包,导入格式:
import java.util.Random; -
实例化创建对象:
Random ran = new Random();-
获取随机整数,范围是[0,50):
int a = ran.nextInt(50); -
获取随机小数,范围是[0,1):
double b = ran.nextDouble(); -
获取一个[a,b)的随机数:
int c = rand.nextInt(b-a+1) + a;
-
顺序结构
-
java的基本结构就是顺序结构,除非特别说明,否则就按照顺序一句一句执行;
-
顺序结构是最简单的算法结构;
-
语句与语句之间、框与框之间是按从上到下的顺序进行的,它是若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
选择结构控制语句
-
if单选择结构:if(){}
-
if双选择结构:if(){}}else{}
-
if多选择结构:if(){} else if(){} else{}
if语句至多有一个else语句,else语句在所有的else if语句之后;
if语句可以有多个else if 语句,但必须在else 之前;
一旦一个else if 语句为true ,其他的else if以及else 语句都跳过。
-
嵌套的if结构:在一个if或者if else语句里使用if 或者 if else 语句;
if控制语句,并列判断;if else (if else if else )控制语句,上面成立,下面不再判断;多条件判断;
-
if else 语句;
int a = 85; if(a<60) { System.out.println("不及格"); }else if (a<=70) { System.out.println("及格"); }else if(a<=80){ System.out.println("中等"); }else if (a<=90) { System.out.println("良好"); }else if (a<100) { System.out.println("优秀"); }else if (a==100) { System.out.println("满分"); }switch多选择结构
Switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支;
Switch语句中的变量类型只能是整型、字符型(byte,short,int.long,char),JDK7后支持字符串型(String型);
同时,case标签必须为字符串常量或者字面量;
-
switch case 语句;case 穿透,Switch 匹配一个具体的值;每个case后尽量跟break,用于跳出;
反编译:java---class(字节码文件)----反编译(idea)
-
switch(light) {
case "绿灯":
System.out.println("车通行了");
break;
case "黄灯":
System.out.println("观察通行!!");
break;
default:
System.out.println("停止通行");
}```
循环结构语句
-
for 循环;
for (初始化;布尔表达式;更新){代码语句}
-
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
-
for循环执行的次数在执行前就确定的。
注意点:
最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句;
然后,测试布尔表达式的值,true,执行循环体;false,循环终止,开始执行循环体后的语句;
执行一次循环体后,更新循环控制变量(迭代因子控制循环变量的增减)再次检测布尔表达式的值,循环上述过程。
-
增强for循环:主要用于数组或集合;for(声明语句:表达式){代码语句}
-
while 循环;当布尔表达式为真的时候,执行循环体内容 ```while(布尔表达式){
}
while(true){}会无限循环(死循环),正常编程应避免;
-
do -while 循环;先执行do中的内容,然后进行判断,true继续执行,反之结束,do中定义的变量只能do中使用,不能在条件中和do外使用。```do {
if(i==11){
break;
}
i++;
}while(true);
while与do--while的区别:
-
while先判断后执行。do--while是先执行后判断!
-
do--while总是保证循环体会至少执行一次!!
在有限范围内做重复性动作
浙公网安备 33010602011771号