掌握 Scanner 输入
了解程序流程控制
重点掌握 if / else 语句 (流程图)
重点掌握 switch / case 语句(流程图)
重点掌握 for 循环(流程图)
重点掌握 while 循环(流程图)
掌握 do while 循环(流程图)
重点掌握 break 语句和 continute 语句
Scanner 使用方法
导包
import java.util.Scanner;
创建
Scanner sc = new Scanner(System.in);
使用
String inputString = scanner.next(); //返回值为键盘输入的字符串 String inputInt = scanner.nextInt(); //返回值为键盘输入的整数
程序每次运行到 next( ) 或 nextInt( ) 方法时都会卡住,这是程序在等待你在键盘上输入数据,数据输入完成后程序继续运行。
语句:使用分号分隔的代码称作为一个语句
注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句
顺序语句就是按照从上往下的顺序执行的语句
Scanner scanner = new Scanner(System.in); //语句一 String inputString = scanner.next(); //语句二 System.out.println(inputString); //语句三 ; // 语句四(空语句)
以上四条语句的执行顺序是从上往下执行,即语句一 -> 语句二 -> 语句三 -> 语句四
格式一
if (判断条件) { //如果符合条件执行下面的代码 执行的代码块1; 执行的代码块2; … 执行的代码块n; }
格式二
if (判断条件) { //如果符合条件执行下面的代码 执行的代码块1; 执行的代码块2; … 执行的代码块n; } else { //如果不符合条件执行下面的代码 执行的代码块1; 执行的代码块2; … 执行的代码块n; }
注意:观察发现 if else 语句有点类似于三元运算符;其实三元运算符是 if else 的一种简写格式.
if else 结构 简写格式: 变量 = (条件表达式) ? 表达式1:表达式2;
三元运算符:
好处:可以简化 if else 代码
弊端:因为是一个运算符,所以运算完必须要有一个结果
格式三
if (判断条件1 ) { 执行语句块; } else if (判断条件2) { 执行语句块; }else if (判断条件3) { 执行语句块; }
if 语句特点:
第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中
条件表达式无论写成什么样子,只看最终的结构是否是 true 或者 false。
格式
switch (表达式) { case 取值1: 执行语句; break; case 取值2: 执行语句; break; …... default: 执行语句; break; }
switch语句特点:
switch 语句选择的类型:byte、short、int 、char、string (JDK7 支持)
case 之间与 default 没有顺序;先判断所有的 case,没有匹配的 case 执行 default
switch 语句停止的条件是遇到了 break 关键字或者结束 switch 语句的大括号
如果匹配的 case 或者 default 没有对应的 break,那么程序会继续向下执行,运行可以执行的语句,直到遇到 break 或者 switch 结尾结束
switch case 中的值必须要与 switch 表达式的值具有相同的数据类型,而且 case 后跟的值必须是常量,不能跟变量
注意:
case 后跟的是冒号:
每个 case 中的执行语句一定要加 break;
Java提供了三种类型的循环语句:
while 循环
do while 循环
for 循环
while (条件表达式) { 执行语句; }
do { 执行语句; } while (条件表达式);
注意:do while 后面有一个分号;
while:先判断条件,只有条件满足才执行循环体
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体
for ( 初始化表达式;循环条件表达式;循环后的操作表达式 ) { 执行语句块; }
for 和 while 的区别
for 里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止
while 与 for 可以互换,区别在于 for 为了循环而定义的变量,在 for 循环结束时就在内存中释放。而 while循环使用的变量在循环结束后还可以继续使用
三种无限循环格式
无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环,推荐使用 while(true)
// 三种无限循环格式 while(true) { } for(;;) { } for(;true;) { }
多加分号:在 for 括号后和循环体之间加分号是常见错误;程序编译运行都可以通过,只是不是我们想要的结果
错误
for (int i = 0;i < 100; i++);{ System.out.println("hello "); }
正确
for (int i = 0; i < 100; i++) { System.out.println("hello "); }
错误(死循环)
int i = 0; while(i<100);{ System.out.println("hello"); i++; }
正确
int i = 0; while (i < 100) { System.out.println("hello"); i++; }
什么是嵌套形式,其实就是语句中还有语句
//for 循环嵌套 for 循环 for (...) { for (...) { } }
break 语句用于跳出本层循环体,从而提 前结束循环
break 语句用于跳出 switch 语句体
continue 语句用于结束本次循环(即 跳过本次循环中余下尚未执行的语句), 接着再一次进行循环条件的判定