標籤:機器 起名字 它的 ret 邏輯 定義 浮點 調用 分組
一、什麼是電腦
基於百度百科
1.簡介
電腦(computer)俗稱電腦,是現代一種用於高速計算的電子電腦器,可以進行數值計算,又可以進行邏輯計算,還具有儲存記憶功能。是能夠按照程式運行,自動、高速處理海量資料的現代化智能電子裝置。
2.組成
電腦是由硬體系統(hardware system)和軟體系統(software system)兩部分組成的。
傳統電腦系統的硬體單元一般可分為輸入單元、輸出單元、算數邏輯單位、控制單元及記憶單元,其中算數邏輯單位和控制單元合稱中央處理單元(Center Processing Unit,CPU) 硬體系統:1)、電源 2)主板 3)CPU 4)記憶體 5)硬碟 6)音效卡 7)顯卡 8)數據機 9)光碟機 10)顯示器 11)鍵盤 12)滑鼠 13)音箱 14)印表機 15)視頻裝置 16)快閃記憶體盤 17)移動儲存卡及讀卡機
軟體系統:
-
- 系統軟體
- 作業系統 -- a.處理器管理、b.作業管理、c.儲存空間管理、d.裝置管理、e.檔案管理
- 語言處理常式(翻譯程式):翻譯方法由兩種,解釋、編譯
- 服務程式
- 資料庫管理程式
- 應用軟體
二、java語言概述
創始人:James Gosling
java語言特點:簡單性、解釋性、物件導向、高效能、分散式處理、多線程、健壯性、動態、結構中立、安全性、開源、跨平台
java語言跨平台原理:在需要運行java應用程式的作業系統上,安裝java虛擬機器(JVM Java Virtual Machine)即可,由JVM負責java程式在該系統中的運行
JRE和JDK的概述:
什麼是JRE:JVM + java程式所需的核心類庫等。如果運行一個開發好的java程式,電腦中只需要安裝JRE即可
什麼是JDK:JRE+java的開發工具
JDK安裝:1.官網下載對應版本 http://www.oracle.com 2.安裝,過程中對路徑進行選擇,不要有中文或者特殊符號如空格等 3.配置JAVA_HOME,對應安裝路徑,在修改path,對應jdk安裝目錄下的bin目錄。
path和classpath的區別:1.path配置的是可執行檔檔案.exe,配置後可以在不同盤符下訪問path路徑下的可執行檔 2.classpath配置的java的類檔案 .class
注釋概述及其分類:1.單行注釋 // 多行注釋/* */ 文本注釋 /** */ 2.注釋作用:解釋說明程式,協助調試錯誤
關鍵字的概述和使用:1.關鍵字是被java語言賦予特定含義的單詞 2.關鍵字特點:組成關鍵字的字母全部小寫 3.常見關鍵字:public static void class等 4.關鍵字的注意事項:goto和const作為保留字存在,目前並不使用
標識符的概述和組成規則:
1.標識符就是給類、介面、方法、變數等起名字時使用的字元序列
2.標識符的組成規則:英文大小寫字母、數字字元、$和_
3.標識符注意事項:不能使用關鍵字,不能以數字開頭
4.常見命名規則:見名知意
包-所有字母小寫,網域名稱倒寫
類或介面-一個單字首大寫,多個單詞駝峰標識
方法或變數-一個單詞全部小寫,多個單詞從第二單字首大寫
常量-一個單詞所有字母大寫,多個單詞所有字母大寫,用底線區分每個單詞
常量的概述和使用:
字串常量:用雙引號標識的內容
整數常量:所有整數
小數常量:所有小數
字元常量:用單引號標識的內容,並只能存放單個數字、字母或符號
布爾常量:true、false
空常量:null
進位:
1byte=8bit 1k=1024b 1M=1024k 1G=1024M。。。
java中不同進位資料的表現形式:
位元:由0,1組成,前面加 0b
八位元:由0,1...7組成,前面加 0
十進位:0...9組成,前面非零
十六進位:由0,1...9,a,b,c,d,e,f,前面加0x
任意進位轉化為十進位數:
係數:每一位上的資料
基數:x進位,基數就是x
權:在右邊,從0開始編號,對應位上的編號即為該位的權
結果:每一位 係數*(基數權) 的值累加
十進位到任意進位的轉換:除積倒取餘
原碼反碼補碼:在電腦內部,所有的運算都是以二進位補碼的形式來運算的
正數的原反補碼都是一樣的
負數的反碼是原碼的逐位取反(符號位除外)
負數的補碼是反碼的末位加1
變數的概述及格式:
變數定義格式:資料類型 變數名 = 變數值;
資料類型的概述及分類:
java中的資料類型分類:基礎資料型別 (Elementary Data Type)、引用資料類型
基礎資料型別 (Elementary Data Type)分類(四類八種):
整數型:
byte:佔一個位元組 -128~127
short:佔兩個位元組 -2^15~2^15-1
int:佔四個位元組 -2^31~2^31-1
long:佔八個位元組 -2^63~2^63-1
浮點型 float 佔兩個位元組 -3.403E38~3.403E38 double 佔四個位元組-1.798E308~1.798E308 字元型 char 佔兩個位元組 0~65535 布爾型 boolean boolean理論上是佔八分之一個位元組 定義不同資料類型的變數: 整數類型資料預設:int類型 小數類型資料預設類型:double類型 定義float類型資料後面加F:例:float f = 1.2F 定義long類型的資料後面加L:long l = 2222222222L(大寫) 使用變數的注意事項: 範圍:同一個地區不能使用相同的變數名 初始化值問題:局部變數在使用前必須賦值 資料類型轉換之隱式轉換: java中資料類型的轉換規則:取值範圍小的資料類型與取值範圍大的資料類型進行運算,會先將小的資料類型提升為大的,再運算 例:byte類型+int類型:byte類型資料先轉換成int類型資料,再做運算 案例: int a = 10; byte b = 20; b = a + b;可能會損失精度,a + b的值是一個int類型而b是byte類型 強制轉換的格式: b = (byte)(a + b); 字元和字串參與運算: System.out.println(‘a‘); 輸出字元類型資料 ‘a‘ System.out.println(‘a‘+1); 字元資料‘a‘轉換成int類型97,再與1相加,結果為98 ASCII碼錶需要記住的三個值: ‘0‘ 48 ‘A‘ 65 ‘a‘ 97 字串資料與其餘資料進行相加,會直接合并到一起,組成新的字串 System.out.println("hello"+‘a‘+1); 結果是"helloa1" System.out.println(‘a‘+1+"hello"); 結果是"98helloa1" char資料類型: char型資料範圍:0--65535 Java語言中的字元char可以儲存一個中文漢字:每個字元佔用兩個位元組,中文也是占的兩個位元組 算術運算子的基本用法: 運算子的分類: 算術運算子,賦值運算子,比較(關係或條件)運算子,邏輯運算子,位元運算符,三目(元)運算子 算數運算子有哪些:* +,-,*,/,%,++,-- 整數相除只能得到整數,如果想得到小數,必須把資料變化為浮點數類型 / 擷取的是除法操作的商,% 擷取的是除法操作的餘數 %運算子:當左邊的絕對值小於右邊絕對值時,結果是左邊;%運算子結果的符號只和左邊有關係,與右邊無關 算術運算子++和--的用法: ++:自加。對原有的資料進行+1 --:自減。對原有的資料進行-1 放在運算元的前面,先自增或者自減,然後再參與運算。 放在運算元的後面,先參與運算,再自增或者自減。 賦值運算子的基本用法: 基本的賦值運算子 = :把=右邊的資料賦值給左邊 擴充的賦值運算子:+=,-=,*=,/=,%= 關係運算子的基本用法及其注意事項: 關係運算子(比較子,條件運算子):==,!=(不等於),>,>=,<,<= 結果為boolean類型 邏輯運算子的基本用法: &&和&的區別? &&具有短路效果。左邊是false,右邊不執行(結果為false) &是無論左邊是false還是true,右邊都會執行 ||和|的區別? || 具有短路效果。左邊是true,右邊不執行(結果為true) | 是無論左邊是false還是true,右邊都會執行 位元運算符的基本用法: 位異或運算子的特點及面試題 ^的特點:一個資料對另一個資料位元異或兩次,該數本身不變 面試題: 請自己實現兩個整數變數的交換 假如 a = @ b = # a = a ^ b = @ ^ # b = a ^ b = @ ^ # ^ # = @ a = a ^ b = @ ^ # ^ @ = # 最後結果: b = @ a = # <<:左移 左邊最高位丟棄,右邊補齊0 >>:右移 最高位是0,左邊補齊0;最高為是1,左邊補齊1 >>>:無符號右移 無論最高位是0還是1,左邊補齊0 案例:最有效率的算出2 * 8的結果 2<<3 三元運算子的基本用法: 三元運算子的格式:(關聯運算式) ? 運算式1 : 運算式2; 當關聯運算式為true,結果為運算式1 當關聯運算式為false,結果為運算式2 鍵盤錄入的基本格式: 格式: a:導包 格式:import java.util.Scanner; 位置:在class上面。 b:建立鍵盤錄入對象 格式:Scanner sc = new Scanner(System.in); c:通過對象擷取資料 格式:int x = sc.nextInt(); 注意:無論我們想要鍵盤輸入幾次資料,建立鍵盤錄入對象只要一次 選擇結構if語句格式: if語句的第一種格式: if(比較運算式) { 語句體; } 當比較運算式成立的時候,就運行語句體;反之,不運行 注意事項: 比較運算式無論簡單還是複雜,結果必須要是boolean類型的值 if語句控制的語句體如果是一條語句,大括弧可以省略(建議不省略) 一般來說:有左大括弧就沒有分號,有分號就沒有左大括弧 if語句的格式2: if(比較運算式) { 語句體1; }else { 語句體2; } 當比較運算式成立的時候,就運行語句體1;反之,運行語句體2 if語句的格式2和三元的相互轉換問題: 三元運算子實現的,都可以採用if語句實現。反之不成立 什麼時候if語句實現不能用三元改進呢? 當if語句控制的操作是一個輸出語句的時候就不能。 為什麼呢?因為三元運算子是一個運算子,運算子操作完畢就應該有一個結果,而不是一個輸出。 if語句的格式3: if(比較運算式1) { 語句體1; }else if(比較運算式2) { 語句體2; }else if(比較運算式3) { 語句體3; } ... else { 語句體n+1; } 選擇結構switch語句的格式及其解釋: switch(運算式) { case 值1: 語句體1; break; case 值2: 語句體2; break; … default: 語句體n+1; break; } 注意:運算式裡面可以放的資料類型: 基礎資料型別 (Elementary Data Type):byte short char int 引用資料類型:枚舉 String(字串) 執行順序:先計算運算式的值,然後和case後面的匹配,如果有就執行對應的語句;否則執行default控制的語句 選擇結構switch語句的注意事項: A: case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的 B: break最好不要省略,會出現case穿透 C: default並不是一定要放在最後,但是一定是最後才會去執行 D:遇見break或者大括弧就結束了 選擇結構if語句和switch語句的區別: switch 和 if語句的使用情境區別? switch建議判斷固定值的時候用 if建議判斷區間或範圍的時候用 迴圈結構概述和for語句的格式及其使用: A:迴圈結構的分類
for,while,do...while
B:迴圈結構for語句的格式:
for(初始設定式;條件運算式;迴圈後的動作表達式) {
迴圈體;
}
C執行流程:
a:執行初始化語句
b:執行判斷條件陳述式,看其傳回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行迴圈後的動作表達式
e:回到B繼續。 注意:for語句在迴圈結束後,定義的變數會被釋放,接下來的語句要使用,需重新定義 迴圈結構while語句的格式和基本使用: A:迴圈結構while語句的格式: while迴圈的基本格式:
while(判斷條件陳述式) {
迴圈體語句;
}
完整格式:
初始化語句;
while(判斷條件陳述式) {
迴圈體語句;
控制條件陳述式;
} B:執行流程:
a:執行初始化語句
b:執行判斷條件陳述式,看其傳回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行控制條件陳述式
e:回到B繼續。 迴圈結構do...while語句的格式和基本使用: A:迴圈結構do...while語句的格式:
do {
迴圈體語句;
}while(判斷條件陳述式);
完整格式;
初始化語句;
do {
迴圈體語句;
控制條件陳述式;
}while(判斷條件陳述式);
B:執行流程:
a:執行初始化語句
b:執行迴圈體語句;
c:執行控制條件陳述式
d:執行判斷條件陳述式,看其傳回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
e:回到b繼續。 迴圈結構三種迴圈語句的區別: 三種迴圈語句的區別:
do...while迴圈至少執行一次迴圈體。
而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句。 for迴圈和while迴圈的區別:
如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。 不知道用誰就用for迴圈。因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。 迴圈結構注意事項之死迴圈: A:一定要注意控制條件陳述式控制的那個變數的問題,不要弄丟了,否則就容易死迴圈。
B:兩種最簡單的死迴圈格式 - for條件判斷預設為true
while(true){...}
for(;;){...} 注意:
‘\x‘ x表示任意,\是轉義符號,這種做法叫轉移字元。
‘\t‘ tab鍵的位置
‘\r‘ 斷行符號
‘\n‘ 換行
‘\"‘ 可以用轉義符號列印雙引號和單引號
‘\‘‘ 控制跳躍陳述式break語句: break的使用情境:
只能在switch和迴圈中 (結束迴圈:就近原則) 控制跳躍陳述式continue語句: continue的使用情境
只能在迴圈中 控制跳躍陳述式標號: 標號:標記某個迴圈對其控制
標號組成規則:其實就是合法的標識符 控制跳躍陳述式return語句: A:return的作用
返回
其實它的作用不是結束迴圈的,而是結束方法的。
B:案例示範
return和break以及continue的區別?
return是結束方法
break是跳出迴圈
continue是終止本次迴圈繼續下次迴圈 方法概述和格式說明: A:為什麼要有方法
提高代碼的複用性
B:什麼是方法
完成特定功能的代碼塊。
C:方法的格式
修飾符 傳回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
方法體語句;
return 傳回值;
}
D:方法的格式說明
修飾符:目前就用 public static。後面我們再詳細的講解其他的修飾符。
傳回值類型:就是功能結果的資料類型。
方法名:符合命名規則即可。方便我們的調用。
參數:
實際參數:就是實際參與運算的。
形式參數;就是方法定義上的,用於接收實際參數的。
參數類型:就是參數的資料類型
參數名:就是變數名
方法體語句:就是完成功能的代碼。
return:結束方法的。
傳回值:就是功能的結果,由return帶給調用者。 如何寫一個方法
1,明確傳回值類型
2,明確參數列表 方法的注意事項: A:方法調用(有具體傳回值)
a:單獨調用,一般來說沒有意義,所以不推薦。
b:輸出調用,但是不夠好。因為我們可能需要針對結果進行進一步的操作。
c:賦值調用,推薦方案。
B:案例示範
a:方法不調用不執行
b:方法與方法是平級關係,不能嵌套定義
c:方法定義的時候參數之間用逗號隔開
d:方法調用的時候不用在傳遞資料類型
e:如果方法有明確的傳回值,一定要有return帶回一個值 方法重載概述和基本使用: 方法重載:
在同一個類中,方法名相同,參數列表不同。與傳回值類型無關。
參數列表不同:
A:參數個數不同
B:參數類型不同
C:參數的順序不同(算重載,但是在開發中不用)
java語言基礎知識