== 或 = 相等比较
时间: 2024-06-17 20:06:37 浏览: 11
"=" 用于赋值,将右侧的值赋给左侧的变量或对象,而 "==" 用于比较两个值是否相等。
举个例子,如果我们有以下代码:
```python
x = 5
y = 5
```
这个代码块将 5 赋值给了变量 x 和 y。如果我们想检查这两个变量的值是否相等,我们需要使用相等运算符 "==":
```python
if x == y:
print("x and y are equal")
```
这将输出 "x and y are equal",因为 x 和 y 的值都是 5。
另一方面,如果我们使用赋值运算符 "=" 代替相等运算符 "==":
```python
if x = y:
print("x and y are equal")
```
这将导致错误,因为 "=" 是赋值运算符,而不是相等运算符。
相关问题
public class Main { public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 200; Integer i4 = 200; System.out.println(i1==i2); System.out.println(i3==i4); } }
这段代码输出的结果是:
```
true
false
```
这是因为 Java 在运行时会对 Integer 类型的数值进行缓存,范围在 -128 到 127 之间的数值会被缓存。因此,i1 和 i2 的数值都在缓存范围内,所以它们指向的是同一个对象,比较结果为 true;而 i3 和 i4 的数值超出了缓存范围,所以它们指向的是不同对象,比较结果为 false。如果想要比较 Integer 类型的数值是否相等,应该使用 equals() 方法,而不是使用 == 进行比较。
ArrayList<String> list = new ArrayList<String>(); String s1 = new String("Java"); String s2 = new String("Java"); list.add(s1); list.add(s2); System.out.println((list.get(0) == list.get(1)) + " " + (list.get(0)).equals(list.get(1)));
这段代码创建了一个 ArrayList 对象,其中包含两个 String 类型的对象 s1 和 s2,它们通过 new String() 方法实例化。然后将这两个对象添加到列表中。在输出语句中,首先比较列表中的第一个和第二个元素的引用,它们指向的是不同的对象,因此输出结果为 false。接着,使用 equals() 方法比较两个 String 对象的值,因为它们的值相等,所以输出结果为 true。