首页 > 编程知识 正文

包含java运行结果是0的词条

时间:2023-12-27 22:27:53 阅读:326900 作者:UDHX

本文目录一览:

下面的Java程序中输出结果为什么是0,请讲明一下原因,谢谢

我的看法

Inc inc = new Inc();

int i = 0;

inc.fermin(i);//这里方法不能修改int i这里的i值,毫无疑问,因为java是值传递,所以此事i=0

i = i++;// 首先这一句是分2布完成,第一i=0(操作1); 然后i++(操作2),但是等号优先级最低,所以先执行运算i++,然后执行i=0,所以这个结果始终为i的值0

System.out.println(i);

丛内存角度来考虑,JAVA里面赋值操作是,(假定i为0)

虚拟机先会在内存里面开辟新的区域b存放i的原始值, 假定区域a是i的初始内存位置,

然后完成i++, a里面变为1;

内存b里面还是0,

然后完成赋值操作,将b里面的值交给a,并且释放内存区域b,所以a里面还是0

为什么运行这段Java代码后输出的结果是 0 而不是10?

这里涉及到的是Java的初始化过程;

如上图所示,增加第9行,这样子你就可以看得明白一些了;

基本的初始化过程:首先运行构造方法,然后从第6行开始进行初始化,此时第7行还没有初始化,所以此时 j的值为0,因此i也就为0了;

如果把第6行和第7行的位置互换一下,运行一下 ,估计就能明白了。

java程序,运行结果为0

计算总分和平均分的类classes中,student是新实例,想要算之前输入的,需要通过参数传进去:

class classes

{

//Student student=new Student();

//public int s[]=new int[4];

int sum=0;

public void getTotalScore(Student student)

{

int k;

for(k=0;k=3;k++)

{

sum+=student.score[k];

}

System.out.println("总成绩"+sum);

}

public void getAverage()

{

double ave;

ave=sum/4;

System.out.println("平均成绩"+ave);

}

}

java 为什么执行结果是0 ?应该怎么改?求解!

sum 是一个变量,没有给 sum 赋值,所以是 0。

调用 a.Sum() 可以返回正确的结果。

System.out.println(a.Sum());

或者在构造方法中给 sum 赋值,如下:

this.sum = engsc + mathsc + comsc;

java为什么输出是0

a长度为3,里面有3个0

然后接下来参与运算的都是0了。所以最后结果肯定是0.

主要是你没初始化a里面的值。只是设了个长度为3

java 为什么输出都是0

你的e=5/9  e是double类型,而5和9都为int型

计算最后结果时会自动取整

最简单的解决方法是,乘以一个1.0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。