Java學習筆記001——入門基礎知識

Java語言是一種高級編程語言,它采用了面向對象編程的思想,具有跨平臺性和安全性等優點。現如今,Java語言成為了世界上最流行的編程語言之一。

前一段學習Python語言,本文是學習java的第一篇筆記。

1. java運行環境搭建:

運行java程序,首先需要安裝Java Development Kit(JDK)。可以從Oracle官方網站下載適合自己操作系統版本的JDK安裝程序,并安裝即可。

我使用的操作系統是Deepin23Beta3,應用市場中提供lOpenJDK(開發套件),點擊安裝即可。

2.編碼工具:

建議使用IntelliJ IDEA 社區版,安裝后,會提升配置JDK,選擇即可,運行編寫的java代碼。

3.編寫第一個Java程序:

Java程序文件以.java作為文件擴展名。其次,Java使用大括號來表示代碼塊,這意味著大括號必須正確匹配,否則會導致程序出錯。接下來,讓我們看看一個簡單的Java程序。

public class test {public static void main(String[] args) {int a,b,c;  // 定義一個變量a,類型為整數a = 5;  // 賦值變量a的值為整數5b = 100;c = a + b;System.out.println(c);  //打印變量a}
}

以上代碼實現的功能很簡單,就是計算并輸入5+100的值105。在Java中,System.out.println()是一個輸出函數,可以在控制臺或命令行中輸出指定的信息。

4.一個Java程序必須至少包含一個類。

Java是一種面向對象的編程語言,它基于類的概念來構建程序。類(Class)是Java的基本構建塊,它定義了對象的屬性(成員變量)和行為(方法)。

一個Java程序可以包含多個類,但必須有至少一個類。當編譯Java程序時,會生成一個或多個.class文件,每個文件對應一個類。在運行時,JVM會加載至少一個類,并且從該類中的一個main()方法開始執行程序。

5.認識Java程序的main()方法:

在Java中,main()?方法是一個特殊的方法,它是程序的入口點。當運行一個Java應用程序時,Java虛擬機(JVM)會尋找名為?main?的方法并從那里開始執行程序。

main()?方法必須遵循以下規則:

