Day01-Java基礎

      網友投稿 676 2022-05-30

      Day01-Java

      簡單性、跨平臺性、分布性、安全性、健壯性、平臺獨立與可移植性、多線程、動態性、面向對象的編程語言、支持垃圾自動收集處理等,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用等多個系統中。

      編譯型——c語言

      解釋型——html

      編譯型和解釋型的結合——java

      java運行原理源程序進行編譯形成字節碼文件在一臺電腦進行解釋程序

      java最核心的部分就是虛擬機JVM

      新建Hello.java文件

      public class Hello{ public static void main(String[] args){ System.out.println("Hello Wordld!"); } }

      Day01-Java基礎

      cmd運行javac Hello.java編譯后形成字節碼.class 運行java Hello

      但是對于以上程序需要注意的幾點就是

      1>程序類的定義:類是我們Java中的基本單位,在所有的java程序中都是以類的形式存在的,在java中類的定義有兩種

      public class 類名稱{}:在一個*.java文件中只能有一個public class ,運行時文件名必須和類名一致

      class 類名稱{}:在一個*.java文件里面可以使用class定義多個文件,在編譯之后形成不同的**.class文件

      但是在類名定義的時候有一個約定要求每一個單詞的首字母必須大寫即TestDemo,文件名稱必須與類名稱一致

      2>信息輸出:在屏幕上面輸出的信息有兩種形式一個是輸出換行System.out.println()和輸出不換行System.out.print()

      3>主方法:

      public class DeomTest(){ public static void main(String[] args){ //主方法模板 } }

      即使現在不在.class生成的目錄中也可以執行該目錄下的.class文件,這個時候我們必須通過CLASSPATH來控制SET CLASSPATH=f:\java\javabase\day01

      如果你的classpath設置的目錄很多很亂的話,對我們的程序解釋執行很不方便,采用默認的機制:從當前類所在的路徑進行類的加載,我們可以將CLASSPATH的內容設置為“.”

      CLASSPATH是一個非常重要的概念,但是現在對其有個基本的認識,后期對CLASSPATH有更深的認識。

      單行注釋://注釋內容;

      多行注釋:/注釋內容/”

      文檔注釋:/*文檔注釋標記/

      程序是一個邏輯的集合,所以每一個邏輯體都應該有自己的標記,例如在程序之中應該有一個標記例如:在程序中定義變量、定義常量、定義類名稱和方法名稱都有自己的要求。

      在JAVA中標識符的命令如下:由字母、數字、_、$組成,其中不能以數字開頭、不能使用Java中的保留字(關鍵字)

      個人建議:標識符采用有意義的簡單命名,如student_age、age;

      "$"不要在代碼中,因為其有特殊含義

      在所有的程序之中都會有一個特殊的文本標記得到信息,這樣的信息我們一般稱為叫關鍵字

      但是對于以上的關鍵字有以下幾點說明:

      1.java中有兩個未使用到的關鍵字goto、const;

      2.java中有三個特殊含義的單詞(不算關鍵字):null,true,false;

      3.JDK1.4之后追加了assert關鍵字

      4.DK1.5之后追加了enum關鍵字

      程序就是一場數字游戲。

      基本數據類型:

      |-數值類型:表示整數和小數;

      |-整型:byte、short、int、long -》 默認值是:0;

      |-浮點型:float、double -》 默認值是:0.0;

      |-字符型:char -》默認值是:’\u0000’;

      |-字符串型:stinrg -》默認值是:

      |-布爾型:boolean -》默認值是:false

      引用數據類型:數組、類、接口 -》默認值是:null

      給出幾個使用原則:

      1>描述整形就是要使用int,描述小數就要使用double;

      2>long這種數據類型一般會描述日期時間、內存或文件大小(字節)

      3>如果需要進行編碼轉換或者進行二進制數據傳輸,使用byte(-128~127)

      4>char一般在描述中文的時候使用到

      5>在描述程序邏輯的時候是使用

      關于變量得到命名要求:第一個單詞的字母小寫,而后的每個單詞的首字母大寫,例如maxValue

      public class Hello{ public static void main(String[] args){ int maxValue = Integer.MAX_VALUE; //取得最大值 int minValue = Integer.MIN_VALUE; //取得最小值 System.out.println(maxValue); //2147483647 System.out.println(minValue); //-2147483648 System.out.println(maxValue +1); //數據溢出 (最小值)2147483647 System.out.println(minValue - 1); //數據溢出 (最大值)-2147483648 } }

      出現該問題:打開記事本-》文件-》另存為-》選擇ANSI編碼保存

      使用long解決int數據溢出的問題

      在使用此類方式處理之前請一定注意一個繼續使用int進行計算的一個問題,計算結果依然會溢出,原因是先進行等號右邊的int類型運算,將運算的結果賦值給long類型,所以說還是會溢出,解決辦法就是,將其中的一個變量類型進行擴充,而擴充有兩種是實現方式:

      |-實現方式一:直接將int變量的內容賦值給long類型變量

      |-實現方式二:直接將某一個int變量直接變為long類型變量

      System.out.println(11 + l1); 面試區分1 和 l的細微差別

      在之前所有的數據類型都有其默認值,但默認值在方法(主方法)聲明中無效

      有兩種解決方案:一種是在是使用前進行賦值,另外一種是定義變量的時候進行賦值。但是在最早版本JDK時會出現問題,推薦使用第二種方式進行賦值。

      double可以保存的數字是最大的,也就是double可以保存全宇宙中最大的有意義的

      而除了double之外的 也可以使用float,但float的范圍小于double,直接聲明float變量時,那么要求在定義的時候進行強制類型轉換,在一個數字后加一個字母’f‘、‘F’、或者在數字前面加個(float)

      既然說到了小數的問題就必須考慮一下整形計算的問題

      用char進行表示,而且賦值使用單引號’'來聲明字符型的字符變量的內容可以與int類型進行轉換。

      char類型的變量變為int類型的變量內容的時候其所包含的就是編碼

      大寫字母AscII(A-Z):65(A)~~90(Z)

      小寫字母AscII(a-z):97(a)~~122(z)

      字符數字(‘0’~‘9’):48(‘0’)~~57(‘9’)

      在其他的語言中可能使用的ASCII編碼,而在java中使用的是UNICODE編碼,正在因為在java中對于字符的特效支持特別好,所有還有另外一類神奇的用法。

      對于布爾型的內容需要說明:在其他語言中由于沒有提供布爾型的數據 ,我們會使用數字來描述布爾型,例如0表示false,非0表示true,但是java中沒有這個概念。

      在字符串中使用了”+“表示兩個字符的內容進行連接;一旦字符串有了”+“,則所有的數據類型都變為String類型。如果這時候想要得到正確的計算結果,那么必須使用我們的”()“解決問題。

      在java中還存在一種叫做轉義字符的概念,幾個常用的轉義字符換行(\n)、制表符(\t)、雙引號(\")、以及單引號(\’)、\(\)。

      |-++變量:++x 先自增再運算,x++ 先運算再自增

      |—變量: --x 先自減再運算,x-- 先運算再自減

      三目運算是一種賦值運算,根據條件進行運算

      數據類型 變量 = 布爾表達式 ? 條件滿足時賦值內容 : 條件不滿足時賦值內容

      例:將兩個變量之中大的內容賦值給新的變量

      大于>、小于<、等于=、不等于!=、等于==,最終的結果都是boolean布爾型

      與&&、或||、非!

      十進制與二進制的轉化,數據除2取余,一直除到0為止,將余數倒序排列。

      移位

      進制

      出錯原因是因為023為八進制 進行進制轉化為十進制 為19

      與操作:

      |-&&:表示邏輯與運算,若干個判斷只要有其中的一個條件為false,后面的不需要再進行判斷,結果為false

      |-&:表示所有的判斷都要執行

      或操作

      |-||:表示邏輯與運算,若干個判斷只要有其中的一個條件為true,后面的不需要再進行判斷,結果為true

      |-|:表示所有的判斷都要執行

      位運算:

      |-&:運算的兩個數據位,只要有一個0,其結果就為0

      |-|:運算的兩個數據位,只要有一個1,其結果就為1

      Java 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:mysqldump備份時的數據一致性問題--single-transaction
      下一篇:效果提升7%、速度增加220%,OCR開源神器PaddleOCR再迎升級
      相關文章
      亚洲国产精品成人精品无码区 | 亚洲最大福利视频| 国产亚洲综合色就色| 亚洲色一色噜一噜噜噜| 亚洲AV成人精品日韩一区18p| 亚洲人成人网站18禁| 国产精品高清视亚洲精品| 亚洲日本久久一区二区va| 亚洲成aⅴ人在线观看| 亚洲国产精品线观看不卡| 亚洲冬月枫中文字幕在线看| 亚洲丰满熟女一区二区v| 亚洲神级电影国语版| 亚洲国产高清在线精品一区| 亚洲日产2021三区在线 | 国产亚洲福利一区二区免费看| 亚洲第一街区偷拍街拍| 色偷偷亚洲男人天堂| gogo全球高清大胆亚洲| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲日韩精品国产3区| 亚洲爆乳成av人在线视菜奈实 | 亚洲阿v天堂在线| 亚洲91av视频| 亚洲欧洲尹人香蕉综合| 亚洲一区中文字幕| 亚洲色成人四虎在线观看| 亚洲第一第二第三第四第五第六| 亚洲a∨无码精品色午夜| 国产偷国产偷亚洲高清在线 | 亚洲日韩人妻第一页| 亚洲乱色熟女一区二区三区丝袜| 久久99国产亚洲高清观看首页| 亚洲av无码国产精品色午夜字幕 | 亚洲AV日韩综合一区| 亚洲精品人成无码中文毛片| 亚洲午夜久久久影院伊人| 亚洲AV人无码综合在线观看| 亚洲视频国产视频| 亚洲精品456人成在线| 色噜噜噜噜亚洲第一|