前言
新征程,進入java的學習。
給自己定下一個鐵律:
學習,刷題。
一、java程序結構
下面先上一個最簡單的java程序:
public class HelloWorld{ public static void main(String[] args){ System.out.println("hello"); } }
接下來,我們分析一下java這個程序的結構。
首先,Java 區分大小寫。 如果出現了大小寫拼寫錯誤(例如, 將 main 拼寫成 Main),程序將無法運行。
又例如(String[] args)中的S要大寫,我剛寫這個程序就被沒有大小寫的細節搞到浪費了好多時間,請大家一定要注意。
關鍵字 public 稱為訪問修飾符, 這些修飾符用于控制程序的其他部分對這段代碼的訪問級e。
關鍵字 class 表明 Java 程序中的全部內容都包含在類中。
關鍵字 class 后面緊跟類名。
一個Java程序的結構由如下三個部分組成:
1.源文件(擴展名為*.java):源文件帶有類的定義。類用來表示程序的一個組件,小程序或許只會有一個 類。類的內容必須包含在花括號里面。
2.類:類中帶有一個或多個方法。方法必須在類的內部聲明。
3.方法:在方法的花括號中編寫方法應該執行的語句。
【總結】
類存在于源文件里面;方法存在于類中;語句存在于方法中。
二、java程序的運行
1.運行過程
Java程序運行的流程如下圖:
所有的Java源代碼(以.java為擴展名),通過Java編譯器javac變成字節碼,也就是以.class為擴展名的文件。然后利用命令Java講對應的字節碼通過java虛擬機(JVM)解釋為特定操作系統,如Windows,Linux等能理解的機器碼,最終Java程序得以運行。
2.JVM是什么?
JVM就是Java虛擬機。
我們可以理解為在機器和編譯程序之間加入了一層抽象的虛擬機器,這個虛擬機器在任何平臺都提供給編譯一個共同的接口。
編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來將虛擬機代碼轉換成特定的系統代碼執行。
下面解釋兩個東西:
JRE(Java Runtime Environment):Java運行時環境,包含了JVM,Java基礎類庫。是使用Java語言編寫程序運行的所需環境。
JDK(Java Development Kit):Java開發工具包,提供給Java程序員使用,包含了JRE,同時還包含了編譯器javac與自帶的調試工具Jconsole、jstack等。
那么JRE JDK JVM的三者關系如何?
如圖:
三、常量與變量
1. 計算機工作原理
說到計算機原理,就不得不提一個人――馮?諾依曼。被稱為計算機之父。
著名的馮?諾伊曼設計思想如下:
1、計算機由運算器、控制器、存儲器、輸入設備、輸出設備組成。五大部件通過系統總線連接。
【解釋】
當輸入設備向總線輸入指令時,CPU獲取該指令并處理。當CPU處理指令時,CPU調用內存儲器的數據以便進行控制和計算,最后將計算結果發送給輸出設備或外存儲器。
當內存儲器中的數據需要從外存儲器中讀取時,外存儲器將數據送往總線,在CPU的控制下,內存儲器再將該數據進行存儲。
2、計算機內部采用二進制表示指令和數據
3、將編好的程序送入內存儲器中,讓程序來指揮計算機自動逐條取出指令和執行指令。其核心是“存儲程序和程序控制”。
2.變量和類型
變量是利用聲明的方式,將內存中的某個內存塊保留下來以供程序使用,其內的值是可變的。
聲明變量的作用
1、指定在內存中分配空間的大小
2、規定這個變量所能接受的運算
3.變量的命名規則
1、變量名可由任意順序的大小寫字母、數字、下劃線(_)和美元符號($)(非常不建議使用)等組成
2、變量名不能以數字開頭
3、變量名不能是Java中的保留關鍵字
4.變量的作用范圍
作用范圍有時也稱為作用域
按作用范圍劃分,變量分為成員變量和局部變量
【成員變量】
在類中定義的變量為成員變量。它的作用范圍是整個類。也就是說在這個類中都可以訪問到定義的這個成員變量。
public class HelloWorld{ static int a=10;//定義一個成員變量 public static void main(String[] args){ int num=10; System.out.println("num"); } }
【局部變量】
在一個函數(或稱方法)或函數代碼塊仲定義的變量稱為局部變量,局部變量在函數或代碼塊被執行時創建,在函數或代碼塊結束時被銷毀。
public class HelloWorld{ static int a=10;//定義一個成員變量 public static void main(String[] args){ int num=10;//定義一個局部變量 System.out.println("num"); } }
【注意】局部變量在進行取值操作前必須被初始化或賦值操作,否則會出現編譯錯誤!
總結
數據類型那一部分的內容想了想,還是不要拆開來寫博客,于是我打算在整一節學完之后,再給大家整理。這次就先整理這么多內容。
到此這篇關于Java程序結構與常量變量難點解析的文章就介紹到這了,更多相關Java 程序結構內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_46913665/article/details/120693286