1 簡介 我們進行Web API開發的時候,經常會使用Json格式的消息體,而Json格式非常靈活,不同的人會有不同的設計風格和實現,而JSON API提供了一套標準。但它並不提供直接實現。 Katharsis是JSON API的Java實現,使用它可以快速開發出Json based的Web介面,還 ...
一.電腦基礎
1.什麼是電腦
computer:全稱電子電腦,俗稱電腦,能夠按照程式運行、自動、高速處理海量數據的現代化智能電子設備.
常見的形式有台式電腦、筆記本電腦、大型電腦等.
廣泛應用在科學計算、數據處理、自動控制、電腦輔助設計、人工智慧、網路等領域.
2.電腦的組成
存儲器顧名思義就是用來存儲數據的,記憶體存儲器存儲數據必須在有電源的情況下,外存存儲器可以實現數據的長久儲存.
3.Windows系統
(1)常用快捷鍵
關閉視窗:Alt+F4
切換輸入法:Ctrl+shift
複製:Ctrl+C
粘貼:Ctrl+V
全選:Ctrl+A
剪切:Ctrl+X
撤銷:Ctrl+Z
保存:Ctrl+S
永久刪除文件:shift+Del
打開文件資源管理器:Windows+E
修改文件名:F2
打開系統設置:Windows+i
打開任務管理器:Ctrl+shift+Esc
(2)基本的Dos命令
CMD命令:Windows+R——輸入cmd——回車——就可以在命令行里可以看到系統版本、文件系統版本
進入某一個盤:盤符+":"——回車,例如要進入D盤:D:——回車
查看該目錄下所有文件:dir
切換目錄:cd+目錄名——回車
返回上層目錄:cd..
清空屏幕:cls
退出終端:exit
打開計算器:calc
打開畫圖工具:mspaint
打開記事本:noteopad
查看電腦IP:ipconfig
查看網站的IP地址:ping+網址
創建文件夾:md+文件夾名
創建一個空文件:copy nul +文件名+尾碼名
創建一個文件名為a,尾碼名為txt的文件:copy nul a.txt
在文件里輸入內容:echo+內容>目標文件
在a.txt文件里輸入內容為我喜歡你:echo我喜歡你>a.txt
刪除文件:del+文件名
刪除文件夾:rd+文件夾名
上下方向鍵可以切換上下次輸入的命令
在命令行視窗打開軟體:進入軟體所在的盤——輸入軟體所在的目錄,若目錄中間有空格則必須加雙引號
(3)電腦的設置
1、顯示尾碼名:我的電腦——查看——顯示——勾選隱藏的項目和文件擴展名
2、文件瀏覽方式:查看——詳細信息
3、不建議使用第三方的殺毒軟體
4.二進位存儲
(1)二進位的存儲
電腦不管是記憶體還是磁碟,存儲的內容都是以二進位的方式進行存儲的,就類似於一張巨大的表格,每一個格子都存放了一個0或1.
(2)存儲單位
1bite:1位
1Byte(位元組)=8bite
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
(3)二進位的加法運算
十進位是逢十進一,二進位是逢二進一,十進位的世界里最大的單個數字是9,而在二進位的世界里最大的單個數字是1.我們現在來思考一個問題,既然說電腦只能保存0和1,那麼它是怎麼區分正負數的呢?我們不妨把第一位數字當作符號,即1代表負數,0代表正數,為了讓數字更有規律,不妨每個數字用8位代替.
那麼現在1就可以表示為0000 0001,而-1就可以表示為1000 0001.
現在讓它們相加,即:
我們此時發現結果居然是-2而不是0.
來簡單思考一下,即可得:
?代表-1,我們現在想找一個值表示-1,很顯然這樣的值不存在,但是以下方案卻有一定的可行性.
因為我們規定了一個數字為8位,所以第九位變成了1之後就溢出沒了.那此時的?是否能代表-1呢?
顯然它的結果是1111 1111,在電腦中-1就是1111 1111.我們把這個值稱為補碼.
(4)原碼、反碼、補碼
首先我們要知道電腦的數值都是以補碼的形式存儲的.而之前的1000 0001稱為原碼.1111 1111我們稱為補碼.
那麼反碼和補碼是怎麼計算的呢?
反碼:正數的反碼就是它本身,負數的反碼是符號位不變,其他位取反.
補碼:正數的補碼也是它本身,負數的補碼是反碼加一.
例:
現在我們來想一下0和-0的原碼、反碼、補碼.
即:
(5)進位轉換
二進位:逢二進一(01)
八進位:逢八進一(01234567)
十進位:逢十進一(0123456789)
十六進位:逢十六進一(0123456789abcdef)
使用Windows系統自帶的電腦就可以解決.
BIN:二進位
OCT:八進位
DEC:十進位
HEX:十六進位
十進位轉其他進位:使用除K取餘法,轉為幾進位K的值就是幾.
二進位轉其他進位,
1010:0×20+1×21+0×22+1×23=0+2+0+8=10
快速計算:16 8 4 2 1
(6)二進位的基本邏輯運算
現在我們來回憶一下中學時期學過的串聯電路圖:
我們把開關S1和S2當作輸入,燈泡L1當作輸出.那麼就會有以下幾種情況,
串聯電路就類似於我們的與運算.只有兩者都為一,結果才是一.
與運算符號:&
接著我們再來回憶一下並聯電路:
同樣的我們把S1和S2當做輸入,燈泡L1當做輸出.那麼就會有以下幾種情況:
並聯電路就類似於我們的或運算.只有兩者都為零,結果才是零.
或運算符號:||
我們繼續:
同上,會有這麼幾種情況:
此電路就類似於我們的非運算.即分別取反.
非運算符號:!
除此之外,還有一個常用的邏輯運算.即:異或運算,相同為零,不同為一.
異或運算符號:^
(7)網路
網路就是通過網線、光纜、路由器、交換機等設備將一個電腦的信號傳送到另一個電腦上.此書不是電腦網路,到了後期我會詳細介紹網路中的一些協議.傳輸的就是信號,可以是電信號,也可以是光信號.電信號高電平代表1,低電平代表0.那麼網路寬頻是什麼意思?其實就是1S內能傳輸多少個0或1.比如說你家的網路是200M,其實它真實的單位是200MHZ,HZ是頻率的單位,即暫時可以理解為,每秒傳輸200M個0或1.運營商的單位是Mbit,我們的下載速度單位是MByte,那麼我們下載理論速度就是200/8=25M/S.
5.作業
1.給定一個數字你能確定它是哪個進位表示的嗎?
不能,但是Java有預設的進位,如果數字前面沒有諸如0x(16進位)或者0(8進位)開頭的特殊標記,Java預設是十進位.
2.將下列二進位數轉換成十進位數
1111 0001=1*20+0*21+0*22+0*23+1*24+1*25+1*26+1*2^7=241
1001 0010=0*20+1*21+0*22+0*23+1*24+0*25+0*26+1*27=146
0000 1000= 0*20+0*21+0*22+1*23+0*24+0*25+0*26+0*27=8
3.將下列十進位數轉成10位二進位數
299
116
88
299=01 0010 1011
116=00 0111 0100
88=00 0101 1000
4..將下列7進位數字轉換成十進位
15611=1*70+1*71+6*72+5*73+1*7^4=1+7+294+1715+2401=4418
13421=1*70+2*71+4*72+3*73+1*7^4=1+14+196+1029+2401=3641
5.將下列十進位數字轉換成4位7進位數字
402
1125
402=1113
1125==3165