  1. 它必須是?public?的,這意味著任何類都可以訪問它。
  2. 它必須是?static?的,這意味著這個方法屬于類本身,而不是類的實例。
  3. 它的返回類型必須是?void,這意味著它不返回任何值。
  4. 它必須接受一個字符串數組參數,通常命名為?args。這個數組包含了從命令行傳遞給程序的參數。

下面是一個典型的?main()?方法的示例:

public class HelloWorld {  public static void main(String[] args) {  System.out.println("Hello, World!");  }  
}

在這個例子中,HelloWorld?類包含了一個?main()?方法。當你運行這個Java程序時,JVM會調用這個?main()?方法,并且執行其中的代碼。在這個例子中,main()?方法中的代碼輸出了一條消息 "Hello, World!" 到控制臺。

要運行這個Java程序,你需要將其保存為一個以?.java?為擴展名的文件(例如?HelloWorld.java),然后使用Java編譯器(javac)編譯它,生成一個或多個?.class?文件。然后,你可以使用Java解釋器(java)來運行編譯后的類,并傳遞任何需要的命令行參數。

例如,在命令行中,在終端窗口,分別輸入下面的命令:

>>>javac HelloWorld.java # 編譯Java源文件,會生成一個HelloWorld.class文件

>>>java HelloWorld # 運行編譯后的類(不需要.class后綴)

6.main()方法中參數String[] args:

在Java編程中,main()?方法的參數?String[]?,即字符串數組。這是Java語言規范所要求的。String[] args?表示?main()?方法接受一個名為?args?的參數,該參數是一個字符串數組。

這個數組包含了從命令行傳遞給Java程序的參數。例如,如果你通過命令行運行以下命令:

>>>java MyProgram arg1 arg2 arg3

那么?args?數組在?main()?方法內部將包含三個元素:args[0]?是?"arg1"args[1]?是?"arg2"args[2]?是?"arg3",在main()函數中可以使用。

請注意,即使你只傳遞了一個參數或沒有傳遞任何參數,args?數組仍然是一個有效的字符串數組。如果沒有傳遞任何參數,args?數組將是空的,但不會是?null

String[] args?是Java應用程序的標準約定,但你也可以選擇使用其他類型的參數或完全省略參數。然而,如果你這樣做,你的程序就不能通過標準的Java命令行方式來接收參數了。

7. 變量和數據類型:

變量可以用來存儲一個值或對象。Java中需要事先聲明變量的類型。Java支持各種數據類型,如整數、浮點數、字符、布爾值等。可以先聲明變量類型,然后賦值;也可以首次定義時候進行初始化賦值。下面是一些示例:

int a;? ? ? // 整數

a = 5;? ? ?// 賦值

int b?= 10; // 定義變量b為整數,并直接賦值

double b = 3.14; // 浮點數

String c = "Hello";// 字符串

boolean d = true; // 布爾值

8.運算符

Java支持各種運算符,包括算術運算符、比較運算符、邏輯運算符等。以下是一些示例:

int a = 10;

int b = 3;

int c = a + b; // 加法(+)

int d = a - b; // 減法(-)

int e = a * b; // 乘法(*)

int f = a / b; // 除法(/)

int g = a % b; // 取模(%)

boolean h = a > b;// 大于(>)

boolean i = a < b;// 小于(<)

boolean j = a == b;// 等于(=)

boolean k = a != b;// 不等于(!=)

boolean l = !a // 取反(!)

boolean m = a && b;// 與運算(&&)

boolean n = a || b;// 或運算(||)

9.控制流語句:

像其他編程語言一樣,Java也有條件語句和循環語句,使得程序能夠根據不同情況執行不同的代碼塊。

if語句是最基本的條件語句,其語法如下:

if (condition) {

statement1;

} else {

statement2;

}

while和for循環語句,它們分別用于循環執行一組代碼塊一定的次數或者迭代一個序列。

while語句的語法如下:

while (condition) {

statement;

}

for語句的語法如下:

for (initialization; condition; update) {

statement;

}

10、函數

在Java中,函數定義以“public static”開始,其后是函數返回類型、函數名、參數列表和函數體等內容。例如:

public static int add(int a, int b) {

return a + b;

}

上面的例子定義了一個名為add()的函數,它的返回值類型為int。參數a和b是傳遞給函數的值。函數體中的return關鍵字用于返回一個值。

11. 類和對象:

在Java中,類是一種自定義數據類型,它包含屬性和行為。對象是類的實例,它具有類的屬性和行為。下面是一個簡單的類和對象的示例:

class Person {String name;int age;void get_message() {System.out.println("哈嘍, 我是 " + name + ", 今年" + age + "歲啦。");}}public class test {public static void main(String[] args) {Person p = new Person();p.name = "Liuzx";p.age = 19;p.get_message();}
}

在上面的示例中,我們定義了一個名為Person的類,它包含name和age兩個屬性,以及get_message()方法。在主函數中,我們創建了一個Person對象,并為其設置了姓名和年齡,然后調用get_message()方法輸出信息。

Java編程中有一個重要的約定:

包含main()方法的類(是程序的入口點),這是Java編譯器的一個要求,Java虛擬機(JVM)在運行時查找main()方法。

總結:

(1)java是面向對象編程語言,所以其文件必須至少是一個類文件,文件后綴是.java。

(2)java程序運行的入口是main()函數,故main()函數是公開的public,靜態的,無返回的,有標準的樣式(public static void main(String[] args) {? })。

(3)在編寫java程序時,可以在一個.java文件中編寫多個類,Java編譯器會把不同的類編譯到不同的.class文件中。不過在使用java 運行Java程序時,需要執行的是有main方法所在的類。如上一段代碼執行的是test類(比如在終端中執行:java test)。

(4)java語法中的行注釋為(//),塊注釋為(/*? */)

(5)java編程中使用一對大括號{}定義一個代碼塊,通常會在左大括號?{?前加一個空格,然后在右大括號?}?后也加一個空格。

(6)在Java編程中,代碼的縮進和空格使用主要是為了提高代碼的可讀性。雖然Java語言本身并沒有明確規定應該使用多少空格進行縮進,但大多數的Java開發者都遵循一些通用的編碼規范。

例如,Google的Java編碼規范推薦使用2個空格進行縮進。這種風格被稱為"Google Style"。然而,也有許多開發者喜歡使用4個空格進行縮進,這種風格被稱為"Allman Style"。

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

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

相關文章

RabbitMQ-TTL/死信隊列/延遲隊列高級特性

文章目錄 TTL死信隊列消息成為死信的三種情況隊列如何綁定死信交換機 延遲隊列RabbitMQ如何實現延遲隊列 總結來源B站黑馬程序員 TTL TTLTTL(Time To Live):存活時間/過期時間當信息到達存活時間后&#xff0c;還沒有被消費&#xff0c;會被自動清除。RabbitMQ可以對消息設置過…

Win10系統如何重置系統

Win10系統如何重置 大家可以使用Win10內建的重設電腦設定&#xff0c;如以下操作&#xff1a; 首先&#xff0c;可以先到桌面左下角的【開始】 選擇【設定】 在【設定】裡找到【更新與安全性】 在左側欄有一項【復原】 在復原的標題下&#xff0c;副標題有一項【重設此電腦】…

【algorithm】算法基礎課---排序算法(附筆記 | 建議收藏)

&#x1f680;write in front&#x1f680; &#x1f4dd;個人主頁&#xff1a;認真寫博客的夏目淺石. &#x1f381;歡迎各位→點贊&#x1f44d; 收藏?? 留言&#x1f4dd; &#x1f4e3;系列專欄&#xff1a;AcWing算法學習筆記 &#x1f4ac;總結&#xff1a;希望你看完…

tvm交叉編譯參考資料整理

環境 ubuntu20.04&#xff0c;ndk交叉編譯部署到adnroid手機 參考&#xff1a; TVM部署神經網絡模型到android端_tvm android-CSDN博客 使用TVM在android中進行Mobilenet SSD部署 - 知乎

深度探析低代碼:助力“數智轉型”賦能中國制造

隨著數字化和智能化技術的飛速發展&#xff0c;我國制造業正面臨著從傳統制造向智能制造的轉型升級。在這個過程中&#xff0c;低代碼技術作為一種創新性的軟件開發模式&#xff0c;逐漸成為助力我國制造業數智轉型的關鍵驅動力。本文將從低代碼技術的原理、應用場景以及在我國…

?The Sandbox的南極之旅|鏈接世界:從南極洲到元宇宙

真正的發現之旅不在于尋找新的景觀&#xff0c;而在于擁有新的眼光。 - 馬塞爾-普魯斯特 在這個數字世界和物理世界日益交織的時代&#xff0c;The Sandbox 的聯合創始人 Arthur Madrid 和 Sebastien Borget 踏上了遠離數字空間的旅程&#xff0c;前往地球上未被開發的寶藏地點…

無用工作、UBI與AI

有些隱晦和黑暗的事實無法陳述&#xff0c;因為任何的系統中“無用”的結局都是被無情的拋棄和淘汰&#xff0c;AI監督下的人類結局更是如此。 什么是無用工作&#xff1f; 無用無效工作通常指的是那些看似忙碌但實際上對社會或個人沒有實質性貢獻的工作。這類工作可能包括以下…

2024環境工程、能源系統與化學材料國際會議(ICEEESCM 2024)

2024環境工程、能源系統與化學材料國際會議&#xff08;ICEEESCM 2024) 一、【會議簡介】 2024環境工程、能源系統與化學材料國際會議&#xff08;ICEEESCM 2024)將于2024年在西安舉行。會議將圍繞環境工程、能源系統與化學材料等議題展開討論&#xff0c;旨在為從事環境工程…

ABB雙語言共享充電寶投資理財源碼/共享充電寶系統源碼/共享充電寶市場分析/五級分銷返利+地圖顯示模式

ABB雙語言共享充電寶投資理財源碼/五級分銷返利地圖顯示模式/vue編譯后前端 測試環境&#xff1a;Linux系統CentOS7.6、寶塔、PHP7.3、MySQL5.6&#xff0c;根目錄public&#xff0c;偽靜態laravel5&#xff0c; 源碼下載&#xff1a;https://download.csdn.net/download/m0_…

人臉高清算法GFPGAN之TensorRT推理

1. 綜述 最近由于做數字人項目&#xff0c;采用的是wav2lip GFPGAN進行人臉面部高清&#xff0c;但GFPGAN模型本身比較大&#xff0c;所以想著使用TensorRT來代替原始的pth推理看看能否提升運行速度&#xff0c;于是便開始了這趟windows1之下進行GFPGAN的trt推理的折騰之旅。…

varFormatter 數據格式化庫 以性能優先的 快速的 內存對象格式轉換

varFormatter 數據格式化 技術 開源技術欄 對象/變量格式化工具庫&#xff0c;其支持將一個對象進行按照 JSON XML HTML 等格式進行轉換&#xff0c;并獲取到結果字符串&#xff01; 目錄 文章目錄 varFormatter 數據格式化 技術目錄介紹獲取方式 使用實例格式化組件的基本使…

圖書推薦||Word文稿之美

讓你的文檔從平凡到出眾&#xff01; 本書內容 《Word文稿之美》是一本全面介紹Word排版技巧和應用的實用指南。從初步認識數字排版到高效利用模板、圖文配置和表格與圖表的排版技巧&#xff0c;再到快速修正錯誤和保護文件&#xff0c;全面系統地講解數字排版的技術和能力&…

靶機滲透之My File Server: 1

Name: My File Server: 1Date release: 21 Feb 2020Author: Akanksha Sachin VermaSeries: My File ServerDownload: https://drive.google.com/uc?id1w0grAomPuFaIohBcUwDiI3QIi4fj4kje&exportdownload 對于vulnhub中的靶機&#xff0c;我們都需先下載鏡像&#xff0c;然…

Redis 在 Linux 系統下安裝部署的兩種方式詳細說明

小伙伴們好&#xff0c;歡迎關注&#xff0c;一起學習&#xff0c;無限進步 Redis安裝和配置 1、首先在官網下載好redis-6.0.9.tar.gzhttp://redis.io/ 或者使用 wget 命令下載&#xff1a;wget http://download.redis.io/releases/redis-6.0.9.tar.gz 2、下載使用上傳到阿里…

Entry First Day 入職恩孚第一天

入職第一天&#xff0c;電腦還沒配置好就去了工廠。 熟悉了一下設備&#xff0c;切了幾個小玩意&#xff0c; hello world 一下。 了解了串行端口的Nodejs的庫 https://github.com/serialport/node-serialport&#xff0c;以后要用這個東西和硬件通訊&#xff0c;安裝&#…

css實現居中

基礎代碼&#xff1a; <div class"box"><div class"content"></div> </div> css實現居中的幾種方式&#xff1a; 1、flex布局&#xff08;水平垂直&#xff09; .box {width: 200px;height: 200px;background-color: pink;disp…

24計算機考研調劑 | 太原理工大學

太原理工大學智能光學實驗室招生2024級碩士研究生 考研調劑招生信息 學校:太原理工 專業:工學->光學工程 工學->儀器科學與技術 工學->軟件工程 工學->計算機科學與技術 工學->控制科學與工程 年級:2024 招生人數:- 招生狀態:正在招生中 聯系方式:**…

大唐杯學習筆記:Day1

1.1 5G移動通信系統 系統整體架構 { 5 G C ( 5 G 核心網 ) N G ? R A N ( 5 G 無線接入網 ) : g N B 、 n g ? e N B 系統整體架構 \begin{cases} 5GC(5G核心網)\\ NG-RAN(5G無線接入網):gNB、ng-eNB \end{cases} 系統整體架構{5GC(5G核心網)NG?RAN(5G無線接入網):gNB、ng?…

分類問題經典算法 | 二分類問題 | Logistic回歸:梯度下降

目錄 一. 損失函數1. 交叉熵損失函數2. 梯度下降 一. 損失函數 Logistic回歸算法公式推導篇中&#xff0c;我們通過對似然函數求對數&#xff0c;得到 l ( θ ) l(\theta ) l(θ)&#xff1a; l ( θ ) l n [ L ( θ ) ] ∑ i 1 M { y ( i ) l n [ h θ ( x ( i ) ) ] ( …

AI智能分析網關V4智慧環保/智慧垃圾站視頻智能分析與監控方案

一、背景介紹 隨著城市化進程的加速&#xff0c;垃圾處理問題日益受到人們的關注&#xff0c;傳統的垃圾站管理方式已經無法滿足現代社會的需求。針對當前垃圾站的監管需求&#xff0c;TSINGSEE青犀可基于旗下視頻智能檢測AI智能分析網關V4與安防監控視頻綜合管理系統EasyCVR平…