【JAVA入門】Day13 - 代碼塊

【JAVA入門】Day13 - 代碼塊


文章目錄

  • 【JAVA入門】Day13 - 代碼塊
    • 一、局部代碼塊
    • 二、構造代碼塊
    • 三、靜態代碼塊


????????在 Java 中,兩個大括號 { } 中間的部分叫一個代碼塊,代碼塊又分為:局部代碼塊構造代碼塊靜態代碼塊三種。

一、局部代碼塊

????????寫在方法中的一對單獨大括號叫作局部代碼塊,它的作用是提前結束變量的生命周期。
在這里插入圖片描述
????????變量 a 只能在局部代碼塊中使用,超出這個代碼塊的代碼,將會釋放 a 的內存。

public class CodeBlockDemo1 {public static void main(String[] args) {{int a = 10;}System.out.println(a);  //報錯}
}

????????在上面的例子中,我們手動在 main 方法里添加了一個代碼塊,此時變量 a 在執行完右邊的大括號以后,就會直接從內存中消失,所以之后的 sout 語句報錯。

二、構造代碼塊

????????構造代碼塊可以在類的構造方法之前寫(成員位置),其內部的內容會在對象的構造方法創造之前優先執行。

public class Student {private String name;private int age;{System.out.println("開始創建對象了");  //優先輸出}public Student() {System.out.println("空參構造");}public Student(String name, int age) {System.out.println("有參構造");this.name = name;this.age = age;}
}

三、靜態代碼塊

????????靜態代碼塊使用 static 關鍵字。

