Day01-Java
1、Java主要特點
簡單性、跨平臺性、分布性、安全性、健壯性、平臺獨立與可移植性、多執行緒、動態性、面向物件的編程語言、支持垃圾自動收集處理等,可以撰寫桌面應用程式、Web應用程式、分布式系統和嵌入式系統應用等多個系統中,
2、計算機的高級匯編語言型別:
編譯型——c語言
解釋型——html
編譯型和解釋型的結合——java
java運行原理源程式進行編譯形成位元組碼檔案在一臺電腦進行解釋程式
java最核心的部分就是虛擬機JVM

3、JVM(Java Visual Machine)

4、撰寫第一個Java程式并運行
新建Hello.java檔案
public class Hello{
public static void main(String[] args){
System.out.println("Hello Wordld!");
}
}
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){
//主方法模板
}
}
5、CLASSPATH指的是類加載路徑
即使現在不在.class生成的目錄中也可以執行該目錄下的.class檔案,這個時候我們必須通過CLASSPATH來控制SET CLASSPATH=f:\java\javabase\day01

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

CLASSPATH是一個非常重要的概念,但是現在對其有個基本的認識,后期對CLASSPATH有更深的認識,
6、程式注釋,對以后的所有代碼都要進行注釋,主頁可以方便進行開發需求
單行注釋://注釋內容;
多行注釋:/注釋內容/”
檔案注釋:/*檔案注釋標記/
7、識別符號和關鍵字
程式是一個邏輯的集合,所以每一個邏輯體都應該有自己的標記,例如在程式之中應該有一個標記例如:在程式中定義變數、定義常量、定義類名稱和方法名稱都有自己的要求,
在JAVA中識別符號的命令如下:由字母、數字、_、$組成,其中不能以數字開頭、不能使用Java中的保留字(關鍵字)
個人建議:識別符號采用有意義的簡單命名,如student_age、age;
"$"不要在代碼中,因為其有特殊含義
在所有的程式之中都會有一個特殊的文本標記得到資訊,這樣的資訊我們一般稱為叫關鍵字

但是對于以上的關鍵字有以下幾點說明:
1.java中有兩個未使用到的關鍵字goto、const;
2.java中有三個特殊含義的單詞(不算關鍵字):null,true,false;
3.JDK1.4之后追加了assert關鍵字
4.DK1.5之后追加了enum關鍵字
8、Java資料型別的劃分以及資料型別的操作
程式就是一場數字游戲,
java資料型別的劃分一般分為兩大類:基本資料型別和參考資料型別
基本資料型別:
|-數值型別:表示整數和小數;
? |-整型: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
}
}

錯誤: 編碼GBK的不可映射字符
出現該問題:打開記事本-》檔案-》另存為-》選擇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)
傳統bug問題

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

資料型別劃分——字符型
用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)、雙引號(\")、以及單引號(\’)、\(\),
9、運算子
自增、自減操作
? |-++變數:++x 先自增再運算,x++ 先運算再自增
? |—變數: --x 先自減再運算,x-- 先運算再自減
三目運算子
三目運算是一種賦值運算,根據條件進行運算
資料型別 變數 = 布爾運算式 ? 條件滿足時賦值內容 : 條件不滿足時賦值內容
例:將兩個變數之中大的內容賦值給新的變數

關系運算子
大于>、小于<、等于=、不等于!=、等于==,最終的結果都是boolean布爾型
邏輯運算
與&&、或||、非!
位運算
十進制與二進制的轉化,資料除2取余,一直除到0為止,將余數倒序排列,
移位

進制

出錯原因是因為023為八進制 進行進制轉化為十進制 為19
面試題:請解釋&&和&、||和|的區別?
與操作:
? |-&&:表示邏輯與運算,若干個判斷只要有其中的一個條件為false,后面的不需要再進行判斷,結果為false
? |-&:表示所有的判斷都要執行
或操作
? |-||:表示邏輯與運算,若干個判斷只要有其中的一個條件為true,后面的不需要再進行判斷,結果為true
? |-|:表示所有的判斷都要執行
位運算:
? |-&:運算的兩個資料位,只要有一個0,其結果就為0
? |-|:運算的兩個資料位,只要有一個1,其結果就為1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290248.html
標籤:java
上一篇:一個機械畢業生的轉編程之路
下一篇:JAVA多載和重寫(深入理解)
