|| (&&) 短路或(与)
a||b 如果a为true 那么b不需要判断
a&&b 如果a为假 那么b不需要判断
| 和 & 非短路与(或)
a||b 如果a为true 那么b也需要判断
a&&b 如果a为假 那么b也需要判断
以上两个的结果基本相同
数组长度为 数组.length
可变参数 数据类型... 参数 接受之后都是以数组的形式保存下来的,所以直接按数组的方式接收即可
foreach 输出语法 : 格式 for(数据类型 变量名称:数组名字)
对象保存在栈内存空间中 具体内容保存在堆内存之中
对象间的引用传递实际上就是对内存空间的使用权
String str1 = "hi";
String str2 = new String("hi");
String str3 = str2;
如果判断str1==str2 (false)
str1==str3(false)
str2==str3(true)
现在使用的判断相等 是判断地址空间是否相等, 判断的是地址的值;
如果判断内容是否相等那么使用equals
方法如下: str1.equals(str2); (true)(区分大小写)
str1.equalsIgnoreCase(str2)(不区分大小写)
String str1 = "hi";
String str2 = "hi";
String str3 = "hi";
如果判断str1==str2 (true)
str1==str3(true)
str2==str3(true)
直接赋值 可以有效地节约内存 如果在堆内存中存在一个“hi”那么以后其他String对象在声明并赋值“hi”的时候他们都指向同一块堆内存
a||b 如果a为true 那么b不需要判断
a&&b 如果a为假 那么b不需要判断
| 和 & 非短路与(或)
a||b 如果a为true 那么b也需要判断
a&&b 如果a为假 那么b也需要判断
以上两个的结果基本相同
数组长度为 数组.length
可变参数 数据类型... 参数 接受之后都是以数组的形式保存下来的,所以直接按数组的方式接收即可
foreach 输出语法 : 格式 for(数据类型 变量名称:数组名字)
对象保存在栈内存空间中 具体内容保存在堆内存之中
对象间的引用传递实际上就是对内存空间的使用权
String str1 = "hi";
String str2 = new String("hi");
String str3 = str2;
如果判断str1==str2 (false)
str1==str3(false)
str2==str3(true)
现在使用的判断相等 是判断地址空间是否相等, 判断的是地址的值;
如果判断内容是否相等那么使用equals
方法如下: str1.equals(str2); (true)(区分大小写)
str1.equalsIgnoreCase(str2)(不区分大小写)
String str1 = "hi";
String str2 = "hi";
String str3 = "hi";
如果判断str1==str2 (true)
str1==str3(true)
str2==str3(true)
直接赋值 可以有效地节约内存 如果在堆内存中存在一个“hi”那么以后其他String对象在声明并赋值“hi”的时候他们都指向同一块堆内存