必定要學會自主學習的能力,必定要準肯定位問題,自住分析問題,自主解決問題。java
每一位的數稱之爲係數,幾進制稱之爲基數(位權展開法)學習
除積(進制數)取餘直到商爲零,餘數反轉就是幾進制優化
用的仍是位權展開法,只是畫成表了。(直接用就好了)1位的數字相加就好了,0位的東西不用管。用十進制數字減去一個表裏的數,能減過就是一,其他位都是0。編碼
二進制:0b開頭code
八進制:0開頭內存
十進制:默認十進制作用域
十六進制:0x開頭字符串
計算機底層運算時採用補碼運算。數學
有符號表示法:原碼,反碼,補碼。it
原碼:一個數的二進制表現形式,數據的最高位時符號位,其他的是數值爲。
正數的三個碼都是同樣的。
符號位0表明正數1表明負數。
負數的反碼:符號位不變,其他位1變0 0變1。
負數的補碼:在其反碼末位+1
例題1:A:已知某數X的原碼爲0B10110100,試求X的補碼和反碼。B:已知某數X的補碼0B11101110,試求其原碼。
解:a:原碼:10110100反碼:11001011補碼:11001100
b:補碼:11101110反碼:11101101原碼:10010010
在程序運行過程中,值發生變化的量叫變量(在範圍以內變化,有數據類型的規定,在Java編譯中變量定義格式:變量名=值,數據類型就是變量的範圍),變量其實就是在內存中開闢了一塊空間,用來存儲數據。開多大空間合適,以及空間存儲什麼樣類型的數據,能夠用數據類型來聲明。變量在Java中命名通常首字母小寫。定義long類型的數據數據後加L表示這是一個long類型數據。定義float後必需要加F。由於正數默認是int,小數默認是double類型。char類型要用‘ ’括起來之中中能加一個字符。注意數據不能超出數據類型範圍。
1.引用數據類型(之後講)
2.基本數據類型:四類八種
(1): 數值型
整數型 字節數 範圍
byte 1(8bit) -128 ~ 127
short 2(16bit) -2^15 ~ 2^15 - 1
int 4(32bit) -2^31 ~ 2^31 - 1
long 8(64bit) -2^63 ~ 2^63 - 1
浮點數
float 4(32bit) -3.40310^38 ~ 3.40310^38
double 8(64bit) -1.79810^308 ~ 1.79810^308
(2): 字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
(3): 布爾型 boolean 1
整數默認是int類型的 , 浮點數默認是 double類型的
變量在使用以前必須賦值。從新賦值會覆蓋以前的值(能夠賦兩次值,第二次覆蓋第一次)。賦值後要加;表示語句結束。
同一個做用域(一對大括號中是一個做用域)不能定義量個同名變量。(不能int兩個b)
byte short char,在參加數學運算時,會自動提高爲int型。若是有long float double參加運算則會相應提高爲long float double型。布爾類型不參加數學運算。byte short char之間不參與自動轉換。
強制將一個數據轉換成想要的數據,可能會發生精度損失的問題(此過程不會報錯),不建議強制轉換。強制類型轉換有可能會自動丟棄字節。
他會優先算出結果,看有沒有在這個數據類型範圍內,若是在就不報錯,若是不在就報錯。
char、gdk、ansi編碼中一個漢字佔兩個字節。
utf8編碼中一個漢字佔兩個字節
字符參與運算會對照ASCII碼錶,將十進制拿出來運算。鍵盤上的鍵都是字符,都有對應的十進制數。a 97, A 65, 0 48
加好能夠當作一個數學運算符來用,起相加的做用。還能夠當鏈接符來使用。當加號的運算兩端任意一端是一個字符串,加號就會起鏈接符的做用,會將兩端內容鏈接起來造成一個新字符串。括號裏的加號按順序去運行。
對變量或常量進行運算的符號。
運算符分類:算數,賦值,比較,邏輯,三元,位 運算符。
++:自身增1。--:自減1。單獨使用++--在前在後都同樣。混合使用,++在前先運算後使用,++在後先使用後運算。
賦值運算符:= += -= *= /= %=(後五個會自動判斷運算完的結果在不在範圍內,若是不在會幫程序強制類型轉換)
關係運算符:< > <= >= == !=比較運算符的運算結果是布爾類型(結果只有兩種)。必定要區分=和==。
邏輯運算符:& ,|,!,^,&&(只要左端位FALSE就不運算右邊),||(只要左端是TRUE就不用運算右邊,左端爲FALSE,右端仍是要運算的)。
三元運算符的語法:表達式?結果1:結果2。表達式的值是TRUE返回結果1,FALSE返回結果2.。好比:
int a=10;
int b=20;
int c=100;
int max=a>b?a:b;
int maxmax=max>c?max:c
以上程序就可得出最大值。(三元表達式不建議嵌套,嵌套太深會致使混亂,代碼閱讀性很差)。