一、Scanner(扫描仪)

Scanner使用:

System.out.println(“请从控制台输入”);
 java.util.Scanner s = new java.util.Scanner(System.in);
 int n = s.nextInt();//从控制台输入一个整数。
 double d = s.nextDouble();//从控制台输入一个double类型的数。
 String ss = s.next();//从控制台输入一个字符串类型的值。
 char c = s.next().charAt(0);//从控制台输入一个字符串获取第一个字符。

注意:当输入的类型和要求的类型不匹配会报如下错误

java select in java select into dao_布尔表达式


注意:java.util.Scanner是全限定名 java.util是包结构。

二、import
导包 :在package的下面可以使用import 类的全限定名;代表的是导入包结构。一旦导包之后,那么在使用类的时候就不需要写包名。
:通配符 代表的是所有。
import java.util.
;代表的是将来使用java.util包下面的所有类的时候都不需要进行导包。
注意:使用到java.lang包下的类的时候不需要导包。

三、选择分支流程
a) 概念:通过需要判断一定的条件,如果满足条件,则执行相应的代码,如果不满足则执行其他代码。

b)分类:

i.基本选择结构
1.if基本结构
a)语法

if(逻辑判断 布尔表达式){
 //代码块
 }
 //后续代码

b)执行流程:
首先会对布尔表达式进行判断,如果结果为true,则执行代码块,再执行 后续代码;如果布尔表达式的结果为false,则直接执行后续代码。

注意:在程序中if结构可以出现多次。 会分别对每一个if中的布尔表达式进行判断,如果结果为真,则都执行。

2.if-else结构

a)语法
 if(布尔表达式){
 //代码块1
 } else{
 //代码块2
 }


//后续代码

b) 执行流程:
首先对布尔表达式进行判断,如果为true,则执行代码块1,然后执行后续代码;如果为false,则执行代码块2,然后执行后续代码。
注意:if和else中的代码块不能同时执行。
问题:当逻辑判断比较比较多的时候,if结构和if-else结构不能满足要求或者执行效率低。

ii.if-else if结构:
1.语法
 if(布尔表达式1){
 //代码块1
 } else if(布尔表达式2){
 //代码块2
 }else if(布尔表达式3){
 //代码块3
 }….else{
 //代码块n
 }

2.执行流程:
如果哪个布尔表达式的结果为true,则执行{}里面的代码,其他布尔表达式不再进行判断。

3.注意:
else{}可以省略。如果省略,则会判断布尔表达式的结果,为true,执行{}的代码,接着执行后续代码;如果布尔表达式的结果为false,则直接执行后续代码。

iii.if的嵌套

1.语法
 if(布尔表达式1){
 if(布尔表达式2){
 //代码块2
 }else{
 //代码块n
 }
 }else{
 if(){
 }
 }
 2. 执行流程:首先会判断外层的布尔表达式,如果表达式的结果为true,才会进入到内部,对内部的布尔表达式进行判断。c) switch-case分支结构
i.语法
 switch(变量){
 case 值1:代码块1;
 case 值2:代码块2;
 ……
 case 值n:代码块n;
 }

所表示的含义是:
变量与case后面的值进行匹配,如果匹配上了则执行后面的代码块的内容。

ii.注意:
1.switch()只能出现byte,short,int,char,JDK1.7之后可以出现String。
2.break关键字:跳出switch结构,在case代码块的末尾使用。
3.default关键字:默认的 ,当switch结构中的变量与case后面的值都没有匹配上,则执行的是default后面的语句。
default语句没有先后顺序;
default出现在switch结构的末尾处,可以省略break关键字。当default语句出现在开头时,break不能省略。
4.case后面不能够出现重复的值。
case后面的代码块可以出现相同的,但是存在冗余,可以将case后面的语句删除。