No_hobby 2020-08-05 17:18 采纳率: 50%
浏览 98

变量作用域问题?为什么?求大佬解答!!!

求大佬解答!!!

public class Test1 {
    private static int i = 0;
    private static int j = 0;

    public static void main(String[] args) {
     int i = 2;
     int k = 3;
        {
             int j = 3;
            System.out.println("i + j is " + (i + j));
        }
        k=i+j;
        System.out.println("k is "+k);
        System.out.println("j is "+j);
    }
        }

为什么 j 进入大括号后被定义并赋值为3后,出来又变为了0

而 i 同属为私有型类变量重新在main方法里赋值了没进大括号,值就变了

图片说明

求大佬解答!!

  • 写回答

6条回答 默认 最新

  • 晓~ 2020-08-05 17:31
    关注

    一个内部的一个外部的,就好像平行宇宙概念,你一个宇宙作威作福,但是另一个宇宙的你还是小白哈哈哈,差不多这个意思,理解就行,一般实操不太会用这种内部变量,容易引起一些问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 C++行情软件的tick数据如何高效的合成K线
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答