JAVA基礎教程DAY1-類與方法及形參實參

首先經過C語言的學習,我們已經學會了基本的編程方法,我們知道C語言是面向過程的編程語言,而JAVA是面向對象的編程語言,所以接下來我們通過對比和舉例來進行JAVA語言的學習

首先我們來講類的概念

  • :類是一個模板,它描述一類對象的行為和狀態。

在日常的生活當中,我們把具有相同屬性和行為的一類群體稱之為
例如:有一個學生叫小明,他具有年齡,性別,學號,姓名的屬性和吃東西的行為,另一名學生叫做小方,他也具有年齡,性別,學號,姓名等屬性,吃東西的行為,所以我們可以將這些共有的屬性和行為提取出來,形成一個類,例如學生類(class),而小明,小方則是此類當中的一個對象(object)

  • 對象:對象是類的一個實例,有狀態和行為。例如,一個學生是一個對象,它的狀態有:姓名,學號;行為有:吃東西等。

接下里我們通過c語言的自定義函數來橫向對比學習JAVA當中的方法

#include <stdio.h>int add(int a,int b){return a+b;
}int main(){int n1=3,n2=2;int n=add(n1,n2);printf("%d",n);return 0;
} 

上圖是一個c語言當中的經典的自定義函數,我們來看,第三行自定義一個函數add,返回參數a與b的和,在下面主函數當中,把這個add函數調用,實現n1和n2數值的相加。

方法的概念、作用
方法(method),又稱函數(function),代表一段“獨立的”“可復用”的“功能”代碼。
作用:封裝了一個功能代碼,減少了代碼的冗余。

public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}
}

上圖是java當中的方法的寫法,與c語言也是對應的,我們首先在測試類當中,定義一個add方法,之后再后面的主方法當中調用它,實現兩個數的相加

【修飾符】 返回值類型 方法名(【形參列表】){方法體語句
}

方法必須先聲明再使用
方法調用一次執行一次,不調用不執行
記住:Java程序的入口是main方法

形參實參

接下來我們來講的是方法當中的形參和實參,我們看上面add方法后的括號當中,定義了一個整形變量a和b,在接下來一行中,我們把a和b的值相加并由return返回這個值,這個a和b,我們稱之為形參,顧名思義是一個形式的參數,它的作用就是使得預先設定好在方法當中,調入的值該如何處理;而在主方法當中,我們調用add方法后面參數的n1和n2則是實參,同樣的它們是實際的參數,真正具有值的變量,這條語句的作用就是將實際的值放到我們設定好的方法當中執行。打個比方,客戶要求你做一個兒童滑梯(方法)讓兩個小孩子按照規定路線滑下去,你建好了滑梯,兩個小孩子從滑梯上滑下來完成了需求,滑梯就是形參(預先規定好的路線),小孩子就是實參(實際存在的值,需要方法來實現運算)。

public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}}

在以上Java代碼當中 n1,n2在主函數當中,是實參,在方法add當中的a,b是形參。?

類的使用

我們將有共同屬性的對象抽象為一個學生類,在學生類當中,有學號、姓名等屬性,類就是具備某些共同特征的實體的集合,它是一種抽象的數據類型(它屬于引用數據類型),它是對所具有相同特征實體的抽象。

類當中有
1.屬性 (成員變量) ;
2.行為 (成員方法(函數)) ;

在 Java 中定義類,使用關鍵字 class 完成。語法如下:

權限修飾符 class 類名稱 {屬性 (成員變量) ;行為 (成員方法(函數)) ;
}

例如:定義一個人類class?

public class Person {// 屬性 (成員變量) ;// 行為 (成員方法(函數)) ;
}

public 表示“共有”的意思。如果使用 public 修飾,則可以被其他類和程序訪問。每個 Java 程序的主類都必須是 public 類。

變量

在 Java 中類的成員變量定義了類的屬性。例如,一個人類中一般有體重、性別和年齡等屬性,這時就需要定義體重、性別和年齡 3 個屬性。

  • 局部變量:在類的方法中定義的變量,且只能在該方法中使用,我們之前學習的變量都是局部變量;定義以后必須賦值才能使用;

  • 成員變量:也稱為實例變量,它的定義在方法的外部,直接寫在類當中;隨著對象創建而誕生,隨著對象被垃圾回收而消失;如果是對某個對象的特殊描述,可以用該變量;定義時如果不賦值的話,會采用默認初始值;

  • 靜態變量:也稱為類變量,實質上是一個全局變量。它的定義在方法的外部,直接寫在類當中,與類共存亡,它用 static 修飾,如果某個內容是被所有對象所共享,那么該內容就應該用 static 修飾;定義時如果不賦值的話,會采用默認初始值。

    public class Demo {static int a;     // 類變量int b;     // 實例變量public static void main(String[] args) {int c;     // 局部變量}
    }
    成員方法
  • 在 Java 中類的成員方法定義了類的行為。例如,一般人會有吃飯、睡覺和玩等行為,在定義人的類時,就需要定義吃飯、睡覺和玩 3 個方法。

  • 類的各種功能操作都是用方法來實現的,屬性只不過提供了相應的數據。一個完整的方法通常包括方法名稱、方法主體、方法參數和方法返回值類型。

    成員方法的聲明語法:

  • [權限修飾符] 返回值類型 方法名([參數類型 參數名]) {// 方法體// 返回值
    }

    返回值類型:我們之前學到的八種基本類型和 void 都可以用來做方法的返回值類型。要注意的是 void 表示沒有返回值,所以不需要寫返回值語句,而其他類型都需要返回一個該類型的值。

    返回值語句:

    return 返回的值;
  • 參數類型 參數名:可以有多個,這些參數都要有自己的數據類型,可以是原始數據類型,也可以是復雜數據類型,一個方法主要依靠參數來傳遞消息。方法主體是方法中執行功能操作的語句。

