java基础学习:流程控制--if,switch分支
一.1.顺序结构
2.分支结构
3.循环结构
二.if,switch分支
1.if分支:
2.switch
3.switch使用时注意事项:
package com.itheima.Branch; public class Branch3 { public static void main(String[] args) { //目标:搞清楚switch实用时的几点注意事项 //1.表达式只能是byte,short,int,char,JDK5开始支持枚举,JDK7开始支持String,不支持double,float,long int a=10; double b=1.0; //switch(b){} ncompatible types. Found: 'double', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum' double a1=0.1; double a2=0.2; double a3=a1+a2; System.out.println(a3);//a3为0.30000000000000004 这是java自身计算精度的问题 //2.case给出的值不允许重复,且只能是字面量,不能是变量 int i=20; int d=10; switch(i){ //case d: Constant expression required // break; case 21: break; } //3.正常实用switch的时候,不要忘记写break,否则会出现穿透现象 String week1="周2"; switch (week1){ case"周一": System.out.println("111"); break; case"周2": System.out.println("222"); //break; case"周三": System.out.println("333"); break; case"周4": System.out.println("444"); break; default: System.out.println("不存在"); } //以上代码输出结果为 222 333,因为出现了穿透现象,直接过了break没停下来又继续执行代码了 } }
4.利用switch穿透性来简化代码
package com.itheima.Branch; public class Branch4 { public static void main(String[] args) { String week="周二"; switch (week){ case"周一": System.out.println("埋头苦干,解决bug"); break; case"周二": case"周三": case"周四": System.out.println("请大牛程序员帮忙"); break; case"周五": System.out.println("自己整理代码"); break; case"周六": case"周日": System.out.println("打游戏"); break; default: System.out.println("不存在"); } } }