JAVA學習 DAY2 java程序運行、注意事項、轉義字符

??本系列可作為JAVA學習系列的筆記,文中提到的一些練習的代碼,小編會將代碼復制下來,大家復制下來就可以練習了,方便大家學習。

點贊關注不迷路!您的點贊、關注和收藏是對小編最大的支持和鼓勵!?


?系列文章目錄

JAVA學習 DAY1 初識JAVA

JAVA學習 DAY2 java程序運行、注意事項、轉義字符

JAVA學習 DAY3 注釋與編碼規范講解?


目錄

?系列文章目錄

前言

一、Java程序運行

1.需求說明

2.?開發步驟

二、注意事項

1.Java源文件與類結構

2.main()方法(程序入口)

3.語法規范

4.其他注意事項

5.關鍵總結

三、轉義字符

1.常用轉義字符

2.使用場景

3.注意事項

4.示例代碼

總結


前言

小編作為新晉碼農一枚,會定期整理一些寫的比較好的代碼,作為自己的學習筆記,會試著做一下批注和補充,如轉載或者參考他人文獻會標明出處,非商用,如有侵權會刪改!歡迎大家斧正和討論!

本系列文章可以作為學習JAVA的筆記使用,本文除了小編的筆記,還整理了 寶藏老師?B站up主:韓順平? 的系列視頻筆記:【零基礎 快速學Java】韓順平 零基礎30天學會Java

一、Java程序運行

1.需求說明

基于sublime,要求開發一個 hello.java 程序,可以輸出 "hello,world!"

關于這里的安裝sublime可以點擊文章:Sublime安裝指導!只需四步!-CSDN博客,進行安裝(有安裝包)

2.?開發步驟

1) Java 代碼編寫到擴展名為 Hello.java 的文件中。

//演示java的開發步驟
//對代碼的相關說明
//1.public class hello 表示hello是一個類,一個public共有的類
//2.hello{ }表示一個類的開始和結束
//3.public statistic void main(String[] args)表示一個主方法,即我們程序的入口
//4.main(){}表示方法的開始和結束
//5.System.out.println("hello,world");表示輸出“hello,world”到屏幕
//6.;表示語句結束
public class hello{//編寫一個main方法public static void main(String[] args){System.out.println("hello,world");}
}

2) 通過 javac 命令對該 java 文件進行編譯,生成 .class 文件。

如果出現上述問題,需要修改文件的編碼形式需要改變,變成GBK,記得保存

我們發現可以進行編譯

3) 通過 java 命令對生成的 class 文件進行運行

二、注意事項

1.Java源文件與類結構

  1. 文件擴展名
    Java源文件以?.java?為擴展名,基本組成單位是類(class)
    示例:Hello.java?文件中必須包含一個?Hello?類。

  2. public類限制

    • 一個源文件中最多一個public類,其他非public類數量不限。
    • 若存在public類,文件名必須與該類名一致(區分大小寫)。

2.main()方法(程序入口)

  1. 固定格式
    Java應用程序的入口是?main()?方法,格式嚴格:
    public static void main(String[] args) { ... }
    ?
    • 可寫在public類或非public類中。
    • 若寫在非public類中,運行時需指定該類名(如?java NonPublicClass)。

3.語法規范

  1. 大小寫敏感
    Java嚴格區分大小寫(如?System?≠?systemargs?≠?Args)。

  2. 語句與分號
    每條語句以?;?結束,例如:

    int num = 10;  // 正確
    System.out.println("Hello") // 錯誤!缺少分號
  3. 大括號配對

    • 代碼塊必須用?{}?包裹,且成對出現
    • 推薦習慣:先寫?{}?再填充內部代碼。
      示例:
    public class Test {  // 先寫外層{}public static void main(String[] args) {  // 再寫內層{}// 代碼邏輯}
    }

4.其他注意事項

  • 非public類的main方法
    若程序入口在非public類中,運行時需顯式指定類名:
    java NonPublicClass  # 即使它不是public類

? 示例代碼

// 文件: Demo.java(必須與public類名一致)
public class Demo {  // public類public static void main(String[] args) {  // 入口方法System.out.println("Hello from public class!");}
}class Helper {  // 非public類public static void main(String[] args) {  // 也可作為入口System.out.println("Hello from non-public class!");}
}

5.關鍵總結

  • 文件與類名一致(針對public類)。
  • main()是唯一入口,可存在于任何類。
  • 語法嚴格:大小寫、分號、大括號均需遵守。

掌握這些基礎規則能避免常見的編譯錯誤,是學習Java的第一步!

三、轉義字符

在Java中,轉義字符(Escape Characters)?是一種特殊的字符序列,用于表示無法直接輸入或具有特殊含義的字符。它們以反斜杠?\?開頭,后跟特定字母或符號。以下是Java中常用的轉義字符及其用途:

1.常用轉義字符

