本文目錄一覽:
- 1、java定義子函數不能直接交換數組中的元素嗎?
- 2、請問,Java程序中,有主函數跟子函數,不會直接輸出結果,一般要怎麼調用?還有怎麼應用於我的數據,GPR數
- 3、子函數 是什麼意思?
- 4、舉一個子函數是這樣的例子(void test(void)),初學者望細心教導,謝謝
- 5、java中函數的聲明和定義
- 6、Java寫一個自定義函數
java定義子函數不能直接交換數組中的元素嗎?
可以的,你寫的方法不對。
public class SwapArray {
public static void main(String[] args) {
int arr[] = {1,2,3,4,5,6};
print(arr);
swap(arr, 0, 1);
print(arr);
}
public static void swap(int []arr,int x,int y){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
public static void print(int []arr){
for(int a:arr){
System.out.print(a+”\t”);
}
System.out.println();
}
}
結果:
請問,Java程序中,有主函數跟子函數,不會直接輸出結果,一般要怎麼調用?還有怎麼應用於我的數據,GPR數
你理解錯了Java程序結構了。在Java中根本沒有子函數的說法了。
Java中的所有函數都屬於類,沒有高低上下之分。除了兩種函數比較特殊,一個是構造函數,一個是main(String[] args),這個是俗稱的主函數。
一個類,如果擁有形如public static void main(String[] args)形式的函數,那麼使用Java.exe命令執行這個類時,會從這個函數進入執行。反之,沒有這個函數的Java類,是不能被Java.exe命令執行的。
而一些類,是為了充當功能模塊或表達數據的,這時,當前正在執行的代碼可以通過new一個這個類的實例,間接調用了它的構造函數執行;或者,直接調用這個類的static方法;再或者,有了實例後,使用實例調用它的成員方法。
子函數 是什麼意思?
主函數:即程序的入口函數,通常是有main字樣的函數為主函數。程序執行的時候最先調用的是這個函數。
子函數:即用戶可以自定義的函數,其實可以寫到主函數中,但閱讀等很費勁,所以很多代碼提到子函數中實現,讓代碼可讀性很強,更精練。
因此,主函數必須有,且可以調用子函數,這是編程語言決定的。子函數可有可沒有,子函數可以被主函數調用,也可以被其他子函數調用。
如果函數a中調用了函數b,函數b就叫做函數a的子函數
舉一個子函數是這樣的例子(void test(void)),初學者望細心教導,謝謝
String test( String name)
{
String str =”Hello “+name;
return str;
}
函數分主函數和子函數
主函數,一般是指程序入口,比如C語言中的main函數
子函數,就是指用戶自定義函數,可以定義在主函數內,也可以定義在主函數外
函數,主要有4個部分組成,返回值類型,函數名,傳入參數,以及函數體
上面例子
1、test 是函數名
2、test 前面的string 就是返回值類型, 如果沒有返回值 那就寫void 同時函數體內就不需要寫return,如果有返回值,那就必須return ,後面跟的參數類型必須跟返回類型一致。
3、括弧內的就是傳入參數 name,類型是 string,如果沒有傳入參數就不要寫任何東西。你上面寫的是錯誤的。
4、大括弧內的就是函數體,裡面寫函數處理過程。
這是最基礎的。最好買本C語言看看。朋友應該是一點基礎都沒,要系統的學習下
一般先學下C語言,了解下基本的語法和面對過程,
然後學下C++當然直接java和C#也可以。關鍵是要理解面對對象的程序編程。
java中函數的聲明和定義
Java中,我們應該知道最基本的就是定義變量和聲明變量了,那麼定義與聲明這兩者有沒有區別呢?具體的區別又是哪些呢?下面學習啦小編來告訴你定義與聲明的區別。
定義和聲明的定義區別
1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。
2、另一種是不需要建立存儲空間的。 例如:extern int a 其中變量a是在別的文件中定義的。
聲明是向編譯器介紹名字–標識符。它告訴編譯器“這個函數或變量在某處可找到,它的模樣象什麼”。
而定義是說:“在這裡建立變量”或“在這裡建立函數”。它為名字分配存儲空間。無論定義的是函數還是變量,編譯器都要為它們在定義點分配存儲空間。
對於變量,編譯器確定變量的大小,然後在內存中開闢空間來保存其數據,對於函數,編譯器會生成代碼,這些代碼最終也要佔用一定的內存。
總之就是:把建立空間的聲明成為“定義”,把不需要建立存儲空間的成為“聲明”。
基本類型變量的聲明和定義(初始化)是同時產生的;而對於對象來說,聲明和定義是分開的。
下面小編給大家舉個例子說明一下。
例如:類A
如果A a;就是一個聲明,告訴編譯器a是A類的一個對象變量,但是不進行初始化;
如果以後a=new A();這就是初始化,分配了空間。
需要注意的是我們聲明的最終目的是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨聲明的必要,變量是如此,函數也是如此,所以聲明不會分配存儲空間,只有定義時才會分配存儲空間。
用static來聲明一個變量的作用有二:
(1)對於局部變量用static聲明,則是為該變量分配的空間在整個程序的執行期內都始終存在。
(2)外部變量用static來聲明,則該變量的作用只限於本文件模塊。
定義和聲明的具體區別
所謂定義就是(編譯器)創建一個對象,為這個對象分配一塊內存,並給它取上一個名字,這個名字就是就是我們經常所說的變量名或對象名。
聲明有2重含義:
(1) 告訴編譯器,這個名字已經匹配到一塊內存上,下面的代碼用到變量或者對象是在別的地方定義的。聲明可以出現多次。
(2) 告訴編譯器,這個名字已經被預定了,別的地方再也不能用它來作為變量名或對象名。
定義和聲明最重要區別
定義創建對象並為這個對象分配了內存,聲明沒有分配內存。
Java寫一個自定義函數
為了幫助網友解決“java創建自定義函數”相關的問題,中國學網通過互聯網對“java創建自定義函數”相關的解決方案進行了整理,用戶詳細問題包括:; /.println(arrs.這裡是返回最大值
return 8;;/我想自定義getmax函數的話怎麼做
}
public int getMax(){
/.getMax);/,7.outpublic class test{
public static void main(String[] args){
int arrs[] =new int[]{1;
}
}
我想java實現javascript 裡面 prototype 這樣的原型對象,5.,5;
System,1},8,4,具體解決方案如下:
解決方案1:
println(getMax(arrs)); a) a = arrs[i].length; arrs; i
}
public static int getMax(int[] arrs){
int a = 0;
for (int i = 0,7.outpublic class TEST{
public static void main(String[] args){
int[] arrs =new int[]{1;
}
return a,5; i++) {
if(arrs[i] ,5;
System,1},8,4
解決方案2:
謝謝。。我能不能 .length() 這樣的函數自定義創建呢?
解決方案3:
jdk提供一些常用類跟方法方便我們寫程序,自己寫也一樣的
arrs.length Array裡面封裝好的實例屬性
解決方案4:
謝謝!
解決方案5:
7,5;
}
public static void main(String[] args){
int arrs[] =new int[]{1:
public static int getMax(int[] arrs){
/.這裡是返回最大值
return 8;/:
public static void main(String[] args){
int arrs[] =new int[]{1..;
System,4,4; ///,1}.out;
System; /,5,5,5;.,7,8.;我想自定義getmax函數的話怎麼做
}
改為public int getMax(){
/,1}.out;;/.getMax),8.這裡是返回最大值
return 8;
}
改為.println(getMax(arrs)).println(arrs
解決方案6:
方法沒有修飾符的例子:
String getName(){ //無修飾符,無參數,有String類型返回值
return “張3”;
}
void getName(){ //無修飾符,無參數,無返回值
system.out.println(“張3”);
}
int add(int a,int b){ //無修飾符,有2個整型參數,有整型返回值
return a+b;
}
方法有2種修飾符
1)有public、protected、private三種顯示的訪問控制修飾符
2)還可以有static 、 final 、abstract 這三個修飾符
方法含有修飾符的例子:
public String getName(){ //public修飾符(公有方法),無參數,有String類型返回值
return “張3”;
}
private void getName(){ //無修飾符(私有方法),無參數,無返回值
system.out.println(“張3”);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206191.html