Java分享筆記:初學Java時遇到的兩個小問題

来源:https://www.cnblogs.com/EarthPioneer/archive/2018/06/05/9137873.html
-Advertisement-
Play Games

Java源文件編碼格式不是ANSI時引起的錯誤 & 使用Java包不當引起的錯誤:找不到或無法載入主類,及其解決方法。 ...


  筆者最近在自學Java,由於之前有過較好的C和C++語言的基礎,故學起Java來感覺上手挺快。最近編寫一些小的Java代碼時,遇到了兩個小問題。經過查找資料和親自測試,已得到解決。在這裡將這兩個小問題及其解決辦法分享給各位初學者,以期共同學習進步。

[1] 文件編碼格式不當引起的錯誤

  使用JDK工具對Java源程式進行編譯時,預設的文件編碼格式為ANSI,若編寫的Java源程式文件不符合該編碼格式,則可能出現編譯時報錯。

  筆者習慣使用Notepad++編輯器寫代碼(我想這個代碼編輯器應該受很多程式員的喜愛,若讀者沒有使用過,這裡強烈推薦使用),但是Notepad++預設的文件編碼格式為UTF-8,不符合JDK的預設編碼規則。那麼如果Java源程式中輸出的字元含有中文,在DOS下會顯示編譯錯誤,或者輸出的中文字元顯示為亂碼。

  解決方法:用Notepad++編寫Java程式前,點擊Notepad++第一行菜單欄里的 “編碼”,在下拉菜單中,將編碼格式選中為ANSI即可。此後編譯運行,可正常顯示中文字元。

 

[2] 使用package(包)不當引起的錯誤

  Java中的“打包機制”(package)是為了防止程式多個地方出現相同的名字,而將局部程式限定在一塊的一種機制。如下麵的小代碼:

 1 package pack1;
 2 
 3 public class HelloJava {
 4     static String s1="你好!";
 5     
 6     public static void main(String[] args) {
 7         String s2="Java";
 8         System.out.println(s1);
 9         System.out.println(s2);
10     }
11 }

  程式中第1行定義了一個包pack1,此時若直接使用 javac HelloJava.java 編譯,再使用 java HelloJava 運行,就會出現錯誤:找不到或無法載入主類

  解決方法:編譯時加上參數:javac -d . HelloJava.java  其中-d表示生成目錄,. (句點) 表示在當前文件夾下生成目錄。編譯完後可以看到 HelloJava.java 所在文件夾下生成了新的文件夾 pack1,而編譯後的 .class 文件就在文件夾 pack1 中。運行時,命令也要加上路徑:java pack1.HelloJava 這樣才能運行成功。

 

:以上內容均為筆者親自測試的結果,筆者也希望與各位讀者相互交流,共同學習進步。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我最近發現了一個有意思的CSS樣式庫,和Bootstrap相似,但是它是專門的一個高度可定製的,免費的並且開源的按鈕CSS樣式庫,這裡附上它的網址:http://www.bootcss.com/p/buttons/ 接下來介紹怎麼使用這個CSS樣式庫,如上圖,進入網址後,點擊下載,會出現一個全是代碼 ...
  • 摘要 性能優化涉及面很廣。一般而言,性能優化指降低響應時間和提高系統吞吐量兩個方面,但在流量高峰時候,性能問題往往會表現為服務可用性下降,所以性能優化也可以包括提高服務可用性。在某些情況下,降低響應時間、提高系統吞吐量和提高服務可用性三者相互矛盾,不可兼得。例如:增加緩存可以降低平均響應時間,但是處 ...
  • 說到提高檢索效率,就必然提到索引。今天就來為大家講述搜索引擎中最常見的索引方式——倒排索引。 ...
  • 恢復內容開始 從上個隨筆停止的地方開始,我們將設置資料庫,創建第一個模型。並快速介紹django自動生成的管理站點。 資料庫設置: 打開文件mysite/settings.py 預設情況下,配置使用SQLite。這是新手最簡單的選擇。 雖然你不暫時不用其他資料庫,但是還是要說明一下的: ENGINE ...
  • 1. 什麼是偽共用 CPU 緩存系統中是以緩存行(cache line)為單位存儲的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多線程情況下,如果需要修改“共用同一個緩存行的變數”,就會無意中影響彼此的性能,這就是偽共用(False Sharing)。 ...
  • 今天是 Github 嫁入豪門的第 2 天,炒得沸沸揚揚的微軟 Github 收購事件於昨天(06月04日)塵埃落定,微軟最終以 75 億美元正式收購 Github。 隨後,Gitlab 趁勢帶了一波節奏,在其官網上祝賀 Github 被微軟收購,並表示此次收購代表著軟體開發者的影響力的日漸增長,將 ...
  • ​ Web程式開發中最重要的莫過於關係型資料庫,即SQL 資料庫,另外文檔資料庫(如 mongodb)、鍵值對資料庫(如 redis)慢慢變得流行. 原因 : 我們不直接使用這些資料庫引擎提供的 Python 包,而是使用對象關係映射(Object Relational Mapper, ORM)框架 ...
  • LAMP環境搭建的博客,在提交內容的時候TP5框架報了一個錯誤,Call to undefined function imagecreatefrompng(); 出現這個問題一般都是GD庫未正確安裝或配置,在伺服器上查詢是否安裝輸入命令: 原來是沒有安裝GD庫,在centOS系統上安裝GD庫可以直接 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...