Java中0x12.2p2等于多少

 我来答
DoramiHe
2018-10-23 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25336 获赞数:59550
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
关闭干什么,我写半天一点全没了,你这里定义了一个类Test,int count=9;是该类的成员变量,所谓成员变量就是在类内部,方法或语句块外部定义的变量,所谓局部变量就是方法或语句块内部定义的变量,你还定义了2个方法,count1() 和 count2() ,count1()内部是count=10; 注意这个count指的是谁?指的是类中定义的这个成员变量,Java中使用变量的时候采取的是就近原则,由于这两个方法中都没有定义局部变量count,所以指的就是成员变量count,比如:
public void count1(int count){ count=10; } 或者
public void count1(){ int count; count=10; }
那么里面的count指的就不是成员变量了,就近原则,谁离他近,指的就是谁,ok?
注意:成员变量属于对象,也就是说,成员变量被分配在对象的内部,每一个对象的内部都有各自的成员变量的存储空间。

下面我帮你分析一下你的程序,你这个程序中没有涉及到static的内容,所以我下面所述都是只非static的:
1. main方法是程序的执行入口,从这里开始执行
2. 上来你第一句话就是 Test t=new Test(); new了一个Test对象,new出来的对象位于内存的堆区(heap),其内部有一个自己的成员变量count,值初始化成了9
3. Test t ,t 是在main方法内部声明的,属于局部变量,局部变量被分配在内存的栈区(Stack),t叫做引用变量,其内部存储的是一个地址,通过这个地址就可以准确的找到这个new出来的Test对象,所以说 引用t指向了这个对象,如图
4. 然后是t.count1(); 方法是一种静态的概念,就是一段代码,被放在内存代码区(code segment)
只有调用它的时候,才会动态的分配内存,而且这两个方法都不是静态方法,都是非static的,所以必须要通过对象的引用去调用,t.count1(); t就是对象的引用,方法开始执行,内部是count=10; 这个count上面我说过了,是指的成员变量,成员变量每new出来一个对象,对象的内部都各自有自己的一份,到底是指的哪一份?你通过哪个对象的引用调用的此方法,那么指的就是哪个对象的成员变量,此时是通过t来调用的,所以count只的是刚new出来的Test对象的成员变量,count值又被改成了10,以前是9
然后打印这个count的值, count1=10
5. t.count2(); 方法开始执行,System.out.println(“count2=”+ count); 这个count当然指的也是成员变量count,都是用t调用的,是同一个对对象的count,所以当然也为10
打印出 count2=10
6.最后main方法执行结束了,方法执行结束,为该方法分配的局部变量全部清除,所以t消失了,那么现在没有任何引用指向这个Test对象了,现在这个Test对象,就是Java里面所说的垃圾,等待着垃圾回收。

答案补充
1%2 ,这个叫做 1与2取余,也就是求1和2的余数是几,在整数的除法中,只有能整除与不能整除两种情况,当不能整除时,就产生余数,1除以2,算完了结果得0.5不能整除,上来就先是0,然后别往下算了,1就是余数,比如:5%2 ,上来先是2,然后二二得四,5-4 等于1,然后别往下算了,再算就小数了,这个1就是余数。
福州东方锐智
2025-03-26 广告
Java深度解决方案涉及多个方面。在企业应用开发中,可利用Java的跨平台性、高性能构建稳定系统。针对并发问题,可通过Java内存模型(JMM)及volatile关键字、synchronized同步块等确保线程安全。同时,借助Java的新特... 点击进入详情页
本回答由福州东方锐智提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式