最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java程序結(jié)構(gòu)與常量變量難點(diǎn)解析

 更新時(shí)間:2021年10月25日 15:43:23   作者:波風(fēng)張三  
JAVA的基本結(jié)構(gòu)就是順序結(jié)構(gòu),除非特別指明,否則就按照順序一句一句執(zhí)行順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的,它是由若干個(gè)依次執(zhí)行的處理步驟組成的,它是任何一個(gè)算法都離不開(kāi)的一種基本算法結(jié)構(gòu)

前言

新征程,進(jìn)入java的學(xué)習(xí)。
給自己定下一個(gè)鐵律:
學(xué)習(xí),刷題。

一、java程序結(jié)構(gòu)

下面先上一個(gè)最簡(jiǎn)單的java程序:

public class HelloWorld{
	public static void main(String[] args){

		System.out.println("hello");
	}
}

接下來(lái),我們分析一下java這個(gè)程序的結(jié)構(gòu)。
首先,Java 區(qū)分大小寫(xiě)。 如果出現(xiàn)了大小寫(xiě)拼寫(xiě)錯(cuò)誤(例如, 將 main 拼寫(xiě)成 Main),程序?qū)o(wú)法運(yùn)行。

又例如(String[] args)中的S要大寫(xiě),我剛寫(xiě)這個(gè)程序就被沒(méi)有大小寫(xiě)的細(xì)節(jié)搞到浪費(fèi)了好多時(shí)間,請(qǐng)大家一定要注意。

關(guān)鍵字 public 稱(chēng)為訪問(wèn)修飾符, 這些修飾符用于控制程序的其他部分對(duì)這段代碼的訪問(wèn)級(jí)別。

關(guān)鍵字 class 表明 Java 程序中的全部?jī)?nèi)容都包含在類(lèi)中。

關(guān)鍵字 class 后面緊跟類(lèi)名。

一個(gè)Java程序的結(jié)構(gòu)由如下三個(gè)部分組成:

1.源文件(擴(kuò)展名為*.java):源文件帶有類(lèi)的定義。類(lèi)用來(lái)表示程序的一個(gè)組件,小程序或許只會(huì)有一個(gè) 類(lèi)。類(lèi)的內(nèi)容必須包含在花括號(hào)里面。
2.類(lèi):類(lèi)中帶有一個(gè)或多個(gè)方法。方法必須在類(lèi)的內(nèi)部聲明。
3.方法:在方法的花括號(hào)中編寫(xiě)方法應(yīng)該執(zhí)行的語(yǔ)句。

【總結(jié)】
類(lèi)存在于源文件里面;方法存在于類(lèi)中;語(yǔ)句存在于方法中。

二、java程序的運(yùn)行

1.運(yùn)行過(guò)程

Java程序運(yùn)行的流程如下圖:

在這里插入圖片描述

所有的Java源代碼(以.java為擴(kuò)展名),通過(guò)Java編譯器javac變成字節(jié)碼,也就是以.class為擴(kuò)展名的文件。然后利用命令Java講對(duì)應(yīng)的字節(jié)碼通過(guò)java虛擬機(jī)(JVM)解釋為特定操作系統(tǒng),如Windows,Linux等能理解的機(jī)器碼,最終Java程序得以運(yùn)行。

在這里插入圖片描述

2.JVM是什么?

JVM就是Java虛擬機(jī)。

我們可以理解為在機(jī)器和編譯程序之間加入了一層抽象的虛擬機(jī)器,這個(gè)虛擬機(jī)器在任何平臺(tái)都提供給編譯一個(gè)共同的接口。

編譯程序只需要面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后由解釋器來(lái)將虛擬機(jī)代碼轉(zhuǎn)換成特定的系統(tǒng)代碼執(zhí)行。

下面解釋兩個(gè)東西:

JRE(Java Runtime Environment):Java運(yùn)行時(shí)環(huán)境,包含了JVM,Java基礎(chǔ)類(lèi)庫(kù)。是使用Java語(yǔ)言編寫(xiě)程序運(yùn)行的所需環(huán)境。
JDK(Java Development Kit):Java開(kāi)發(fā)工具包,提供給Java程序員使用,包含了JRE,同時(shí)還包含了編譯器javac與自帶的調(diào)試工具Jconsole、jstack等。

那么JRE JDK JVM的三者關(guān)系如何?
如圖:

在這里插入圖片描述

三、常量與變量

1. 計(jì)算機(jī)工作原理

