1. 顺序控制
- // 顺序结构
- public class Demo01Sequence {
- public static void main(String[] args) {
- System.out.println("今天天气不错");
- System.out.println("挺风和日丽的");
- System.out.println("我们下午没课");
- System.out.println("这的确挺爽的");
- }
- }
- 2. if
2.1 if 单分支
- // 单 if 语句
- public class Demo02If {
- public static void main(String[] args) {
- System.out.println("今天天气不错, 正在压马路...... 突然发现一个快乐的地方: 网吧");
- int age = 19;
- if (age>= 18) { // go 中不用写括号
- System.out.println("进入网吧, 开始 high!");
- System.out.println("遇到了一群猪队友, 开始骂街.");
- System.out.println("感觉不爽, 结账走人.");
- }
- System.out.println("回家吃饭");
- }
- }
2.2 if 双分支
- // 标准的 if-else 语句
- public class Demo03IfElse {
- public static void main(String[] args) {
- int num = 666;
- if (num % 2 == 0) { // 如果除以 2 能够余数为 0, 说明是偶数
- System.out.println("偶数");
- } else { // go 中 else 不能写到下面去, 且 go 中不用写分号 (写上也不会报错), 编译器会自动补上
- System.out.println("奇数");
- }
- }
- }
2.3 多分支
- public class Demo05IfElsePractise {
- public static void main(String[] args) {
- int score = 120;
- if (score>= 90 && score <= 100) {
- System.out.println("优秀");
- } else if (score>= 80 && score <90) {
- System.out.println("好");
- } else if (score>= 70 && score <80) {
- System.out.println("良");
- } else if (score>= 60 && score <70) {
- System.out.println("及格");
- } else if (score>= 0 && score < 60) {
- System.out.println("不及格");
- } else { // 单独处理边界之外的不合理情况
- System.out.println("数据错误");
- }
- }
- }
- 3. switch
- public class Demo07Switch {
- public static void main(String[] args) {
- int num = 10;
- switch (num) {
- case 1:
- System.out.println("星期一");
- break;
- case 2:
- System.out.println("星期二");
- break;
- case 3:
- System.out.println("星期三");
- break;
- case 4:
- System.out.println("星期四");
- break;
- case 5:
- System.out.println("星期五");
- break;
- case 6:
- System.out.println("星期六");
- break;
- case 7:
- System.out.println("星期日");
- break;
- default:
- System.out.println("数据不合理");
- break; // 最后一个 break 语句可以省略, 但是强烈推荐不要省略
- }
- }
- }
3.1 注意事项
- /*
- switch 语句使用的注意事项:
- 1. 多个 case 后面的数值不可以重复.
- 2. switch 后面小括号当中只能是下列数据类型:
- 基本数据类型: byte/short/char/int
- 引用数据类型: String 字符串, enum 枚举
- 3. switch 语句格式可以很灵活: 前后顺序可以颠倒, 而且 break 语句还可以省略.
- "匹配哪一个 case 就从哪一个位置向下执行, 直到遇到了 break 或者整体结束为止."
- */
- public class Demo08SwitchNotice {
- public static void main(String[] args) {
- int num = 2;
- switch (num) {
- case 1:
- System.out.println("你好");
- break;
- case 2:
- System.out.println("我好");
- // break;
- case 3:
- System.out.println("大家好");
- break;
- default:
- System.out.println("他好, 我也好.");
- break;
- } // switch
- }
- }
4. for 循环
- /*
- 循环结构的基本组成部分, 一般可以分成四部分:
- 1. 初始化语句: 在循环开始最初执行, 而且只做唯一一次.
- 2. 条件判断: 如果成立, 则循环继续; 如果不成立, 则循环退出.
- 3. 循环体: 重复要做的事情内容, 若干行语句.
- 4. 步进语句: 每次循环之后都要进行的扫尾工作, 每次循环结束之后都要执行一次.
- */
- public class Demo09For {
- public static void main(String[] args) {
- for (int i = 1; i <= 100; i++) {
- System.out.println("我错啦! 原谅我吧!" + i);
- }
- System.out.println("程序停止");
- }
- }
- 5. while
- /*
- while 循环有一个标准格式, 还有一个扩展格式.
- 标准格式:
- while (条件判断) {
- 循环体
- }
- 扩展格式:
- 初始化语句;
- while (条件判断) {
- 循环体;
- 步进语句;
- }
- */
- public class Demo10While {
- public static void main(String[] args) {
- for (int i = 1; i <= 10; i++) {
- System.out.println("我错啦!" + i);
- }
- System.out.println("=================");
- int i = 1; // 1. 初始化语句
- while (i <= 10) { // 2. 条件判断
- System.out.println("我错啦!" + i); // 3. 循环体
- i++; // 4. 步进语句
- }
- }
- }
5.1 死循环
- /*
- 永远停不下来的循环, 叫做死循环.
- 死循环的标准格式:
- while (true) {
- 循环体
- }
- */
- public class Demo16DeadLoop {
- public static void main(String[] args) {
- while (true) {
- System.out.println("I Love Java!");
- }
- // System.out.println("Hello");
- }
- }
- 6. do while
- /*
- do-while 循环的标准格式:
- do {
- 循环体
- } while (条件判断);
- 扩展格式:
- 初始化语句
- do {
- 循环体
- 步进语句
- } while (条件判断);
- */
- public class Demo11DoWhile {
- public static void main(String[] args) {
- for (int i = 1; i <= 10; i++) {
- System.out.println("原谅你啦! 起来吧! 地上怪凉!" + i);
- }
- System.out.println("===============");
- int i = 1; // 1. 初始化语句
- do {
- System.out.println("原谅你啦! 起来吧! 地上怪凉!" + i); // 3. 循环体
- i++; // 4. 步进语句
- } while (i <= 10); // 2. 条件判断
- }
- }
- // do 死循环
- int i = 1; // 1. 初始化语句
- do {
- System.out.println("原谅你啦! 起来吧! 地上怪凉!" + i); // 3. 循环体
- //i++; // 4. 步进语句
- } while (true); // 2. 条件判断
7. 三种循环的区别
- /*
- 三种循环的区别.
- 1. 如果条件判断从来没有满足过, 那么 for 循环和 while 循环将会执行 0 次, 但是 do-while 循环会执行至少一次.
- 2. for 循环的变量在小括号当中定义, 只有循环内部才可以使用. while 循环和 do-while 循环初始化语句本来就在外面, 所以出来循环之后还可以继续使用.
- */
- public class Demo13LoopDifference {
- public static void main(String[] args) {
- for (int i = 1; i < 0; i++) {
- System.out.println("Hello");
- }
- // System.out.println(i); // 这一行是错误写法! 因为变量 i 定义在 for 循环小括号内, 只有 for 循环自己才能用.
- System.out.println("================");
- int i = 1;
- do {
- System.out.println("World");
- i++;
- } while (i < 0);
- // 现在已经超出了 do-while 循环的范围, 我们仍然可以使用变量 i
- System.out.println(i); // 2
- }
- }
- 8. break/continue
- /*
- break 关键字的用法有常见的两种:
- 1. 可以用在 switch 语句当中, 一旦执行, 整个 switch 语句立刻结束.
- 2. 还可以用在循环语句当中, 一旦执行, 整个循环语句立刻结束. 打断循环.
- 关于循环的选择, 有一个小建议:
- 凡是次数确定的场景多用 for 循环; 否则多用 while 循环.
- */
- public class Demo14Break {
- public static void main(String[] args) {
- for (int i = 1; i <= 10; i++) {
- // 如果希望从第 4 次开始, 后续全都不要了, 就要打断循环
- if (i == 4) { // 如果当前是第 4 次
- break; // 那么就打断整个循环
- }
- System.out.println("Hello" + i);
- }
- }
- }
- /*
- 另一种循环控制语句是 continue 关键字.
- 一旦执行, 立刻跳过当前次循环剩余内容, 马上开始下一次循环.
- */
- public class Demo15Continue {
- public static void main(String[] args) {
- for (int i = 1; i <= 10; i++) {
- if (i == 4) { // 如果当前是第 4 层
- continue; // 那么跳过当前次循环, 马上开始下一次 (第 5 层)
- }
- System.out.println(i + "层到了.");
- }
- }
- }
来源: http://www.bubuko.com/infodetail-3379259.html