  • 格式:static{ }
  • 特點:需要通過 static 關鍵字修飾,隨著類的加載而加載,并且自動觸發、只執行一次。
public class Student {private String name;private int age;//執行時機://隨著類的加載而加載,并且只執行一次。static {System.out.println("靜態代碼塊執行了");}public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

????????需要注意的是,如果要在靜態代碼塊中寫變量,那么變量也應該在外部聲明時用 static 修飾。

public class App {static ArrayList<User> list = new ArrayList<>();static {//添加一些用戶信息list.add(new User("zhangsan","1234qwer","11010120001011234","13112345678"))}
}

????????通過靜態代碼塊,可以給類中的變量賦予默認值(數據初始化),使其在創建時就已經有默認信息。

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

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

相關文章

c++11新特性-3-自動類型推導

文章目錄 自動類型推導1.auto1.1 const修飾1.2 auto不能使用的場景1.3 auto應用場景 2.decltype1.1 基本語法 自動類型推導 1.auto 注意&#xff0c;auto必須進行初始化 auto i 10; //int類型auto k 3.14; //double類型auto db; //錯誤1.1 const修飾 當const修改指針或者…

C++:構造函數是什么東西

一、構造函數是什么 在C中&#xff0c;構造函數是一種特殊成員函數&#xff0c;它有一下幾個明顯的特征&#xff1a; 1、它自動在創建新對象時被調用。 2、其名稱與類名相同&#xff0c; 3、沒有返回類型&#xff0c; 4、通常沒有參數&#xff08;除了默認情況下的隱式thi…

跟《經濟學人》學英文:2024年06月01日這期 The side-effects of the TikTok tussle

The side-effects of the TikTok tussle tussle&#xff1a;美 [?t?s?l] 激烈扭打&#xff1b;爭奪 注意發音 side-effects&#xff1a;副作用&#xff1b;&#xff08;side-effect的復數&#xff09; As the app’s future hangs in the balance, the ramifications of …

MySQL的并發控制、事務、日志

目錄 一.并發控制 1.鎖機制 2.加鎖與釋放鎖 二.事務&#xff08;transactions&#xff09; 1.事物的概念 2.ACID特性 3.事務隔離級別 三.日志 1.事務日志 2.錯誤日志 3.通用日志 4.慢查詢日志 5.二進制日志 備份 一.并發控制 在 MySQL 中&#xff0c;并發控制是確…

都有哪些離線翻譯器軟件?沒網就用這4個

經歷完痛苦的期末考&#xff0c;可算是千盼萬盼等來了日思夜想的暑假&#xff01;趁著這大好時光&#xff0c;怎么能不來一場出國游呢~ 不知道有多少小伙伴和我一樣&#xff0c;出國玩最怕的就是語言不通&#xff0c;不管是吃飯還是游玩體驗感都會大受影響~好在多出國玩了幾趟…

ES6模塊化學習

1. 回顧&#xff1a;node.js 中如何實現模塊化 node.js 遵循了 CommonJS 的模塊化規范。其中&#xff1a; 導入其它模塊使用 require() 方法 模塊對外共享成員使用 module.exports 對象 模塊化的好處&#xff1a; 大家都遵守同樣的模塊化規范寫代碼&#xff…

Linux 時區文件格式【man 5 tzfile】

時區文件格式標準&#xff1a;https://datatracker.ietf.org/doc/html/rfc8536 1. NAME&#xff08;名&#xff09; tzfile - 時區文件。&#xff08;非文本文件&#xff09; 2. DESCRIPTION&#xff08;描述&#xff09; 本頁介紹被 tzset(3) 函數使用的時區文件的結構。這…

006 線程安全

文章目錄 臨界資源線程安全基本概念*何謂競態條件**何謂線程安全* 對象的安全局部基本類型變量局部的對象引用對象成員(成員變量) 不可變性 臨界資源 臨界資源是一次僅允許一個進程使用的共享資源。各進程采取互斥的方式&#xff0c;實現共享的資源稱作臨界資源。屬于臨界資源…

如何使用GPT進行科研:詳細指令指南

如何使用GPT進行科研&#xff1a;詳細指令指南 隨著GPT模型的流行&#xff0c;越來越多的科研人員開始利用這項技術來輔助科學研究&#xff0c;特別是在文本處理任務如論文翻譯、文本潤色和降低抄襲率方面。本文將提供詳細的指令&#xff0c;幫助科研人員有效地使用GPT進行科研…

計算機相關專業入門,高考假期預習指南

一&#xff1a;學習資源推薦 跟著b站的“黑馬程序員”學c&#xff0c;黑馬程序員匠心之作|C教程從0到1入門編程,學習編程不再難_嗶哩嗶哩_bilibili&#xff0c;把這個編程語言基礎打好&#xff0c;然后看“藍橋杯算法”&#xff0c;到了大一直接就能打藍橋杯比賽了 看完上面的 …

TRILL簡介

介紹TRILL的定義及目的。 定義 TRILL(Transparent Interconnection of Lots of Links)是一種把三層鏈路狀態路由技術應用于二層網絡的協議。TRILL通過擴展IS-IS路由協議實現二層路由&#xff0c;可以很好地滿足數據中心大二層組網需求&#xff0c;為數據中心業務提供解決方案…

用數組手搓一個小頂堆

堆默認從數組下標為1開始存儲。 const int N201000; int heap[N]; int len; 插入操作&#xff1a; 將元素插入到堆的末尾位置向上調整。 void up(int k){while(k>1&&heap[k/2]>heap[k]){swap(heap[k],heap[k/2]);k/2;} } //len為當前存在元素長度 void Inser…

水利水庫大壩結構安全自動化監測主要測哪些內容?

在大壩安全自動化監測系統建設中&#xff0c;應根據壩型、壩體結構和地質條件等因素選定監測項目&#xff1b;主要監測對象包括壩體、壩基及有關的各種主要水工建筑物、大壩附近的不穩定岸坡和大壩周邊的氣象環境。深圳安銳科技建議參考下列表格適當調整。 &#xff08;一&am…

計算機網絡(2

計算機網絡續 一. 網絡編程 網絡編程, 指網絡上的主機, 通過不同的進程, 以編程的方式實現網絡通信(或網絡數據傳輸). 即便是同一個主機, 只要不同進程, 基于網絡來傳輸數據, 也屬于網絡編程. 二. 網絡編程套接字(socket) socket: 操作系統提供的網絡編程的 API 稱作 “soc…

(0)2024年基于財務的數據科學項目Python編程基礎(Jupyter Notebooks)

目錄 前言學習目標&#xff1a;學習內容&#xff1a;大綱 前言 隨著數據科學的迅猛發展&#xff0c;其在財務領域的應用也日益廣泛。財務數據的分析和預測對于企業的決策過程至關重要。 本專欄旨在通過Jupyter Notebooks這一強大的交互式計算工具&#xff0c;介紹基于財務的數…

【車載開發系列】常見單片機調試接口的區別

【車載開發系列】常見單片機調試接口的區別 【車載開發系列】常見單片機調試接口的區別 【車載開發系列】常見單片機調試接口的區別一. JTAG協議二. SWD接口三. RDI接口四. 仿真器1&#xff09;J-Link仿真器2&#xff09;ULink仿真器3&#xff09;ST-LINK仿真器 五. SWD / JTAG…

Day05-組織架構-角色管理

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 1.組織架構-編輯部門-彈出層獲取數據2.組織架構-編輯部門-編輯表單校驗3.組織架構-編輯部門-確認取消4.組織架構-刪除部門5.角色管理-搭建頁面結構6.角色管理-獲取數…

MySQL中的DDL語句

第一題 輸入密碼登錄mysql&#xff0c;創建數據庫zoo&#xff0c;轉換到zoo數據庫&#xff0c; mysql> create database zoo character set gbk; mysql> use zoo查看創建數據庫zoo信息 mysql> show create database zoo;刪除數據庫zoo mysql> drop database zo…

【后端面試題】【中間件】【NoSQL】MongoDB查詢優化2(優化排序、mongos優化)

優化排序 在MongoDB里面&#xff0c;如果能夠利用索引來排序的話&#xff0c;直接按照索引順序加載數據就可以了。如果不能利用索引來排序的話&#xff0c;就必須在加載了數據之后&#xff0c;再次進行排序&#xff0c;也就是進行內存排序。 可想而知&#xff0c;如果內存排序…

【居家養老實訓室】:看中醫保健在養老中的應用

本文以居家養老實訓室為視角&#xff0c;深入探討了中醫保健在養老中的應用。通過對中醫保健理念、常用方法以及在居家養老中的具體實踐進行分析&#xff0c;闡述了其在改善老年人健康狀況、提高生活質量方面的重要作用。同時&#xff0c;也指出了目前應用中存在的問題&#xf…