01进制之间的转换
1.Java語言基礎(chǔ)(常量的概述和使用)
?A: 常量定義 ?程序運(yùn)行期間值不能改變的量?
?B:Java中常量的分類 ?
? ? 字面值常量 ? 自定義常量(面向?qū)ο笾?
C:字面常量的分類?
? 字符串常量 ?雙引號擴(kuò)起來的 ??
? 整數(shù)常量 ? ?所有的整數(shù)?
? 小數(shù)常量 ? 所有的小數(shù) ?
? 字符常量 ? 單引號擴(kuò)起來的 中間的值只能是單個的
? 布爾常量 ? ?只有true和false
2.Java語言基礎(chǔ)(進(jìn)制之間的轉(zhuǎn)換)
A:任意進(jìn)制到十進(jìn)制的轉(zhuǎn)換原理
 * 系數(shù):就是每一位上的數(shù)據(jù)。
 * 基數(shù):X進(jìn)制,基數(shù)就是X。
 * 權(quán):在右邊,從0開始編號,對應(yīng)位上的編號即為該位的權(quán)。
 * 結(jié)果:把系數(shù)*基數(shù)的權(quán)次冪相加即可。
3.Java基礎(chǔ)(原碼反碼補(bǔ)碼)
? 強(qiáng)制類型轉(zhuǎn)換使用到了原反補(bǔ)的知識 ?
?原碼: ?二進(jìn)制的表示方式 最高位為符號位,"0"為正 "1"位負(fù)其余表示數(shù)值
?反碼:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼對原碼取反,符號位不變
?補(bǔ)碼:正數(shù)的補(bǔ)碼和原碼相同, 負(fù)數(shù)的補(bǔ)碼在其反碼上末位上加1
4Java的數(shù)據(jù)類型和分類
? A:Java是強(qiáng)類型語言,對于每一種數(shù)據(jù)類型都定義了明確的具體的數(shù)據(jù)類型,根據(jù)其大小在內(nèi)存中分配了不同大小的空間
?B:數(shù)據(jù)類型的分類?
? ? 基本數(shù)類型 ?引用數(shù)據(jù)類型 ?
C:基本數(shù)據(jù)類型 (4類8種)
* 整數(shù)型
* byte 占一個字節(jié) -128到127
* short 占兩個字 -2^15~2^15-1
* int 占四個字節(jié) -2^31~2^31-1
* long 占八個字節(jié) -2^63~2^63-1
* 浮點(diǎn)型
* float 占四個字節(jié) -3.403E38~3.403E38 單精度
* double 占八個字節(jié)-1.798E308~1.798E308 雙精度
* 字符型
* char 占兩個字節(jié) 0~65535
* 布爾型
* boolean?
* boolean理論上是占八分之一個字節(jié),
因?yàn)橐粋€開關(guān)就可以決定是true和false了,
但是java中boolean類型沒有明確指定他的大小
?5:數(shù)據(jù)類型(隱士轉(zhuǎn)換)
* A:案例演示
 * a:int + int
 * b:byte + int 
* B:Java中的默認(rèn)轉(zhuǎn)換規(guī)則
 * 取值范圍小的數(shù)據(jù)類型與取值范圍大的數(shù)據(jù)類型進(jìn)行運(yùn)算,會先將小的數(shù)據(jù)類型提升為大的,再運(yùn)算 
* C:畫圖解釋byte+int類型的問題
6:數(shù)據(jù)類型轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)
* A:強(qiáng)制轉(zhuǎn)換問題
 * int a = 10;
 * byte b = 20; 
 * b = a + b;
* B:強(qiáng)制轉(zhuǎn)換的格式
 * b = (byte)(a + b); 
* C:強(qiáng)制轉(zhuǎn)換的注意事項(xiàng)
 * 如果超出了被賦值的數(shù)據(jù)類型的取值范圍得到的結(jié)果會與你期望的結(jié)果不同 
7:面試題(變量相加和常量相加的區(qū)別)
* A:案例演示
 * 面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
 * byte b1 = 3;
 * byte b2 = 4;
 * byte b3 = b1 + b2;
 * 從兩方面去回答這個題
 * b1和b2是兩個變量,變量里面存儲的值都是變化的,所以在程序運(yùn)行中JVM是無法判斷里面具體的值
 * byte類型的變量在進(jìn)行運(yùn)算的時候,會自動類型提升為int類型 
 * byte b4 = 3 + 4;
 * 3和4都是常量,java有常量優(yōu)化機(jī)制,就是在編譯的的時候直接把3和4的結(jié)果賦值給b4了 
進(jìn)行混合運(yùn)算的時候,byte,short,char不會相互轉(zhuǎn)換,都會自動類型提升為int類型,其他類型進(jìn)行混合運(yùn)算的是小的數(shù)據(jù)類型提升為大的
8:Java語言基礎(chǔ)(字符和字符串參與運(yùn)算)
* A:案例演示
 * System.out.println('a');
 * System.out.println('a'+1);
 * 通過看結(jié)果知道'a'的值是多少,由此引出ASCII碼表
