天天看點

第一周總結第一章 Java基礎知識第二章 資料類型第三章 運算符第四章 流程控制

第一章 Java基礎知識

1.1 基礎常識

常用的DOS指令

盤符:: 切換盤符

cd 檔案夾名/路徑 :進入指定檔案夾

cd … : 進入上級目錄

cd / : 進入根目錄

dir :檢視目錄

md 檔案名 :建立檔案夾

copy con 檔案名 : 建立檔案

echo 檔案内容(ctrl z) 檔案名 : 建立檔案

rd 檔案名 : 删除空檔案夾

rd /s : 詢問删除檔案夾

rd /s /q : 暴力删除檔案夾

del : 删除檔案

ipconfig : 檢視ip

cls :清屏

exit :退出dos指令行

1.2 Java語言概述

java語言是面向對象的,跨平台的語言,java編寫的程式可以運作在任何的作業系統上,每一個作業系統上都有相應的不同版本的jvm虛拟機。

jdk : java開發工具包,包括jre和開發所需的工具包

jre : Java運作環境,包括jvm和java雲新房所需要的核心類庫

jvm : java虛拟機(一個假想計算機,可處理java程式)

java語言的執行機制: 将源檔案(*.java)先編譯成平台中立的位元組碼檔案(.class),再将位元組碼檔案進行 解釋執行

1.3 Java語言的環境搭建

配置環境變量

JAVA_HOME:Java相關環境執行指令時需要 的目錄。(D:\Java\jdk1.8.0_162)

path:windows系統執行外部指令時要搜尋的路徑,上移到最頂層(%JAVA_HOME%\bin)

path是windows系統執行指令時要搜尋的路徑。配置path的目的是為了在控制台的任何檔案路徑下,都可以調用jdk指定目錄下的所有指令

檢驗是否成功 :win+r 輸入cmd 打開控制台 :

輸入javac –version 和java -version

1.4 Java的第一個程式HelloWord

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

1.5 注釋

單行注釋 //

多行注釋

文檔注釋

第二章 資料類型

2.1關鍵字

關鍵字是指被java語言賦予的,具有特定含義的單詞。如class,static,public等。

注意事項:

goto和const這兩個作為保留字使用,不是關鍵字

2.2 辨別符

1.針對包,類,接口,方法,變量,常量等起名字的字元序列;

2.辨別符的組成:

​ 1)26個英文字母(大小寫)

​ 2)數字字元

​ 3)符号(下劃線)

​ 4_$符号

​ 5)嚴格區分大小寫的

3.給類,接口起名字是相同:

​ 如果是一個單詞:首字母大寫,其餘小寫

​ 如果是多個單詞組成:每一個單詞首字母都大寫,其餘小寫(大駝峰命名法)

4.給方法和變量起名字的規則:

​ 如果是單個單詞 :字母全部小寫

​ 如果是多個單詞:第一個單詞字母全部小寫,從第二個單詞開始,每個單詞首字母大寫,其餘小寫(小駝峰命名法)

5.給常量命名的規則:(推薦多個單詞)

​ 如果是單個單詞:字母全部大寫

​ 如果是多個單詞:每個單詞字母大寫,單詞和單詞使用下劃線隔開

2.3 常量

在程式執行過程中,其值不發生改變的量

1.分類

1)字面值常量

​ 整數常量、小數常量、字元常量、字元串常量、布爾常量、空常量

//整數常量
		System.out.println(100) ;
		//小數常量
		System.out.println(3.1415926) ;
		//字元串常量
		System.out.println("hellWorld") ;
		//字元常量
		//當字元單獨使用的時候,直接字元本身'a','A','0'
		//但是如果字元參與運算:找一個對應的ASCII碼表的固定值
		System.out.println('a') ;
		System.out.println('A') ;
		System.out.println('0') ;
		//'a':97  'A':65   '0':48
		System.out.println('a'+1) ;//'a'---->ASCII碼表的值 97  b:98
		System.out.println('A'+1) ;//'A' :65  B:66
		System.out.println('0'+1) ;//'0':48  '1':49
		//布爾常量
		System.out.println(true) ;
		System.out.println(false) ;
		//空常量
		String s = null ;
		System.out.println(s) ;
           

2)自定義常量

2.進制也屬于常量

2.4 變量

在程式執行過程中其值發生改變的量。

1.分類 :

1)基本資料類型

​ 整數類型(預設int):int、short、long、byte

​ 注:long m=12L;

​ 浮點類型(預設double):float、double

​ 注:float f=3.14F;

​ 字元類型 :char

​ 布爾類型:boolean

2)引用資料類型

2.變量的三要素:

​ 1)資料類型

​ 2)變量名稱

​ 3)初始化值

3.定義變量的注意事項:

1)同一個變量不能重複定義

