9、Java流程控制 part2
Java流程控制 part2
顺序结构
Java的基本结构就是顺序结构
按顺序一句一句往下执行,它是任何一个算法都离不开的一种基本算法结构
由于太过简单基础,导致很多时候忽略了它的存在
**选择结构(重点)
- if选择结构
// 此处用equals来比较字符串是否相等,少用==比较,equals区别于==
if (str.equals("Hello")) {
System.out.printIn(s);
}
// if语法结构同JavaScript
// PS:利用scanner时,先把收尾框架搭好
/*
* Scanner scanner = new Scanner(System.in);
*
*
*
* scanner.close()
*/
- switch多选择结构
switch(expression){
case 'A':
//操作
break;
case 'B':
//操作
break;
// ...
default:
// 操作
}
// 注意要加break,否则会出现case穿透,一直往下执行。
// 反编译文件,直接用IDEA可打开,可以看到生成之后的文件内容
// JDK7新特性,加入了String的比较,本质还是一堆数字
循环结构
- while循环
- do...while循环
区别:
- while先判断后执行,dowhile先执行后判断
- 二者相似,不同的是do...while最少执行一次
- for循环 ***
for循环是最有效、最灵活的循环结构
打印九九乘法表
public class ForDemo01 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
// java中输出用"",用''会出错!!!
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9
//1*4=4 2*4=8 3*4=12 4*4=16
//1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
//1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
//1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
//1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
//1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
- 增强for循环
JDK5中引入的一种主要用于数组和集合的增强型for循环
// 增强型for循环语法
for(声明语句 : 表达式){
// 代码句子
}
public class ForDemo02 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; // java中定义数组的方式
for(int x: numbers) {
System.out.println(x);
}
}
}
break continue
break终止循环
continue跳出当前循环
Label 标签 类似goto关键字
public class Label {
public static void main(String[] args) {
outer:for (int i=101; i<150; i++) {
for (int j=2; j<i/2; j++) {
if (i%j == 0) {
continue outer;
}
}
System.out.println(i);
}
}
}

浙公网安备 33010602011771号