現在我們已經學會了如何建立一個類?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39412.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39412.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39412.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu開通5005端口 記錄

Ubuntu版本&#xff1a;20.04 使用systemctl status firewalld查看防火墻狀態&#xff0c;報錯Unit firewalld.service could not be found 報錯的原因是沒有安裝firewall&#xff0c;安裝命令為sudo apt install firewalld&#xff0c;然后進行安裝 安裝完成后輸入systemctl…

vscode jupyter選擇Python環境時找不到我安裝的Python

在一些情況下&#xff0c;我們需要自己安裝一個Python&#xff0c;在選擇內核是可能找不到指定的Python版本&#xff0c; 再次打開內核選擇頁面就能看到Python環境了 注意先到指定環境下安裝依賴包&#xff1a; ./python3 pip install ipykernel notebook jupyter

人工智能-NLP簡單知識匯總01

人工智能-NLP簡單知識匯總01 1.1自然語言處理的基本概念 自然語言處理難點&#xff1a; 語音歧義句子切分歧義詞義歧義結構歧義代指歧義省略歧義語用歧義 總而言之&#xff1a;&#xff01;&#xff01;語言無處不歧義 1.2自然語言處理的基本范式 1.2.1基于規則的方法 通…

[DataWhale大模型應用開發]學習筆記1-嘗試搭建向量數據庫

1.詞向量 1.定義 詞向量&#xff08;Word Vector&#xff09;是將單詞表示為向量形式的技術&#xff0c;是自然語言處理&#xff08;NLP&#xff09;中的一種常用方法。通過將單詞轉化為向量&#xff0c;計算機能夠更好地理解和處理語言。簡單來說&#xff0c;詞向量就是將單…

Windows系統安裝NVM,實現Node.js多版本管理

目錄 一、前言 二、NVM簡介 三、準備工作 1、卸載Node 2、創建文件夾 四、下載NVM 五、安裝NVM 六、使用NVM 1、NVM常用操作命令 2、查看NVM版本信息 3、查看Node.js版本列表&#xff1b; 4、下載指定版本Node.js 5、使用指定版本Node.js 6、查看已安裝Node.js列…

深度學習賦能數據分析,聯蔚盤云引領業務革新

一、引言 隨著大數據時代的到來&#xff0c;深度學習技術正逐漸成為企業數據分析的新引擎。聯蔚盤云憑借其在深度學習領域的深厚積累&#xff0c;為企業提供高效、精準的數據分析解決方案&#xff0c;助力企業實現業務革新與增長。 二、深度學習與數據分析的完美結合 聯蔚盤…

【區塊鏈+基礎設施】國家健康醫療大數據科創平臺 | FISCO BCOS應用案例

在醫療領域&#xff0c;疾病數據合法合規共享是亟待解決的難題。一方面&#xff0c;當一家醫院對患者實施治療后&#xff0c;若患者轉到其 他醫院就醫&#xff0c;該醫院就無法判斷診療手段是否有效。另一方面&#xff0c;醫療數據屬于個人敏感數據&#xff0c;一旦被泄露或被惡…

一個能讓渲染性能提高100倍的辦法

GPU 光線追蹤是當今的熱門話題&#xff0c;所以讓我們來談談它&#xff01;今天我們將光線追蹤一個單個球體。 使用片段著色器。 是的&#xff0c;我知道。并不特別花哨。你可以在 Shadertoy 上搜索并獲得數百個示例(https://www.shadertoy.com/results?querysphere)。甚至已…

在 Excel 中的單元格內開始一行新文本

若要在工作表單元格中開始一行新的文本或在文本的行或段之間添加間距&#xff0c;請按 AltEnter 插入換行符。 雙擊要插入換行符的單元格。 單擊所選單元格內想換行的位置。 按 AltEnter 插入換行符。

自研直播系統-直播系統實戰

