本文目錄一覽:
- 1、下面的Java程序中輸出結果為什麼是0,請講明一下原因,謝謝
- 2、為什麼運行這段Java代碼後輸出的結果是 0 而不是10?
- 3、java程序,運行結果為0
- 4、java 為什麼執行結果是0 ?應該怎麼改?求解!
- 5、java為什麼輸出是0
- 6、java 為什麼輸出都是0
下面的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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/198371.html