& 逻辑与 和 && 短路与 的区别(同理| 和 ||)
&可以进行逻辑运算以及位运算(位运算即 & | ^ ~ >> << >>>)
而&&只能进行逻辑运算
当进行逻辑运算时:
如果&&检测到false 那么false后面的条件就不再执行 直接返回false
而 & 没有短路功能 会执行全部的条件
&的所有条件中只要有一个false就返回false
1 以java8为准 switch支持10种类型
JDK1.0-1.4 数据类型接受 byte short int char;
JDK1.5 数据类型接受 byte short int char enum;
JDK1.7 数据类型接受 byte short int char enum String
基本类型:byte char short int
包装类 :Byte Short Character Integer String enum
2 实际只支持int类型
Java实际只能支持int类型的switch语句 那其他的类型时如何支持的
2.1 基本类型byte char short
原因:这些基本数字类型可自动向上转为int 实际还是用的int
2.2 基本类型包装类Byte Short Character Integer
原因:java的自动拆箱机制 可看这些对象自动转为基本类型
2.3 String类型
原因:实际switch比较的string.hashCode值 它是一个int类型
2.4 enum类型
原因 :实际比较的是enum的ordinal值(表示枚举值的顺序)
它也是一个int类型的
所以也可以说 switch语句只支持int类型
数组静态初始化 有长度 有元素 int[] array = new int[]{10,20,30}; new int[]可省略
动态初始化 有长度 无元素 int[] array = new int[5];
动态初始化数组中不是真的没有元素 整型默认值—-0 浮点型默认—-0.0
字符型默认—-0对应的char值
布尔型默认—-false 引用数据默认—-null