本文目錄一覽:
- 1、java函數中怎麼用數組做參數?
- 2、Java 函數的 參數 可以是 函數嗎
- 3、用Java方法的參數怎麼傳遞?
- 4、Java中函數參數的傳遞是怎樣進行的?
- 5、java的main()函數的參數是?
- 6、java函數參數和參數類型
java函數中怎麼用數組做參數?
java函數中用數組做參數的步驟:
在main函數裡面加這段話:System.out.println(“arg is”+args[0]),然後看輸出:
This is a simple Java program
arg is XX。
在運行時輸入java test xx yy zz,並且在main函數裡面加這段話:System.out.println(“arg is”+args[0]+” “+args[1]+” “+args[2]),然後看輸出:
This is a simple Java program
arg is xx yy zz。
java函數 :
是一種特殊的函數。其主要功能是用來在創建對象時初始化對象, 即為對象成員變數賦初始值,總與new運算符一起使用在創建對象的語句中。
構造函數與類名相同,可重載多個不同的構造函數。
在JAVA語言中,構造函數與C++語言中的構造函數相同,JAVA語言中普遍稱之為構造方法。
參考資料
埃克爾.Java編程思想.美國:機械工業出版社,2007年06月
Java 函數的 參數 可以是 函數嗎
收先java中沒有函數的概念,C/C++中函數在java中成為方法,方法中的參數也成為形參,在方法的定義中,是不能使用其他方法作為形參的,但是在方法的調用中,是可以使用方法作為參數的,前提是該方法的返回值必須與形參所定義的值類型一致,如下面的實例。
public void getStr(String str){
System.out.println(str);
}
在調用這個方法的時候,可以這樣調用
getStr(“ABC”.subString(0,`1));
其中的參數就是調用了另一個方法。
用Java方法的參數怎麼傳遞?
在 Java 應用程序中永遠不會傳遞對象,而只傳遞對象引用。因此是按引用傳遞對象。Java應用程序按引用傳遞對象這一事實並不意味著 Java 應用程序按引用傳遞參數。參數可以是對象引用,而 Java 應用程序是按值傳遞對象引用的。
1. 對象是按引用傳遞的;
2. Java 應用程序有且僅有的一種參數傳遞機制,即按值傳遞;
3. 按值傳遞意味著當將一個參數傳遞給一個函數時,函數接收的是原始值的一個副本;
4. 按引用傳遞意味著當將一個參數傳遞給一個函數時,函數接收的是原始值的內存地址,而不是值的副本。
Java 應用程序中的變數可以為以下兩種類型之一:引用類型或基本類型。當作為參數傳遞給一個方法時,處理這兩種類型的方式是相同的。兩種類型都是按值傳遞的;沒有一種按引用傳遞。
註:參數是按值而不是按引用傳遞的,說明 Java 應用程序有且僅有的一種參數傳遞機制,即按值傳遞。
Java中函數參數的傳遞是怎樣進行的?
Java中函數參數的傳遞是按值傳遞。
下面證明Java中參數傳遞是完完全全是傳值而不是傳址。
一:
package com.sitinspring;
public class ChangeClass{
public void changeInt(int i){
i=5;
}
public void changeLong(long i){
i=555;
}
public void changeString(String str){
str=”5555″;
}
public void changeMember(Member member){
member=new Member(“Cindy”,35);
}
public void changeMemberField(Member member){
member.setAge(20);
member.setName(“Andy”);
}
public static void main(String[] args){
ChangeClass changeClass=new ChangeClass();
int intValue=10;
changeClass.changeInt(intValue);
System.out.println(intValue);
long longValue=10;
changeClass.changeLong(longValue);
System.out.println(longValue);
String stringValue=”1234″;
changeClass.changeString(stringValue);
System.out.println(stringValue);
Member member2=new Member(“Douglas”,45);
changeClass.changeMember(member2);
System.out.println(member2);
Member member=new Member(“Bill”,25);
changeClass.changeMemberField(member);
System.out.println(member);
}
}
二:
package com.sitinspring;
public class Member{
private String name;
private int age;
public Member(String name,int age){
this.age=age;
this.name=name;
}
public String toString(){
return “Member name=”+name+” age=”+age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
輸出:
10
10
1234
Member name=Douglas age=45
Member name=Andy age=20
解釋:
第一個輸出10是因為int是基本類型,傳遞的參數是intValue的拷貝,對拷貝的修改對原值intValue沒有影響.
第一個輸出10和上面是一個道理.
第三個輸出1234.由於String是類類型, str是stringValue的地址拷貝,參數str指向的地址和stringValue的一致,但在函數changeString 中,由於String的特殊性, str=「5555」和str=new String(「5555」)是等價的, str指向了新的」5555」所在的地址,此句後str就與原來的stringValue徹底脫離了聯繫.
第四個輸出Member?name=Douglas?age=45的道理和上面相同.
第五個輸出Member?name=Andy?age=20是因為changeMemberField函數中修改了參數member 的值,也就是修改member指向實例的值,而這個實例正是member指向的值,因此member就變成了name=Andy 且age=20.
結論:
Java中參數傳遞的都是值,對應基本類型,傳遞的是原值的拷貝;對於類類型,傳遞的是引用即地址的拷貝.
對於函數對參數的改變是否會影響原值的問題:值類型自然不會影響到原值.而對於類類型要看改變的是參數的地址還是值,如果是前者,參數和原引用指向了不同的地址,它們自然脫離了關係;如果是後者,修改的實例就是原引用指向的實例,這當然對原值進行了修改.
java的main()函數的參數是?
這個是運行程序前給它的參數。。
如果你在你程序要用這個參數的話就需要在運行前指定。。
比如java HelloWorld ceshi
那麼在HelloWorld的main方法裡面 args就是
多個的話用空格隔開..
比如java HelloWorld ceshi ceshi1 ceshi2
那麼那麼在HelloWorld的main方法裡面 args就是
也就是說你假如你的程序是這樣的
public class HelloWorld{
public static void main(String[] args) {
System.out.println(args[0]);
}
}
然後你編譯
運行的時候這樣運行
java HelloWorld hello
那麼這個程序就會輸出hello
之所以是Stirng 是因為我們只能以字元串的形式輸入
名字的話隨便取。。只要符合java規定就行
java函數參數和參數類型
比如public static double asd(double a)中的括弧中double 就是參數的類型,而a則是參數,最前面的那個double則是函數的返回類型
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189919.html