键盘录入字符串功能实现
键盘录入字符串
Scanner sc = new Scanner(System.in);
//前置步骤都一样,不一样的是对象调用的方法
//nextInt : 方法名
//() : 小括号内告知程序员需不需要提供数据 来 启动方法
//int :方法执行完毕后结果的数据类型
int nextInt() : 录入整数
String next() : 录入字符串 //当录入空格之后, 空格后方的字符串就不录入了
String nextLine(); //当这段语句前是回车时, 系统会认为你按的回车是要录入的字符串,会使键盘录入字符串程序的效果是直接结束
如果要混着录入的话, 一定要设两个对象名分别接收两个录入的值
键盘录入一个字符时:
char c = sc.next().charAt(0); //本质上相当于next()输入字符串,然后取在0位置的第一个字符
键盘录入double型数值时
double d = sc.nextDouble();
//sc对象在录入时,不要"混着"录入 [一个sc对象不要录入不同的数据类型]
//一个sc对象录入一种类型
switch结构
switch 结构的基本格式
格式解释
1.switch : 仅代表switch表达式
2.(表达式) : 可以写 变量 [使用变量], 也可以写 常量 //基本上是不写常量的
注意: 变量/常量的数据类型, 只能是byte, short, char, int, 枚举[JDK], String
3.case : 事件 //分支结构中就代表一个分支
4.值 : case 后的值必须是 常量 , 且这个常量的数据类型必须和表达式变量的数据类型一致
5.语句体: 当表达式的值和case后的值相等时需要执行的代码
6.break : 结束switch语句
7.default : 默认的, 缺省的 -->如果上方所有的case都不匹配时, 需要走default 代码 //相当于if语句中的else,作为兜底语句
执行流程
1.先计算表达式的结果
2.拿表达式的结果从上至下依次和case后方是值进行 == 比较 [比较:表达式 == 值]
3.如果相等, 立刻进入到 当前case中, 执行case中的语句体 , 遇到break语句,就立刻结束整个语句
4.如果不相等,继续向下去匹配其他的case后方的值
5.如果所有case的值和表达式的结果都不匹配, 如有default语句, 那么执行语句体n+1
当case的语句体没有写break,switch结构会出现case穿透的现象
case穿透
上方的语句体执行完毕后会穿透下方case的校验, 直接执行下方case语句体,直到遇到break语句结束
[注意]记得一定要去写break !
循环结构
for
while
do..while
循环结构的组成部分
1.起始圈数 -->初始化语句 //本质在定义变量, 此变量来控制循环结构
2.当前圈数和目标圈数的关系 -->条件判断语句 //本质一定是一个boolean式子, 为true循环继续[满足循环条件], 为false循环结束[不满足循环条件]
3.跑步 -->循环体语句 //重复执行的代码
4.跑完圈数 + 1 -->步进语句
//本质上在改变初始化语句定义的变量的值(如果想循环能正常结束, 那么一定是往不满足 循环体条件 的方向前进)
//步进语句的作用: 推动循环进程的
for循环 / while循环
for循环 / while循环: 最常用的循环结构
for格式
for(初始化语句; 条件判断语句; 步进语句){
//循环内
循环体语句;
}
while循环格式
初始化语句:
while(条件判断语句){
//循环内
循环体语句;
步进语句;
}
for循环和while循环的执行流程
//两种循环的执行流程是一样的 ! -->while循环和for循环可以相互切换
1.执行初始化语句
2.执行条件呢判断语句
-->false: 结束循环
-->true: 进入到第3步
3.执行循环体语句
4.执行步进语句
//下一轮次的循环
5.从第2步开始重复执行2, 3, 4 步骤 -->直到条件判断语句的结果是false;
do while循环
三种循环的区别和使用场景
区别
1.for循环的初始化语句变量只在循环内有效, 出了for循环就失效了
而while循环, do while循环的初始化语句在循环的外部, 作用域更大
2.do while循环无论如何都会执行一次循环体语句的循环
while循环, for循环必须满足循环条件才能执行循环体语句
使用场景
//经验
for循环: 更擅长处理 明确循环次数的循环场景 //次数.fori/次数.forr
while循环: 更擅长处理 不明确循环次数的循环场景 //迭代器, IO流
do while循环: 无论如何都会执行一次循环体语句的循环
控制循环的两个关键字break/continue
break: 中断, 结束 //大退 -->结束的是整个循环
作用: 用来结束switch语句或者循环loop结构的
注意事项:
1.break不可以脱离 循环结构 或者 switch 单独使用!
2.break一定要配合判断条件使用 -->在某种条件下 结束循环
continue: 继续 //小退 -->结束的是一个轮次的循环
作用:结束本轮次的循环, 从下一轮次循环的步进语句开始执行
注意事项:
1.continue不可以脱离 循环结构 单独使用
2.continue一定要配合判断条件使用 --> 在某种情况下,结束这一轮次的循环
[补idea使用技巧]
代码的灰色 : 没有使用
代码的黄色 : 警告 //虽然没有语法错误,但是可能有逻辑问题