文章目錄 1 流媒體基礎本文教程下載地址1.1 流媒體1.2 流式傳輸方式1.2.1 順序流式傳輸1.2.2 實時流式傳輸 1.3 流媒體傳輸協議1.3.1 rtmp協議1.3.2 HLS協議1.3.3 RTSP協議1.3.4 視頻流的對比 1.4 視頻編碼(codec)1.5 分辨率的規范分辨率簡介&#xff1a;1.5.2 分辨率單位 1.6 …

聊聊etsy平臺,一個年入百萬的項目

聊聊etsy平臺&#xff0c;一個年入百萬的項目 什么是etsy,這是怎樣一個平臺&#xff0c;怎樣盈利的&#xff1f;相信現在大家滿腦子都是這些疑問。 這個平臺也是無意間一個學員提到的&#xff0c;據說他朋友靠這個平臺年賺好幾百萬。苦于門檻太高&#xff0c;他也做不了。今天…

重磅發布|WAIC 2024最新活動日程安排完整發布!

WAIC 2024 將于 7 月在上海世博中心和世博展覽館舉行&#xff0c;論壇時間為 7 月 4 日至 6 日&#xff0c;展覽時間為 7 月 4 日至 7 日。會議涵蓋 AI 倫理治理、大模型、具身智能、投融資、教育人才等重點話題&#xff0c;體現 AI 向善等價值導向&#xff0c;9 位大獎得主和 …

Inscription Alliance的Denim協議發行首個聚合跨鏈銘文BTIA,計劃參與Mint注冊量達15萬

官方消息&#xff0c;由Inscription Alliance自主研發的創新性Denim協議發行首個聚合跨鏈銘文BTIA&#xff0c;并將于2024年7月19日公開Mint。Denim協議旨在解決當下銘文賽道流動性和互通性不足的痛點&#xff0c;基于該協議搭建的Denim Swap可以實現聚合各項協議和各條公鏈的彼…

數據結構常見圖算法

深度優先搜索 時間復雜度 領接矩陣表示 O( n2) 領接表表示 O(n+e) 空間復雜度 O(e) DFS與回溯法類似,一條路徑走到底后需要返回上一步,搜索第二條路徑。在樹的遍歷中,首先一直訪問到最深的節點,然后回溯到它的父節點,遍歷另一條路徑,直到遍歷完所有節點…

代碼隨想錄(回溯)

組合&#xff08;Leetcode77&#xff09; 思路 用遞歸每次遍歷從1-n得數&#xff0c;然后list來記錄是不是組合到k個了&#xff0c;然后這個每次for循環的開始不能和上一個值的開始重復&#xff0c;所以設置個遍歷開始索引startindex class Solution {static List<List<…

榮耀大橫評,睿藍7-450榮耀版卷出來的性價比之王

手握11萬左右預算,如何在市場內選出一輛合適自己的車?榮耀版車型無疑是當下的最佳答案。在眾多榮耀版車型中,比亞迪宋PLUS榮耀版EV520km領先型(后統稱宋PLUS榮耀版)、比亞迪元PLUS榮耀版430km領先型(后統稱元PLUS榮耀版)、比亞迪海豚PLUS榮耀版420km時尚版(后統稱海豚榮耀版)、…

中英雙語介紹美國的州:南卡羅來納州(South Carolina)

中文版 南卡羅來納州簡介 南卡羅來納州&#xff08;South Carolina&#xff09;位于美國東南部&#xff0c;是一個以其豐富的歷史、自然美景和多樣化的經濟而聞名的州。以下是對南卡羅來納州的詳細介紹&#xff0c;包括其地理位置、人口、經濟、教育、文化和主要城市等。 地…

【CSAPP】-binarybomb實驗

目錄 實驗目的與要求 實驗原理與內容 實驗設備與軟件環境 實驗過程與結果&#xff08;可貼圖&#xff09; 操作異常問題與解決方案 實驗總結 實驗目的與要求 1. 增強學生對于程序的機器級表示、匯編語言、調試器和逆向工程等方面原理與技能的掌握。 2. 掌握使用gdb調試器…

Python學習篇:PyCharm的基本使用教程(二)

目錄 1 前言 2 創建Python項目 3 創建Python文件 4 編寫 Hello World 并運行 5 PyCharm界面簡介 1 前言 PyCharm的使用貫穿整個Python的學習&#xff0c;所以單獨拿出來出教程不合適&#xff0c;說多了對于新手來說也還是不明白&#xff0c;這里我們先從學習開始前大家需…

【基礎算法總結】分治—快排

分治—快排 1.分治2.顏色分類3.排序數組4.數組中的第K個最大元素5.庫存管理 III 點贊&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;關注&#x1f496;&#x1f496; 你的支持是對我最大的鼓勵&#xff0c;我們一起努力吧!&#x1f603;&#x1f603; 1.分治 分治…