if和switch的主要区别如下:

1)if的括号内的表达式可以分别是布尔类型的合法表达式、可以是所有大于0的正s整数为true,反之为小于等于0的正整数为false、可以是常量、枚举;而switch括号内也符合前面if提到的外,就是当圆括号内为正整数只能是0或1,其它的正整数属于 default范围。这点可以看如下代码:

switch (2) // 除了0和1的其它正整数
   {
   case false: // 对应0
   printf(“false\n”);
   break;
   case true: // 对应1
   printf(“true\n”);
   break;
   default: // 对应非0和1以外的正整数
   printf(“其它\n”);
   break;
   }


  2)尽管if括号内也支持常量、枚举但也是有前提的那就是常量或枚举必须要显式给出相应的数值。而switch则不必;
  3)switch适合处理判断分支较多的情况下(代码可读性好),而if适合处理判断分支较少的情况下(反之代码可读性差,容易出现漏判或重复判断)。

相同点:都是根据判断条件决定是否执行操作。

不同点:if在关系运算和逻辑运算的条件中更加适合;当比较的目标是由一组具体的数值组成更事和使用switch。

**注意:**switch能够使用的类型:baty、short int String enum(枚举) char
例如 :控制台程序:1、注册 2、登陆 3、添加用户 4、查询用户
企业中也有自己的规则:这个企业的都是不同的,还是需要已进入的企业为准,但是大致相同。

swich适合使用在固定值,不能进行逻辑判断,是不支持float 而if适合使用逻辑判断,且里面的内容多样,可以是字符串,数值

**unreachable code :**编译错误,无法到达的代码
这个报错是我在使用while循环的时候遇到的一个问题,就是在使用while(true)的时候代码执行不到下一步导致程序陷入了死循环,
在后面设置一个break的条件进行跳出就可以解决这个问题;

练习: 输入任意一个日期: 包含年月日 , 判断该日期的下一天日期 , 使用if/switch实现

建议:把所有的日期的案例都找到 , 从中间发现规律

java switch和if的区别 switch和if的区别_java switch和if的区别

for循环
语法:
for(表达式1;表达式2;表达式3){
操作
}
执行顺序:
先执行表达式1,在执行表达式2.判断是否满足停止条件,不满足条件时,就执行循环要实现的操作;
在执行表达式3,