* B:ASCII碼表的概述
 * 記住三個值:
 * '0' 48
 * 'A' 65
 * 'a' 97
* C:案例演示
 * System.out.println("hello"+'a'+1);
 * System.out.println('a'+1+"hello");
* D:+在有字符串參與中被稱為字符串連接符
 * System.out.println("5+5="+5+5);
 * System.out.println(5+5+"=5+5");
9:Java語言基礎(chǔ)(char數(shù)據(jù)類型)
* A:char c = 97; 0到65535
* B:Java語言中的字符char可以存儲一個中文漢字嗎?為什么呢?
 * 可以。因?yàn)镴ava語言采用的是Unicode編碼。Unicode編碼中的每個字符占用兩個字節(jié)。中文也是占的兩個字節(jié)
 * 所以,Java中的字符可以存儲一個中文漢字
10:(算術(shù)運(yùn)算符的基本用法)
* A:什么是運(yùn)算符
 * 就是對常量和變量進(jìn)行操作的符號。
* B:運(yùn)算符的分類
 * 算術(shù)運(yùn)算符,賦值運(yùn)算符,比較(關(guān)系或條件)運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符,三目(元)運(yùn)算符 
* C:算數(shù)運(yùn)算符有哪些
 * +,-,*,/,%,++,-- 
* D:注意事項(xiàng):
 * a:+號在java中有三種作用,代表正號,做加法運(yùn)算,字符串的連接符
 * b:整數(shù)相除只能得到整數(shù)。如果想得到小數(shù),必須把數(shù)據(jù)變化為浮點(diǎn)數(shù)類型
 * c:/獲取的是除法操作的商,%獲取的是除法操作的余數(shù)
 * %運(yùn)算符
 * 當(dāng)左邊的絕對值小于右邊絕對值時,結(jié)果是左邊
 * 當(dāng)左邊的絕對值等于右邊或是右邊的倍數(shù)時,結(jié)果是0
 * 當(dāng)左邊的絕對值大于右邊絕對值時,結(jié)果是余數(shù)
 * %運(yùn)算符結(jié)果的符號只和左邊有關(guān)系,與右邊無關(guān)
 * 任何一個正整數(shù)%2結(jié)果不是0就是1可以用來當(dāng)作切換條件 
11:Java語言基礎(chǔ)(算術(shù)運(yùn)算符++和--的用法)
??
* A:++,--運(yùn)算符的作用
 * 自加(++)自減(--)運(yùn)算
 * ++:自加。對原有的數(shù)據(jù)進(jìn)行+1
 * --:自減。對原有的數(shù)據(jù)進(jìn)行-1
* B:案例演示
 * a:單獨(dú)使用:
 * 放在操作數(shù)的前面和后面效果一樣。(這種用法是我們比較常見的)
 * b:參與運(yùn)算使用:
 * 放在操作數(shù)的前面,先自增或者自減,然后再參與運(yùn)算。
 * 放在操作數(shù)的后面,先參與運(yùn)算,再自增或者自減。
B:案例演示
 * 請分別計算出x,y的值?
 int x = 4;
 int y = (x++)+(++x)+(x*10);
 C:面試題
 * byte b = 10;
 * b++;
 * b = b + 1;
 * 問哪句會報錯,為什么 
 byte b = 10;
 //b++; //b = (byte)(b + 1)
 b = b + 1; //當(dāng)byte與int進(jìn)行混合運(yùn)算的時候,會提升為int類型,兩個int相加的結(jié)果還是int,賦值給byte會損失精度
 System.out.println("b = " + b);
?
?
A:賦值運(yùn)算符有哪些
 * a:基本的賦值運(yùn)算符:=
 * 把=右邊的數(shù)據(jù)賦值給左邊。
 * b:擴(kuò)展的賦值運(yùn)算符:+=,-=,*=,/=,%=
 * += 把左邊和右邊做加法,然后賦值給左邊。
?
A:案例演示
 * 面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
 * short s=1;s = s+1;
 * short s=1;s+=1;
 面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
 //short s=1;s = s+1; //當(dāng)short與int進(jìn)行運(yùn)算的時候,會提升為int類型,兩個int類型相加的結(jié)果也是int類型
 short s=1;s+=1; //s = (short)(s + 1);
* A:關(guān)系運(yùn)算符有哪些(比較運(yùn)算符,條件運(yùn)算符)
 * ==,!=,>,>=,<,<= 
* 注意事項(xiàng):
 * 無論你的操作是簡單還是復(fù)雜,結(jié)果是boolean類型。
 * "=="不能寫成"="。
?
轉(zhuǎn)載于:https://www.cnblogs.com/ning18/p/8440076.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
                            
                        - 上一篇: 大数据统计分析平台之一、Kafka单机搭
 - 下一篇: UNP学习第五章