今天继续更新Java基础语法。
1、 我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我们需要把数据改进为键盘录入,提高程序的灵活性。键盘录入(一共需要3步):
(1)、导包
import java.util.Scanner;
(2)、创建键盘录入对象 :
Scanner sc = new Scanner(System.in);
**除了sc可以更改,其他都是固定格式。**
(3)、调用方法接收键盘录入的数据 ( 3种 ):
sc.nextInt() 接收一个int类型的数据
int i = sc.nextInt();
** 除了i可以更改,其他都是固定格式。**
sc.next() 接收一个字符串
String s = sc.next();
** 除了s可以更改,其他都是固定格式。**
sc.nextLine() 接收一个字符串
String s = sc.nextLine();
** 除了s可以更改,其他都是固定格式。**
next()与nextLine()的区别:
1、单独使用的时候效果一样。
2、nextLine()可以接收一些特殊字符 如空格、 tab、换行键等,而next()直接忽略接收。
2、流程控制语句分类 ( 分3类 ):
顺序结构
总的来说,写在前面的先执行,写在后面的后执行。
(2)、选择结构( 2种 )
A、 if 语句
第一种格式:
if(关系表达式){
语句体;
}
解释:
1、if小括号中的关系表达式结果只能是布尔类型的,即结果只能是true或false。
2、关系表达式的结果是true,就执行语句体的内容。如果是false就不执行。
3、语句体可以不止是一条语句。
4、大括号理论上可以省去,但是当语句体内容多的时候,不建议省去,因为后面的代码都会执行。建议永远不要省去大括号!!!!!!!
第二种格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1、判断关系表达式中的结果。
2、如果关系表达式的结果是true,执行语句体1。
3、如果关系表达式的结果是false,执行语句体2。
无论怎么说,语句体1还是语句体2,只会执行某一个 。
第三种格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}
...
}else if(关系表达式n){
语句体n;
}else{
语句体n+1;
}
注意事项:
1、else语句不是一定会执行,只有当前面所有的判断条件都是false的时候,最后才会执行else。
2、最后的else可以不写吗?
可以,但是如果前面的判断都不满足,就没有了默认情况的处理,代码不严谨。
3、前面的else if写多少个呢?
取决于具体题目中的判断个数。
B、switch语句
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n;
break;
}
名词解释:
1、switch:
表示这是一个选择结构语句。
2、表达式:
这里的表达式一定会有一个结果值,但是这里结果数据类型只能是byte、short、int、char、JDK之后可以是枚举、JDK1.7之后可以是String。
3、case:
switch中匹配的使用关键字。
4、常量值:
要被匹配的值。注意:这里只能是常量值,不能是变量!!!
5、语句体:
当匹配到对应的常量值后,执行对应的语句体内容,语句体可以是一条也可以是多条。
6、break:
跳出(结束)switch选择结构。
7、default:
当所有的case都不匹配表达式中的值时,默认最后执行default中语句体。
注意事项:
1、break可以不写吗?
可以,但是会发生“case穿透“。
2、default可以不写吗?
可以,但是不建议,代码不够严谨。当只有固定的几个值的时候,可以不写。
3、default可以写在最前面吗?
可以。
(1)default的执行顺序与它在switch中的位置无关。
(2)当default的顺序与break省略同时出现的时候,出来的结果可能不是你想要的。
4、多个case后面的常量值,不能一样。
(3)、循环结构 ( 有2种 )
A 、for循环
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
注意事项:
1、初始化语句在整个循环过程中,只执行一次。
2、初始化语句能不能省略不写?
可以不在for循环中定义,但是一定要在执行for循环之前定义好。
3、判断条件语句能不能省略呢?
可以省略,但是一旦省略不写,说明任何情况下都可以执行循环体内容,无法结束循环,形成了死循环。
4、控制条件语句能不能省略?
可以,但是一旦省略,初始化语句中的变量值不会发生改变,所以也是一个死循环。
5、判断条件语句的结果是boolean类型。
6、当循环体内容只有一句的时候,大括号可以省略,但是当语句体内容有多条语句的时候,不能省略大括号,如果你省略了,只针对第一条语句有效。
B、 while循环 -- 放在下一期讲解。