2)一行也可以定義多個變量

3)變量可以直接初始化

4.注 :

1)變量要進行運算,必須保證資料類型一緻

2)boolean類型不參與類型轉換

5.顯性轉換:大類型轉換為小類型

隐式轉換:小類型轉換為大類型,char、byte、short在參與運算的時候會自動轉換為int型

byte的取值範圍是-128~127

2.5 常見進制及其互相轉換

1.常見進制:二進制,八進制,十進制,十六進制

二進制:由0b開頭

八進制:0-7組成,以0開頭

十進制 :預設進制

十六進制 :由0-9及a-f組成,以0x開頭

2.進制之間的互相轉換

1)二進制-八進制

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-cWPgHMom-1626005448401)(D:\QF_workspace\第一章 Java基礎知識.assets\image-20210710143655997.png)]

2)二進制-十進制

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-UaI2Yg04-1626005448403)(D:\QF_workspace\第一章 Java基礎知識.assets\image-20210710144216005.png)]

第三章 運算符

3.1 邏輯運算符

1.基本邏輯運算符

邏輯單與: &	并列關系(滿足全部條件)

		有false,則false
							

邏輯單或: |	或的關系(滿足一個條件即可)

		有true,則true
							
邏輯異或: ^  

		相同則為false,不同則為true
						
邏輯非: ! 非true,則false;非false則true
		偶數個非是他本身
           

2.擴充的邏輯運算符

邏輯雙與&&
邏輯雙或:||

邏輯單與&和邏輯雙與&&的差別?

共同點:都是能夠表述"并列"關系

不同點: 邏輯單與&:無論左邊的表達式是true還是false,右邊都要執行

	   邏輯雙與&&:具有短路效果,左邊達式如果是false,則右邊就不執行了
	   
邏輯雙||: 左邊的表達式如果是true,則右邊不執行了

隻要有邏輯并列判斷,優先采用的邏輯雙與&&(或的關系判斷:使用雙或||)	
執行效率高!
           

3.2位運算符

位運算操作的都是具體的資料值
基本的位運算符号:
	1.位與: & 有0,則0	
	
    3 & 4  
	
 3  00000000	00000000	00000000  00000011	
 4 	00000000 	00000000	00000000  00000100
 &	-------------------------------------------------
	00000000	00000000	00000000  00000000
	
	結果:0

    2.位或: | 有1,則1
    
    3 | 4
 3  00000000	00000000	00000000  00000011
 4	00000000 	00000000	00000000  00000100
 |  -------------------------------------------------
    00000000    00000000    00000000  00000111  
	
	結果:7
	
	3.位異或: ^ 相同則為0,不同則為1 (一個資料被另一個資料位異或兩次,其值是他本身)
	
 3  00000000	00000000	00000000  00000011
 4	00000000 	00000000	00000000  00000100
 ^	-------------------------------------------------
	00000000    00000000    00000000  00000111
	
	結果:7
	
   4.反碼 : ~:按位取反:0變1,1變0	
	~3
	
	00000000	00000000	00000000  00000011  (補碼進行計算)
~	
    ----------------------------------------------------
    11111111    11111111    11111111  11111100  (補碼) 

最高符号位 				數值位
	1					1111111    11111111    11111111  11111100   補碼
	-													        1
	---------------------------------------------------------------------
	1					1111111    11111111    11111111  11111011   反碼
	
	1					0000000	   00000000    00000000  00000100  原碼
	
	結果:-4

	
			
其他的運算符号:位移符号
		<<:左移動
		左移的特點:
					<<:将左邊的資料乘以2的移動次幂
		>>:右移動
		右移的特點:
					>>:将左邊的資料除以2的移動次幂
		>>>:無符号右移
           

3.3 三目運算符

格式:
(表達式)? 執行true的結果:執行false的結果;

執行流程:
	判斷表達式是否成立,如果成立則執行第一個
	如果不成立,則執行第二個
           

3.4 鍵盤錄入

jdk類:java.util.Scanner :一個簡單的文本掃描器
使用步驟
	1.導包: 在java語言中:隻要不是java.lang包下的類都需要導入 
	
			import java.util.Scanner;
			
	2.固定格式: 建立鍵盤錄入對象(文本掃描器對象)
			Scanner 對象名 = new Scanner(System.in) ;
			
	3.開始錄入資料:
			public int nextInt():錄入下一個int類型
			int 變量名 = 對象名.nextInt() ;
			
		    java.util.Scanner類中:提供一個功能:
	        public String nextLine();錄入String類型
		
	4.使用變量
    注:鍵盤錄入的細節:
		如果先錄入int,在錄入String,會漏掉第二個資料String
	原因就是 輸入回車符号-->才能錄入資料;回車符号---> (換行)
	
	方案1:在錄入字元串之前,新建立一個鍵盤錄入對象
	
	方案2:Scanner類提供了這個功能:
			public String next():錄入一個字元串 (非正式用法)
           

