当前位置: 首页 > 知识库问答 >
问题:

为什么两个变量可以同名?[重复]

陆宏壮
2023-03-14

我执行以下代码,没有错误,在输出中我看到了成功!消息。你能解释一下这种奇怪的行为吗?

public class Main {

    public static void main(String[] args) {
        int р = 0;
        int p = 1;
        if(р == 0 && p == 1) {
            System.out.println("Success!");
        }

    }

你可以查看在线演示

共有1个答案

闻人和歌
2023-03-14

两者都是不同的变量(但看起来很相似),可以看出UTF-16是不同的

    int р = 0;
    int p = 1;
    if (р == 0 && p == 1) {
        System.out.println("Success!");
        System.out.println("p UTF-16 is " + (int) 'p');
        System.out.println("р UTF-16 is " + (int) 'р');
    }

输出

Success!
p UTF-16 is 112
р UTF-16 is 1088
 类似资料:
  • 我有两个接近1000大小的整数向量,我要做的是检查这两个向量的平方整数和是否相同。所以我编写以下代码:

  • 问题内容: 我试图了解变量如何在python中工作。说我有一个对象存储在变量中: 如果我分配给,则它们都指向同一个对象: 但是,如果我重新分配或,那就不再正确了: 这两个变量现在具有不同的值: 我不明白为什么变量现在不同。为什么不再是真的?有人可以解释发生了什么吗? 问题答案: Python具有引用 对象的 名称 。对象与名称分开存在,名称与它们引用的对象分开存在。 __ 在为“名称分配名称”时,

  • 问题内容: 我在程序中看到了与程序中此特定循环相关的不同行为,但我不确定我为什么理解它的行为方式。 的输出是 的输出是 我去网上看了以下内容 在切片上进行测距时,每次迭代都会返回两个值。第一个是索引,第二个是该索引处的元素的副本 它说一个副本,这是否意味着它返回了字符串的副本,但这实际上是指向变量的指针?在这种情况下,在循环结束时对will的任何引用都实际上引用了数组中的最后一个元素,例如?这是否

  • 问题 下面的代码显示,当影响一个数组到另一个数组时,这两个数组变得相互依赖。 我想知道为什么这与类型不同,因为如果我们有以下内容: 两个变量和引用的是同一个字符串,所以更改一个会影响另一个。

  • 问题内容: 我正在学习Java,并且我知道您不能将内部范围内声明的变量命名为与外部范围内声明的变量相同的名称,如下所示 但是,我发现以下行为不合法 这不是两次声明的变量吗? 问题答案: 这不是两次声明的变量吗? 不它不是。因为它们都在不同的范围内。函数外部具有 类级别范围, 而 函数内部具有 方法/函数级别范围 。 具有不同作用域的两个变量具有相同的名称是合法的。 请务必阅读第6.3节。JLS 声

  • 声明这样的对象时: 它抛出以下错误: 但是,使用任何其他变量名(例如,)都可以正常工作。为什么?