流程控制
Scanner对象
- Scanner 类用来获取用户的输入
- 用过Scanner 类的 next() 与 nextLine() 方法获取输入的字符串, 在读取前我们一般需要使用hasNext() 与hasNextLine() 判断是否还有输入数据
- next() 不能得到带有空格的字符串
- nextLine() 以Enter为结束符
- 基本语法
Scanner scanner = new Scanner(System.in);
顺序结构
- Java的基本结构就是顺序结构,除非特指,否则就是一句一句执行
- 顺序结构就是最简单的算法结构
- 语句与语句之间,按从上到下的顺序进行,它是任何一个算法都离不开的一种基本算法结构
选择结构
- if 单选择结构
if(布尔表达式) {
}
- if 双选择结构
if(布尔表达式) {
}else {
}
- if 多选择结构
if(布尔表达式 1) {
}else if (布尔表达式 2) {
}else if (布尔表达式 3) {
}else {
}
- 嵌套的 if 结构
if(布尔表达式 1) {
if(布尔表达式 2) {
}
}
- Switch 多选择结构
switch(expression) {
case value1:
break;
case value2:
break;
default:
}
循环结构
- while 循环
while(布尔表达式) {
}
- do…while 循环
do{
}whlie(布尔表达式);
- for 循环
for(初始化; 布尔表达式; 更新) {
}
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if(i%2!=0){
oddSum += i;
}else {
evenSum += i;
}
}
System.out.println("奇数的和:" + oddSum);
System.out.println("偶数的和:" + evenSum );
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if (i%15==0){
System.out.println();
}
}
for (int j = 1; j <=9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j + "*" + i + "=" + (i*j) + "\t");
}
System.out.println();
}
- 增强型 for 循环
for(声明语句 : 表达式){
}
- break continue
- break 用于强行退出循环,不执行循环中的剩余语句.
- continue 用于终止某次的循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定.
控制流程练习
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i ; j++){
System.out.print("*");
}
for (int j = 1; j < i; j++){
System.out.print("*");
}
System.out.println();
}