說(shuō)到計(jì)算機(jī)原理,就不得不提一個(gè)人——馮·諾依曼。被稱(chēng)為計(jì)算機(jī)之父。

著名的馮·諾伊曼設(shè)計(jì)思想如下:
1、計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備組成。五大部件通過(guò)系統(tǒng)總線(xiàn)連接。

在這里插入圖片描述

【解釋】
當(dāng)輸入設(shè)備向總線(xiàn)輸入指令時(shí),CPU獲取該指令并處理。當(dāng)CPU處理指令時(shí),CPU調(diào)用內(nèi)存儲(chǔ)器的數(shù)據(jù)以便進(jìn)行控制和計(jì)算,最后將計(jì)算結(jié)果發(fā)送給輸出設(shè)備或外存儲(chǔ)器。

當(dāng)內(nèi)存儲(chǔ)器中的數(shù)據(jù)需要從外存儲(chǔ)器中讀取時(shí),外存儲(chǔ)器將數(shù)據(jù)送往總線(xiàn),在CPU的控制下,內(nèi)存儲(chǔ)器再將該數(shù)據(jù)進(jìn)行存儲(chǔ)。

2、計(jì)算機(jī)內(nèi)部采用二進(jìn)制表示指令和數(shù)據(jù)

3、將編好的程序送入內(nèi)存儲(chǔ)器中,讓程序來(lái)指揮計(jì)算機(jī)自動(dòng)逐條取出指令和執(zhí)行指令。其核心是“存儲(chǔ)程序和程序控制”。

2.變量和類(lèi)型

變量是利用聲明的方式,將內(nèi)存中的某個(gè)內(nèi)存塊保留下來(lái)以供程序使用,其內(nèi)的值是可變的。

聲明變量的作用

1、指定在內(nèi)存中分配空間的大小
2、規(guī)定這個(gè)變量所能接受的運(yùn)算

3.變量的命名規(guī)則

1、變量名可由任意順序的大小寫(xiě)字母、數(shù)字、下劃線(xiàn)(_)和美元符號(hào)($)(非常不建議使用)等組成
2、變量名不能以數(shù)字開(kāi)頭
3、變量名不能是Java中的保留關(guān)鍵字

4.變量的作用范圍

作用范圍有時(shí)也稱(chēng)為作用域
按作用范圍劃分,變量分為成員變量和局部變量

【成員變量】
在類(lèi)中定義的變量為成員變量。它的作用范圍是整個(gè)類(lèi)。也就是說(shuō)在這個(gè)類(lèi)中都可以訪問(wèn)到定義的這個(gè)成員變量。

public class HelloWorld{
	static int a=10;//定義一個(gè)成員變量
	public static void main(String[] args){

		int num=10;
		System.out.println("num");
	}
}

【局部變量】
在一個(gè)函數(shù)(或稱(chēng)方法)或函數(shù)代碼塊仲定義的變量稱(chēng)為局部變量,局部變量在函數(shù)或代碼塊被執(zhí)行時(shí)創(chuàng)建,在函數(shù)或代碼塊結(jié)束時(shí)被銷(xiāo)毀。

public class HelloWorld{
	static int a=10;//定義一個(gè)成員變量
	public static void main(String[] args){

		int num=10;//定義一個(gè)局部變量
		System.out.println("num");
	}
}

【注意】局部變量在進(jìn)行取值操作前必須被初始化或賦值操作,否則會(huì)出現(xiàn)編譯錯(cuò)誤!

總結(jié)

數(shù)據(jù)類(lèi)型那一部分的內(nèi)容想了想,還是不要拆開(kāi)來(lái)寫(xiě)博客,于是我打算在整一節(jié)學(xué)完之后,再給大家整理。這次就先整理這么多內(nèi)容。

