這一節我們學習java語言中的函數概念和定義格式.
簡單的說,函數也就是方法.
那么什么是函數呢?
函數就是定義在類中的具有特定功能的一段獨立小程序.我們可以看到,這里面比較需要注意的詞語,一個就是具有特定功能,另一個就是獨立.
我們知道了函數的概念,那么在java中怎么定義呢?我們先看一個簡單方法的例子.
~~~
//普通方法,有返回值,返回兩上整數的和
public static int add(int a,int b)//沒有static時報錯
{
return a+b;
}
~~~
上面的例子就是一個簡單的函數,返回兩個整數的和.
我們可以看到函數的格式如下:
~~~
修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2,....)
{
執行語句;
return 返回值;
}
~~~
這里面幾個定義注意一下:
返回值類型就是這個函數返回結果的數據類型.
參數類型就是對應形式參數的數據類型.
形式參數是一個變量,用于存儲調用函數時傳給函數的實際參數.
實際參數是傳遞給形式參數的具體數值.
return用于結束語句.
返回值該函數運算后的結果,會返回給調用者.
我們知道,有些函數是不需要返回值的,那么這種情況怎么處理呢?返回值應該怎么體現呢?
在java中返回類型用void關鍵字表示該函數沒有返回值.
注意:如果返回值類型是void,那么函數中的return語句可以省略不寫.
我們看一沒有返回值的小例子
~~~
//沒有返回值的函數
public static void myPrint()
{
System.out.println("Hello Java");
//return ;//這句話可以不寫
}
~~~
上面的這個輸出函數就是一個沒有返回值的函數了,用了void關鍵字.
我們來看一下這兩個小函數是怎么被調用的.
~~~
class FunctionDemo
{
public static void main(String[] args)
{
int a = 3;
int b = 4;
int c = add(a,b);
System.out.println("c="+c);
/*
注意:函數中只能調用函數,不能定義函數
public static void myPrint()
{
System.out.println("hello java");
}
myPrint();
*/
}
//普通方法,有返回值,返回兩上整數的和
public static int add(int a,int b)//沒有static時報錯
{
return a+b;
}
//沒有返回值的函數
public static void myPrint()
{
System.out.println("Hello Java");
//return ;//這句話可以不寫
}
}
~~~
上面的main函數中調用了add函數.同時我們也看到了一個需要我們特別注意的細節:
就是函數中只能調用函數,不能定義函數.
我們看了函數的定義之后,我們就不得不思考,定義函數有什么特點呢?
定義函數可以將功能代碼進行封裝,提高了代碼的復用性,便于對對功能進行復用;
我們總結了3點應該注意的細節:
1.函數中只能調用函數,不能定義函數
2.定義函數時,函數的結果應該返回給調用者,交由調用者處理
3.函數只有被調用才會被執行
- 前言
- 1.1 基本常識
- 1.2 Java語言概述
- 1.3 Java語言的環境搭建
- 1.4 Java程序開發之初體驗--Hello World
- 2.1 關鍵字
- 2.2 標識符
- 2.3 注釋
- 2.4 常量
- 2.5 進制掃盲
- 2.6 變量和數據類型(1)
- 2.7 變量和數據類型(2)
- 2.8 運算符
- 3.1 if語句
- 3.2 switch語句
- 3.3 while和do-while語句
- 3.4 for語句
- 3.5 for循環的嵌套
- 3.6 break語句與continue語句
- 4.1 函數的定義
- 4.2 定義函數的兩個明確
- 4.3 函數的內存加載過程
- 4.4 函數的重載
- 5.1 數組的定義
- 5.2 數組的內存分配及特點
- 5.3 數組操作中常見問題
- 5.4 數組常用操作(1)
- 5.5 數組常用操作(2)
- 5.6 二維數組
- 6.1 面向對象的概述
- 6.2 類與對象的關系
- 6.3 對象的內存體現
- 6.4 成員變量與局部變量
- 6.5 類類型參數與匿名對象
- 6.6 基本數據類型參數與引用數據類型參數的傳遞過程
- 6.7 封裝
- 7.1 構造函數概述與默認構造函數
- 7.2 構造函數與一般函數的區別
- 7.3 構造函數的重載
- 7.4 構造函數的內存加載
- 7.5 構造函數需要注意的幾個細節
- 7.6 this關鍵字的原理
- 7.7 this關鍵字的細節與應用
- 8.1 static關鍵字之特點
- 8.2 成員變量與靜態變量的區別
- 8.3 static關鍵字使用的注意細節
- 8.4 main函數的解析與細節
- 8.5 static關鍵字的使用場景
- 8.6 靜態的內存加載
- 8.7 靜態代碼塊
- 8.8 構造代碼塊
- 9.1 繼承
- 9.2 單繼承與多重繼承
- 9.3 子父類中成員變量特征體現