當我使用參數聲明一個方法時,並且在我的方法中,我爲這些參數賦值,那些參數變成了變量?當我在方法中使用變量時,可以將變量調用到方法的參數中嗎?
我的問題是,我可以這樣說:「當我在方法中使用它時,我的方法的參數也是一個變量」?
例子:
public int returnDays(int month)
{
month = getMonth();
//"Can I say : month is a variable?"
}
當我使用參數聲明一個方法時,並且在我的方法中,我爲這些參數賦值,那些參數變成了變量?當我在方法中使用變量時,可以將變量調用到方法的參數中嗎?
我的問題是,我可以這樣說:「當我在方法中使用它時,我的方法的參數也是一個變量」?
例子:
public int returnDays(int month)
{
month = getMonth();
//"Can I say : month is a variable?"
}
謝謝,如果我在if語句中使用月份(在同一個方法裏面)呢? – tomasfly123
是的,你可以使用it.Please花費一些時間在該鏈接:) –
是的,它被稱爲變量,你可以調用它的變量,你可以使用它。變量在存儲器whoes值名爲佔位符可在程序
在計算機編程來改變一個變量是一個存儲位置,其中包含一些已知的或 未知量的 相關符號名稱(標識符)或信息,一個價值。變量名是 常用的方法來引用存儲的值;將名稱和 內容分開允許名稱獨立於其所代表的確切信息 使用。計算機源代碼中的標識符 可以在運行時綁定到一個值,因此變量的值 因此可以在程序執行過程中更改爲reference。
你有2個問題
我聲明的方法與參數,和我的方法裏面我給你 值這些參數,這些參數變成變量
短回答是他們是變數
我可以調用變量的方法的參數時,我使用它們 我的方法裏
至於你的背景而言是的,你可以使用它們,但在更廣泛的角度看,變量是可以訪問到您內該方法的範圍,你應該read這才進入開發細節
我不完全得到你的問題。是的,「月」是一個變量。但是,我不確定你想通過分配它來實現什麼。 int
類型來自struct
,這意味着它不通過引用傳遞。當您撥打returnDays(x)
時,x
本身未通過,並且其副本已生成。
如果您想要更改其值並返回日期,則需要使用ref
或out
關鍵字。前者基本上通過一個指向x
的指針,它可以用作你的函數。然而,後者更嚴格,並且要求函數初始化通過它的任何值。
所以,這是你最終與
public int ReturnDays(out int month)
{
month = GetCurrentMonth();
return GetDays(month);
}
代碼但儘管如此,我不知道這是否是你想這樣回答的。
首先,這是C#還是Java?每種語言都有自己的偏心。
如果C#使用KappaG3顯示的out語句。
如果Java中,
只使用一個return語句你的函數/法裏:
return getMonth();
如果需要返回多個值,你可以傳遞對象,然後分配給函數內部的那些對象/方法。對象通過引用傳遞,其中原語通過值傳遞。整數是一個對象,但並不像一個你可以從看到:
//
public class Main {
public static void main(String[] args) {
int value1 = 0;
Integer value2 = new Integer(0);
MyObject value3 = (new Main()).new MyObject(0);
passByVal(value1);
passByRef(value2);
passByRef(value3);
System.out.println("value1 = " + value1);
System.out.println("value2 = " + value2);
System.out.println("value3 = " + value3);
}
class MyObject
{
public int value = 0;
public MyObject(int value) { this.value = value; }
@Override
public String toString() {
return value + "";
}
}
public static void passByVal(int i)
{
i = 7;
}
public static void passByRef(Integer i)
{
i = new Integer(7);
}
public static void passByRef(MyObject o)
{
o.value = 7;
}
}
其返回的輸出:
0 0 7
所以如果你需要返回一串數值,我建議傳遞對象或返回專門設計用於容納所有這些值的對象
爲什麼要分配給參數?它是按值傳遞的,所以'returnDays'的調用者不會看到他提供的任何值的變化。該參數不會「變成」任何它不是因爲您的任務而已。引入新的局部變量通常更清楚,而不是更改值參數的值!另外:如果你不打算讀取調用者打擾發送給你的值,在你的場景中有一個參數的原因是什麼? –