1 public class TestReturn 2 { 3 4 public static void main(String args[]) 5 { 6 TestReturn t = new TestReturn(); 7 t.test1(); 8 System.out.println(t.test2()); 9 int sum=getSum(4,6); 10 System.out.println("sum="+sum); 11 get(4,5); 12 } 13 14 15 public void test1() 16 { 17 System.out.println("---------無返回值類型的return語句測試--------"); 18 for (int i = 1; ; i++) 19 { 20 if (i == 4) return; 21 System.out.println("i = " + i); 22 } 23 } 24 25 public String test2() 26 { 27 28 return "返回一個字符串"; 29 } 30 31 32 33 public static int getSum(int a,int b) 34 { 35 36 return a+b; 37 38 } 39 40 public static void get(int a,int b) 41 { 42 System.out.println(a+b); 43 return ; 44 } 45 46 47 }
運行結果如圖:
方法的聲明:修飾符 返回類型 方法名稱 (參數...)
返回類型規定了return后面所加的量的類型,如果返回類型聲明為void,則不需要返回值
public static void Main()//程序入口只可以聲明為void和int的返回
{
//不需要返回值就OK
}
public static void mm()
{
return;//有些時候,在void的方法中,你需要跳出它,可以直接用return而不能加任何量在后面
}
public static int cc()
{
return 321;//因為返回類型聲明為int,所以返回一個整數
}
public static string msmsm()
{
return "asdfhasjghdg";//因為返回類型聲明為string,所以返回一個字符串
}
return這個方法在函數中經常用到,而且用法也比較經典.
在下面我就return的用法要注意的地方說明下:
用法1:返回函數值:
例1:我現在編一個計算階層的函數:
function jc(n){
var j=1;
for(var i=0;i<=n;i++){
j*=i;
}
return j;
}
alert(jc(5));
這里計算5!,輸出為120;
這里return的功能為返回函數的值;
例2:我現在編另一個計算階層的函數:
function jc(n){
var j=1;
for(var i=0;;){
j*=++i;
if(i==n){return j;}
}
}
alert(jc(5));
這里計算5!,輸出為120;
這里return的功能為跳出循環並且跳出函數,在返回函數值;
例3:另一個return例子
function cs(n){
if(n==1){retrun 1;}
if(n==2){return;}
else{}
}
說明:當參數為1時函數返回值為1並且跳出函數,
當參數為2時函數返回值為空並且跳出函數,
當函數為其他值時繼續執行函數下面的語句,直到遇到下個return或則全部執行完語句在跳出函數
上面例子說明return可以返回一個函數的值,並且跳出這個函數;
上面的例子只說明了return的常規用途,下面我來說下它必須要注意的一個地方;
return可以返回很多數據類型,到目前為止,我還沒有發現他不能返回什么,呵呵
包括在對dom進行操作的時候,比如,還是舉例子說明;
例4:
<body>
<div id="kk"> aa </div>
</body>
<script>
function cs(ids){
return document.getElementById(ids).firstChild.nodeValue;
}
alert(cs("kk"));
//此時將返回div中的值即aa;
alert(document.getElementById(kk).firstChildnodeValue);
//雖然此時返回div中的值也為aa;
但是它們是不一樣的,知道為什么嗎???
呵呵,在舉例:
document.getElementById(ids).firstChild.nodeValue="bb";
這時div中的值將從aa改成bb;
這個大家都知道,
當cs("kk")="bb";
你猜會不會也將div中的值從aa改成bb呢?
呵呵,這里,你就會明白return過來的對象是不能進行賦值操作的;
就是說cs("kk")="bb";這樣進行賦值是會出錯的,
這里就是我要說的return要注意的問題!!!
更多問題有待研究......
</script>