轉義序列含義示例代碼輸出結果
\t水平制表符(Tab)System.out.println("a\tb");a b
\n換行符System.out.println("a\nb");a
b
\r回車符(回到行首)System.out.println("a\rb");b(覆蓋a
\"雙引號System.out.println("\"Hello\"");"Hello"
\'單引號System.out.println("\'Java\'");'Java'
\\反斜杠本身System.out.println("C:\\\\Program Files");C:\\Program Files
\b退格符(刪除前一個字符)System.out.println("a\bc");c(刪除a
\f換頁符(分頁)較少使用,通常用于打印機控制-

2.使用場景

  1. 字符串中的特殊字符
    當需要在字符串中直接包含引號或反斜杠時,必須使用轉義字符:

    String path = "C:\\\\Users\\\\Desktop";  // 正確表示路徑
    String quote = "He said, \"Java is fun!\"";  // 輸出:He said, "Java is fun!"
  2. 格式化輸出
    控制文本的換行、縮進等:

    System.out.println("Line 1\nLine 2\tIndented");
    // 輸出:
    // Line 1
    // Line 2    Indented
  3. 控制文本的換行、縮進等:

    System.out.println("Line 1\nLine 2\tIndented");
    // 輸出:
    // Line 1
    // Line 2    Indented
  4. 正則表達式
    在正則中匹配特殊字符(如?.*)時需轉義:

    String regex = "\\d+";  // 匹配數字

3.注意事項

  • Unicode轉義:Java還支持?\uXXXX?格式的Unicode字符(如?\u0041?表示?'A'),但需在編譯時處理。
  • 原始字符串(Java 15+):從Java 15開始,可用三引號?"""?表示原始字符串(無需轉義大部分字符,但需注意換行符)。

4.示例代碼

public class escapeCharsDemo {public static void main(String[] args) {System.out.println("1. Tab\tSeparated");System.out.println("2. Line 1\nLine 2");System.out.println("3. \"Quoted\"");System.out.println("4. Backslash: C:\\\\");System.out.println("5. a\bc");  // 輸出:c(刪除a)System.out.println("6. 123\b\b45");  // 輸出:145 連續退格(刪除'3'和'2')System.out.println("7. \bHello");  // 輸出:Hello(無變化)退格超出字符串開頭(無效果)System.out.println("ab\rc"); // 輸出:cbSystem.out.println("5. ‘a’\b");  // 輸出:c (刪除a) \b在字符串末尾System.out.println("Hello\b");  // 輸出:Hello(無變化)\b 試圖將光標移動到 'o' 的左側,但由于沒有后續字符可覆蓋,因此看不到任何效果。}}

掌握轉義字符能幫助你更靈活地處理字符串輸出、文件路徑和正則表達式等場景。

總結

以上就是今天要講的內容,本文簡單記錄了java學習的內容,僅作為一份簡單的筆記使用,大家根據注釋理解,您的點贊關注收藏就是對小編最大的鼓勵!

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

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

相關文章

Visual Studio 中的 MD、MTD、MDD、MT 選項詳解

在Visual Studio中開發C++項目時,正確選擇運行時庫(runtime library)對于確保應用程序的性能、穩定性和兼容性至關重要。本文將詳細介紹/MD, /MT, /MDd, 和 /MTd這些編譯器選項的意義、應用場景及其區別。 MSVCRT.dll MSVCRT.dll 是 Microsoft Visual C++ Runtime Library …

EasyRTC嵌入式音視頻通信SDK助力物聯網/視頻物聯網音視頻打造全場景應用

一、方案概述? 隨著物聯網技術的飛速發展,視頻物聯網在各行業的應用日益廣泛。實時音視頻通信技術作為視頻物聯網的核心支撐,其性能直接影響著系統的交互體驗和信息傳遞效率。EasyRTC作為一款成熟的音視頻框架,具備低延遲、高畫質、跨平臺等…

棧的概念以及實現

目錄: 一、棧的概念 二、棧的實現 1.棧的初始化 2.棧的銷毀 3.入棧 4.出棧 5.獲取棧頂數據 6.判斷棧是否為空 7.獲取棧的個數 三、代碼 一、棧的概念 棧是一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。 進行數據插入和刪除操作的一端…

【Bluedroid】藍牙啟動之 SMP_Init 源碼解析

藍牙(安全管理協議,Security Management Protocol)是藍牙設備安全通信的核心協議,負責配對、密鑰協商和安全等級管理。本文圍繞 Bluedroid SMP 協議的初始化流程展開,系統解析其核心控制塊(tSMP_CB)的狀態管理、與 L2CAP 層的接口注冊,以及 P-256 橢圓曲線參數的初始化…

C++課設:考勤記錄系統

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊) 專欄介紹:《編程項目實戰》 目錄 一、項目背景與需求分析1. 傳統考勤管理…

前端面試題之ES6保姆級教程

ES6 核心特性深度解析:現代 JavaScript 開發基石 2015 年發布的 ECMAScript 2015(ES6)徹底改變了 JavaScript 的編程范式,本文將全面剖析其核心特性及最佳實踐 一、ES6 簡介與背景 ECMAScript 6.0(簡稱 ES6&#xff0…

CTF:網絡安全的實戰演練場

文章目錄 每日一句正能量前言一、CTF簡介(一)什么是CTF?(二)CTF的歷史 二、CTF比賽形式(一)線上賽(Online CTF)(二)線下賽(Offline CT…

如何自定義一個 Spring Boot Starter?

導語: 在后端 Java 面試中,Spring Boot 是繞不開的重點,而“如何自定義一個 Starter”作為進階開發能力的體現,常被面試官用于考察候選人的工程架構思維與 Spring Boot 底層掌握程度。本文將帶你深入理解自定義 Starter 的實現邏輯…

大學課程:計算機科學與技術專業主要課程,是否落伍了?

計算機科學與技術 計算機科學與技術(CS)是一門涵蓋理論、系統、應用的綜合學科,其課程體系圍繞“計算機的底層原理、開發方法、技術創新”展開,既包含數學與理論基礎,也涉及工程實踐與前沿技術。以下是主要課程的分類…

docker-部署Nginx以及Tomcat

一、docker 部署Nginx 1、搜索鏡像(nginx) [rootlocalhost /]# docker search nginx Error response from daemon: Get "https://index.docker.io/v1/search?qnginx&n25": dial tcp 192.133.77.133:443: connect: connection refused 簡…

服務器信任質詢

NSURLSession 與 NSURLAuthenticationMethodServerTrust —— 從零開始的“服務器信任質詢”全流程 目標讀者:剛接觸 iOS 網絡開發、準備理解 HTTPS 與證書校驗細節的同學 出發點:搞清楚為什么會有“質詢”、質詢的觸發時機、以及在 delegate 里怎么正確…

MCP協議重構AI Agent生態:萬能插槽如何終結工具孤島?

前言 在人工智能技術快速發展的2025年,MCP(Model Context Protocol,模型上下文協議)正逐漸成為AI Agent生態系統的關鍵基礎設施。這一由Anthropic主導的開放協議,旨在解決AI模型與外部工具和數據源之間的連接難題,被業界形象地稱…

測試 FreeSWITCH 的 mod_loopback

bgapi originate loopback/answer,park/default/inline park inline show channels as xml show calls as xml 有 2 個 channels 有 2 個 calls 比較有意思 在 loopback-a 是播放 wav 在 loopback-b 上可以錄音 這就是回環 有什么用呢? 除了做測試&#x…

三維GIS開發cesium智慧地鐵教程(4)城市白模加載與樣式控制

一、添加3D瓦片 <!-- 核心依賴引入 --> <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"><!-- 模型數據路徑 --> u…

Unity 中的顏色空間

一、顏色空間基本概念疑問 1、什么是顏色空間&#xff1f; 顏色空間是一個數學模型或系統&#xff0c;它定義了一套規則和方法&#xff0c;用來精確地描述、表示和組織顏色。? 可以把它想象成一個三維坐標系?&#xff08;或者有時更多維&#xff09; 每個維度代表一…

Mac下Android Studio掃描根目錄卡死問題記錄

環境信息 操作系統: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日構建) 問題現象 在項目開發過程中&#xff0c;提示一個依賴外部頭文件的cpp源文件需要同步&#xff0c;點…

Python----目標檢測(YOLO簡介)

一、 YOLO簡介 [YOLO](You Only Look Once&#xff09;是一種流行的物體檢測和圖像分割模型&#xff0c; 由華盛頓大學的約瑟夫-雷德蒙&#xff08;Joseph Redmon&#xff09;和阿里-法哈迪&#xff08;Ali Farhadi&#xff09;開發&#xff0c;YOLO 于 2015 年推出&#xff0c…

OLED(SSD306)移植全解-基于IIC

OLED&#xff08;SSD306&#xff09;移植全解-基于IIC 一&#xff0c;什么是oled?二&#xff0c;什么是IIC協議三&#xff0c;IIC通信流程&#xff1a;四&#xff0c;針對SSD1306的IIC通信流程&#xff08;結合芯片手冊版&#xff09;1&#xff0c;主機發送起始信號2&#xff…

LangChain【7】之工具創建和錯誤處理策略

文章目錄 一 LangChain 自定義工具概述二創建自定義工具的三種方法2.1 方法一&#xff1a;tool 裝飾器2.1.1 同步方法案例2.1.2 工具描述方式1&#xff1a;傳參2.1.3 工具描述方式2&#xff1a;文檔字符串 2.2 方法二&#xff1a;StructuredTool類2.2.1 StructuredTool創建自定…

【信息系統項目管理師-選擇真題】2025上半年(第二批)綜合知識答案和詳解(回憶版)

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 【第1題】【第2題】【第3題】【第4題】【第5題】【第6題】【第7題】【第8題】【第9題】【第10題】【第11題】【第12題】【第13題】【第14題】【第15題】【第16題】【第17題】【第18題】【第19題】【第20題】【第…