到此這篇關(guān)于Java程序結(jié)構(gòu)與常量變量難點(diǎn)解析的文章就介紹到這了,更多相關(guān)Java 程序結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?spring?validation?自動(dòng)、手動(dòng)校驗(yàn)

    java?spring?validation?自動(dòng)、手動(dòng)校驗(yàn)

    HibernateValidator簡(jiǎn)化了Java開(kāi)發(fā)中的參數(shù)校驗(yàn)過(guò)程,提供自動(dòng)和手動(dòng)兩種校驗(yàn)方式,通過(guò)引入相關(guān)依賴(lài)并使用@Validated注解,可以實(shí)現(xiàn)自動(dòng)校驗(yàn),手動(dòng)校驗(yàn)則需要使用ValidatorUtils類(lèi),此方法有效減少代碼重復(fù),提高開(kāi)發(fā)效率
    2024-09-09
  • Java8新特性詳解與實(shí)戰(zhàn)分享

    Java8新特性詳解與實(shí)戰(zhàn)分享

    Java 8作為Java語(yǔ)言的一個(gè)重要更新,引入了一系列新特性,這些特性不僅提高了代碼的可讀性和可維護(hù)性,還增強(qiáng)了程序的性能,本文將詳細(xì)介紹Java 8中的幾個(gè)關(guān)鍵使用技巧,并通過(guò)代碼案例來(lái)展示它們的應(yīng)用,需要的朋友可以參考下
    2024-06-06
  • 詳解SpringBoot 發(fā)布ApplicationEventPublisher和監(jiān)聽(tīng)ApplicationEvent事件

    詳解SpringBoot 發(fā)布ApplicationEventPublisher和監(jiān)聽(tīng)ApplicationEvent事

    這篇文章主要介紹了詳解SpringBoot 發(fā)布ApplicationEventPublisher和監(jiān)聽(tīng)ApplicationEvent事件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • java中xml進(jìn)行報(bào)文發(fā)送和解析操作

    java中xml進(jìn)行報(bào)文發(fā)送和解析操作

    這篇文章主要介紹了java中xml進(jìn)行報(bào)文發(fā)送和解析操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 詳解如何在SpringBoot項(xiàng)目中使用統(tǒng)一返回結(jié)果

    詳解如何在SpringBoot項(xiàng)目中使用統(tǒng)一返回結(jié)果

    在一個(gè)完整的項(xiàng)目中,如果每一個(gè)控制器的方法都返回不同的結(jié)果,那么對(duì)項(xiàng)目的維護(hù)和擴(kuò)展都會(huì)很麻煩。因此,本文為大家準(zhǔn)備了SpringBoot項(xiàng)目中使用統(tǒng)一返回結(jié)果的方法,需要的可以參考一下
    2022-10-10
  • 關(guān)于Spring Boot WebSocket整合以及nginx配置詳解

    關(guān)于Spring Boot WebSocket整合以及nginx配置詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot WebSocket整合以及nginx配置的相關(guān)資料,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),相信對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-09-09
  • Intellij idea 代碼提示忽略字母大小寫(xiě)和常用快捷鍵及設(shè)置步驟

    Intellij idea 代碼提示忽略字母大小寫(xiě)和常用快捷鍵及設(shè)置步驟

    這篇文章主要介紹了Intellij idea 代碼提示忽略字母大小寫(xiě)和常用快捷鍵及設(shè)置步驟,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 解決Spring在Thread中注入Bean無(wú)效的問(wèn)題

    解決Spring在Thread中注入Bean無(wú)效的問(wèn)題

    這篇文章主要介紹了解決Spring在Thread中注入Bean無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Springboot熱加載JAR包的實(shí)現(xiàn)方法

    Springboot熱加載JAR包的實(shí)現(xiàn)方法

    SpringBoot作為一個(gè)開(kāi)發(fā)快速、部署方便的微服務(wù)框架,具有自動(dòng)配置、約定優(yōu)于配置的特點(diǎn),能夠極大地提高開(kāi)發(fā)效率,它提供了豐富的擴(kuò)展點(diǎn),非常適合實(shí)現(xiàn)動(dòng)態(tài)加載Jar包的功能,本文將深入探討如何在SpringBoot應(yīng)用中實(shí)現(xiàn)動(dòng)態(tài)加載Jar包的方案,感興趣的朋友一起看看吧
    2024-04-04
  • Spring Web MVC框架學(xué)習(xí)之配置Spring Web MVC

    Spring Web MVC框架學(xué)習(xí)之配置Spring Web MVC

    這一篇文章講的是Spring Web MVC各部分的配置方法,包括Java代碼配置和XML文件配置以及MVC命名空間的使用方法。
    2017-03-03

最新評(píng)論

南陵县| 蒲江县| 曲周县| 木兰县| 东丽区| 开阳县| 马鞍山市| 绍兴市| 琼结县| 墨玉县| 安宁市| 韶关市| 柯坪县| 论坛| 克东县| 宜君县| 阿拉善左旗| 佛教| 沂水县| 西峡县| 甘洛县| 册亨县| 津市市| 赤水市| 石景山区| 香格里拉县| 日土县| 石首市| 郁南县| 清徐县| 谷城县| 德阳市| 陇川县| 盈江县| 栖霞市| 桃园县| 嘉祥县| 迁安市| 察隅县| 吴川市| 怀来县|