第四章 流程控制

流程控制語句:

1.順序結構語句

進入到主程式之後,main方法被jvm調用之後

代碼依次由上而下進行執行!

​ 2.選擇結構語句

​ if語句

​ switch語句

​ 3.循環結構

​ for

​ while

​ do-while語句

4.1 順序結構

代碼依次由上而下進行執行

4.2 選擇結構

1.if語句
		格式1:
			if(表達式){
				語句;
			}

執行流程:
			1)先判斷表達式是否成立,
			2)如果成立,執行語句内容
			3)不成立則不執行
			
格式1是針對單個條件進行判斷

        格式2:
			if(表達式){
				語句1;
			}else{
				語句2;
			}
	
執行流程:
		1)首先判斷表達式是否成立,
		2)如果成立,則執行語句1;
		3)不成立執行語句2
		
格式2是針對兩個條件進行判斷	
		if格式2和三元運算符的差別:
        if語句格式2:相對三元運算符:範圍更大:流程控制語句,既可以操作輸出語句也可以操作具體的資料值
        三元運算符:隻能操作具體的資料(int,String字元串資料...)
        三元能夠實作的,一定能夠使用if格式2
        但是反之,if能夠實作,三元運算符不一定能夠實作
	    一般采用if格式2.
	    
if格式2的嵌套
	
	if(表達式1){
		if(表達式2){
			語句1;
		}else{
			語句2;
		}
	}else{
		if(表達式3){
			語句3;
		}else{
			語句4;
		}
	}
	
針對多個條件進行判斷
			
			格式3
			針對多種情況進行判斷
	
			if(表達式1){
				語句1;
			}else if(表達式2){
				語句2;
				...
			}else{
				語句n;
			}
執行流程:
		1)首先判斷表達式1是否成立;如果成立,則執行語句1;
		2)不成立,繼續判斷表達式2是否成立,成立,執行語句2
		...
		...
		如果上面都不成立,最終執行else裡面語句;
2.switch語句
        表達格式:
        switch(表達式){
        	case 值1:
        		語句1;
                break;
            case 值2:
        		語句2;
                break;  
                ...
             default:
             	語句n;
             	break;
            }
          執行流程:
          1.使用switch表達式的值與case值比對
          2.若與case值比對,則執行相應的case語句
          3.若有break,則直接跳出switch
            若沒有,則繼續往下執行
          4.若switch表達式的值與case值沒有比對的,則執行default
          
          注意事項:
          1.case值隻能是常量,不能是變量
          2.case語句後必須要有break,若沒有,會有“case穿透”、
          3.default語句可以在程式的任何一個地方
          
          switch語句中的表達式可以是什麼樣的資料類型:
					基本資料:int,byte,short,char
					JDK5以後可以跟枚舉 enum
					JDK7以後可以跟String類型


           

4.3 循環結構

1.for循環
for(條件1;條件2;條件3)
{
循環體;
}

執行順序:先執行條件一,再看條件一是否滿足條件二的判斷,如果滿足則進入循環,反之則不進入循環,如果進入循環裡則執行循環體裡面的内容,最後再執行條件三。

一般for循環樣式為

for(var i=0;i<10;i++){
//循環體
}


雙層for循環

        for (條件一; 條件二; 條件三) {
            //循環體
            for (條件四; 條件五; 條件六) {
                //循環體二
            }
        }


2.while循環
            while (條件) { 滿足條件就執行 }
         注:因為滿足條件就執行,是以我們寫的時候一定要注意,就是設定一個邊界值,不然就一直循環下去了
3.do while循環
			do
			{
			循環體;
			}while(條件)
		跟while循環相似,隻是do while循環是先執行一遍循環體,再判斷條件,若條件成立則繼續執行。
           

結構

1.for循環
for(條件1;條件2;條件3)
{
循環體;
}

執行順序:先執行條件一,再看條件一是否滿足條件二的判斷,如果滿足則進入循環,反之則不進入循環,如果進入循環裡則執行循環體裡面的内容,最後再執行條件三。

一般for循環樣式為

for(var i=0;i<10;i++){
//循環體
}


雙層for循環

        for (條件一; 條件二; 條件三) {
            //循環體
            for (條件四; 條件五; 條件六) {
                //循環體二
            }
        }


2.while循環
            while (條件) { 滿足條件就執行 }
         注:因為滿足條件就執行,是以我們寫的時候一定要注意,就是設定一個邊界值,不然就一直循環下去了
3.do while循環
			do
			{
			循環體;
			}while(條件)
		跟while循環相似,隻是do while循環是先執行一遍循環體,再判斷條件,若條件成立則繼續執行。