摘要:所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示。以可以大寫也可以小寫開頭版本可以表示二進(jìn)制了八進(jìn)制的數(shù)據(jù)表現(xiàn)形式由組成。結(jié)果把系數(shù)基數(shù)的權(quán)次冪相加即可。因?yàn)檎Z言采用的是碼來編碼的。
1_(常量的概述和使用)*
A:什么是常量(constant)
在程序執(zhí)行的過程中其值不可以發(fā)生改變
B:Java中常量的分類
字面值常量
自定義常量(面向?qū)ο蟛糠种v)
C:字面值常量的分類
字符串常量 用雙引號括起來的內(nèi)容
整數(shù)常量 所有整數(shù)
小數(shù)常量 所有小數(shù)
字符常量 用單引號括起來的內(nèi)容,里面只能放單個(gè)數(shù)字,單個(gè)字母或單個(gè)符號
布爾常量 較為特殊,只有true和false
空常量 null(數(shù)組部分講解)
D:案例演示
用輸出語句輸出各種常量。null不演示
2_(進(jìn)制概述和二,八,十六進(jìn)制圖解)(了解)
A:什么是進(jìn)制(scale)
進(jìn)制:就是進(jìn)位制,是人們規(guī)定的一種進(jìn)位方法。 對于任何一種進(jìn)制--X進(jìn)制,就表示某一位置上的數(shù)運(yùn)算時(shí)是逢X進(jìn)一位。二進(jìn)制就是逢二進(jìn)一,八進(jìn)制是逢八進(jìn)一,十進(jìn)制是逢十進(jìn)一,十六進(jìn)制是逢十六進(jìn)一。
例如一周有七天,七進(jìn)制,一年有十二個(gè)月,十二進(jìn)制
星星和月亮的進(jìn)制,月亮和太陽的進(jìn)制(4進(jìn)制)
B:十進(jìn)制的由來
十進(jìn)制的由來是因?yàn)槿祟愑惺畟€(gè)手指(獵物的分配:十個(gè)一捆)
C:二進(jìn)制的由來
其實(shí)二進(jìn)制來源與中國,請看史料記載
18世紀(jì)德國數(shù)理哲學(xué)大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本《易經(jīng)》中,讀到了八卦的組成結(jié)構(gòu),驚奇地發(fā)現(xiàn)其基本素?cái)?shù)(0)(1),即《易經(jīng)》的陰爻yao- -和__陽爻,其進(jìn)位制就是二進(jìn)制,并認(rèn)為這是世界上數(shù)學(xué)進(jìn)制中最先進(jìn)的。20世紀(jì)被稱作第三次科技革命的重要標(biāo)志之一的計(jì)算機(jī)的發(fā)明與應(yīng)用,其運(yùn)算模式正是二進(jìn)制。它不但證明了萊布尼茲的原理是正確的,同時(shí)也證明了《易經(jīng)》數(shù)理學(xué)是很了不起的。
D:八進(jìn)制的由來
任何數(shù)據(jù)在計(jì)算機(jī)中都是以二進(jìn)制的形式存在的。二進(jìn)制早期由電信號開關(guān)演變而來。一個(gè)整數(shù)在內(nèi)存中一樣也是二進(jìn)制的,但是使用一大串的1或者0組成的數(shù)值進(jìn)行使用很麻煩。
所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示。這三位可以取到的最大值就是7.超過7就進(jìn)位了,這就是八進(jìn)制。
E:十六進(jìn)制的由來
但是對于過長的二進(jìn)制變成八進(jìn)制還是較長,所以出現(xiàn)的用4個(gè)二進(jìn)制位表示一位的情況,四個(gè)二進(jìn)制位最大是15,這就是十六進(jìn)制。
F:不同進(jìn)制表現(xiàn)同一個(gè)數(shù)據(jù)的形式特點(diǎn)
進(jìn)制越大,表現(xiàn)形式越短
畫圖表示(讓8個(gè)開關(guān)表示計(jì)算機(jī)中的最小單位)
3_(不同進(jìn)制數(shù)據(jù)的表現(xiàn)形式)*
A:二進(jìn)制的數(shù)據(jù)表現(xiàn)形式
由0,1組成。以0b(b可以大寫也可以小寫)開頭(JDK1.7版本可以表示二進(jìn)制了)
B:八進(jìn)制的數(shù)據(jù)表現(xiàn)形式
由0,1,…7組成。以0開頭
C:十進(jìn)制的數(shù)據(jù)表現(xiàn)形式
由0,1,…9組成。整數(shù)默認(rèn)是十進(jìn)制的
D:十六進(jìn)制的數(shù)據(jù)表現(xiàn)形式
由0,1,…9,a,b,c,d,e,f(大小寫均可)。以0x開頭
E:案例演示
輸出不同進(jìn)制表現(xiàn)100的數(shù)據(jù)。
0b100
0100
100
0x100
4_(任意進(jìn)制到十進(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)次冪相加即可。
B:畫圖練習(xí)(~Scale)
二進(jìn)制--十進(jìn)制
八進(jìn)制--十進(jìn)制
十六進(jìn)制--十進(jìn)制
5_(十進(jìn)制到任意進(jìn)制的轉(zhuǎn)換圖解)(了解)
A:十進(jìn)制到任意進(jìn)制的轉(zhuǎn)換原理
除基倒取余
B:畫圖練習(xí)
十進(jìn)制--二進(jìn)制
十進(jìn)制--八進(jìn)制
十進(jìn)制--十六進(jìn)制
6_(快速的進(jìn)制轉(zhuǎn)換法)(了解)
A:8421碼及特點(diǎn)
8421碼是中國大陸的叫法,8421碼是BCD代碼中最常用的一種。在這種編碼方式中每一位二值代碼的1都是代表一個(gè)固定數(shù)值,把每一位的1代表的十進(jìn)制數(shù)加起來,得到的結(jié)果就是它所代表的十進(jìn)制數(shù)碼。
B:通過8421碼的方式進(jìn)行二進(jìn)制和十進(jìn)制的相互轉(zhuǎn)換
C:二進(jìn)制到八進(jìn)制的簡易方式
D:二進(jìn)制到十六進(jìn)制的簡易方式
7_(原碼反碼補(bǔ)碼)(了解)
A:為什么要學(xué)習(xí)原碼反碼補(bǔ)碼?
后面要學(xué)習(xí)強(qiáng)制類型轉(zhuǎn)換,如果不知道有原反補(bǔ)會看不懂結(jié)果
B:有符號數(shù)據(jù)表示法的幾種方式
原碼
就是二進(jìn)制定點(diǎn)表示法,即最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。
通過一個(gè)字節(jié),也就是8個(gè)二進(jìn)制位表示+7和-7
0(符號位) 0000111 +7
1(符號位) 0000111 -7
1 1111000 -7反碼
0 0000001 +1
_
1 1111001 -7的補(bǔ)碼
0 0000111
1 1111001
_______________________________ 00000000 * 反碼 * 正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。 * 補(bǔ)碼 * 正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。8_(原碼反碼補(bǔ)碼的練習(xí))(了解)
A:已知原碼求補(bǔ)碼
0b10110100
B:已知補(bǔ)碼求原碼
0b11101110
9_(變量的概述及格式)*
A:什么是變量
在程序執(zhí)行的過程中,在某個(gè)范圍內(nèi)其值可以發(fā)生改變的量
B:變量的定義格式
數(shù)據(jù)類型 變量名 = 變量值;
C:為什么要定義變量
用來不斷的存放同一類型的常量,并可以重復(fù)使用
10_(數(shù)據(jù)類型的概述和分類)*
A:為什么有數(shù)據(jù)類型
Java語言是強(qiáng)類型語言,對于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內(nèi)存中分配了不同大小的內(nèi)存空間(你能吃多少飯,就給你多大的碗)
B:Java中數(shù)據(jù)類型的分類
基本數(shù)據(jù)類型
引用數(shù)據(jù)類型
面向?qū)ο蟛糠种v解
C:基本數(shù)據(jù)類型分類(4類8種)
整數(shù)型
byte 占一個(gè)字節(jié) -128到127(8個(gè)比特位代表一個(gè)字節(jié),也就是8個(gè)開關(guān)的排列組合組成;范圍要背下來,面試可能要問:好記,根據(jù)字節(jié)去記)
short 占兩個(gè)字節(jié) -2^15~2^15-1
int 占四個(gè)字節(jié) -2^31~2^31-1
long 占八個(gè)字節(jié) -2^63~2^63-1
浮點(diǎn)型(小數(shù)型)
float 占四個(gè)字節(jié) -3.403E38~3.403E38 單精度
double 占八個(gè)字節(jié)-1.798E308~1.798E308 雙精度
字符型
char 占兩個(gè)字節(jié) 0~65535(沒有負(fù)數(shù)) 表示字符
布爾型
boolean
boolean理論上是占八分之一個(gè)字節(jié),因?yàn)橐粋€(gè)開關(guān)就可以決定是true和false了,但是java中boolean類型沒有明確指定他的大小
(面試題 問:布爾類型在內(nèi)存中占多大的取值范圍啊?坑,沒有指定:回到上面的總結(jié)即可)
(不能與其它類型進(jìn)行運(yùn)算的,但在C語言中可以運(yùn)算:0代表false,非0代表true)
11_(定義不同數(shù)據(jù)類型的變量)*
A:案例演示(~DataType)
定義不同基本數(shù)據(jù)類型的變量,并輸出
賦值時(shí)候注意float類型,long類型
12_(使用變量的注意事項(xiàng))*
A:案例演示
a:作用域問題
同一個(gè)區(qū)域不能使用相同的變量名
b:初始化值問題
局部變量在使用之前必須賦值
局部變量:聲明在方法上或者方法中的變量
c:一條語句可以定義幾個(gè)變量
int a,b,c...;
13_(數(shù)據(jù)類型轉(zhuǎn)換之隱式轉(zhuǎn)換:DataTypeConversion)*
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)算:這就被稱之為隱式轉(zhuǎn)換
C:畫圖解釋byte+int類型的問題
14_(數(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); (不加byte強(qiáng)轉(zhuǎn)會報(bào)錯(cuò):Java中報(bào)can not convert from int to byte; 如果用dos命令運(yùn)行報(bào)錯(cuò):可能損失精度)
C:強(qiáng)制轉(zhuǎn)換的注意事項(xiàng)
如果超出了被賦值的數(shù)據(jù)類型的取值范圍得到的結(jié)果會與你期望的結(jié)果不同(例如:126 + 4 / 300)
15_(面試題之變量相加和常量相加的區(qū)別)*
A:案例演示
面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
從兩方面去回答這個(gè)題
byte與byte(或short或char)類型的變量在進(jìn)行運(yùn)算的時(shí)候,會自動(dòng)類型提升為int類型
b1和b2是兩個(gè)變量,變量存儲的值是變化的,在編譯的時(shí)候,無法判斷里面具體的值,相加有可能超過byte的取值范圍.
byte b4 = 3 + 4;
3和4都是常量,java編譯器有常量優(yōu)化機(jī)制,就是在編譯的的時(shí)候直接判斷結(jié)果,如果在取值范圍內(nèi)就直接把3和4的結(jié)果賦值給b4了
16_(long與float的取值范圍誰大誰小)(了解)
進(jìn)行混合運(yùn)算的時(shí)候,byte,short,char不會相互轉(zhuǎn)換,都會自動(dòng)類型提升為int類型,其他類型進(jìn)行混合運(yùn)算的是小的數(shù)據(jù)類型提升為大的
byte,short,char -- int -- long -- float -- double
long: 8個(gè)字節(jié)
float:4個(gè)字節(jié)
4個(gè)字節(jié)是32個(gè)二進(jìn)制位
1位是符號位
8位是指數(shù)位(指數(shù)指代表多少次冪)
00000000 11111111
0到255
IEEE754(規(guī)定) * 0代表0 * 255代表無窮大 * 1到254(指數(shù):規(guī)定每個(gè)指數(shù)要減去127后如下) * -126到127(指數(shù)的范圍) * * 23位是尾數(shù)位(小數(shù)位) * 每個(gè)指數(shù)位減去127 * A:它們底層的存儲結(jié)構(gòu)不同。 * B:float表示的數(shù)據(jù)范圍比long的范圍要大 * long:2^63-1 * float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-117_(字符和字符串參與運(yùn)算)*
A:案例演示
System.out.println("a");
System.out.println("a"+1);
通過看結(jié)果知道"a"的值是多少,由此引出ASCII碼表
B:ASCII碼表的概述(ASCII = American Standard Code for Information Interchange)
記住三個(gè)值:
"0" 48
"A" 65
"a" 97
C:案例演示
System.out.println("hello"+"a"+1);//
System.out.println("a"+1+"hello");(從左向右順序) //
任何數(shù)據(jù)類型用+與字符串相連接都會產(chǎn)生新的字符串
D:+在有字符串參與中被稱為字符串連接符
System.out.println("5+5="+5+5);//
System.out.println(5+5+"=5+5");//
18_(char數(shù)據(jù)類型)*A:char c = 97; char的取值范圍:0到65535 編譯器判斷其在范圍內(nèi)就會賦值成功
B:Java語言中的字符char可以存儲一個(gè)中文漢字嗎?為什么呢?
可以。因?yàn)镴ava語言采用的是Unicode碼來編碼的。Unicode(萬國碼 utf-8)碼中的每個(gè)字符占用兩個(gè)字節(jié)。中文也是占的兩個(gè)字節(jié)
所以,Java中的字符可以存儲一個(gè)中文漢字
19_(算術(shù)運(yùn)算符的基本用法)*
A:什么是運(yùn)算符(operator)
就是對常量和變量進(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ù),必須把其中一個(gè)數(shù)據(jù)變化為浮點(diǎn)數(shù)類型,另一個(gè)數(shù)自動(dòng)類型提升
System.out.println(10/3);
System.out.println(10/3.0);
c:/獲取的是除法操作的商,%獲取的是除法操作的余數(shù)
%運(yùn)算符
當(dāng)左邊的絕對值小于右邊絕對值時(shí),結(jié)果是左邊
當(dāng)左邊的絕對值等于右邊或是右邊的倍數(shù)時(shí),結(jié)果是0
當(dāng)左邊的絕對值大于右邊絕對值時(shí),結(jié)果是余數(shù)
%運(yùn)算符結(jié)果的符號只和左邊有關(guān)系,與右邊無關(guān)
任何一個(gè)正整數(shù)%2結(jié)果不是0就是1可以用來當(dāng)作切換條件
20_(算術(shù)運(yùn)算符++和--的用法)*
A:++,--運(yùn)算符的作用
自加(++)自減(--)運(yùn)算
++:自加。對原有的數(shù)據(jù)進(jìn)行+1
--:自減。對原有的數(shù)據(jù)進(jìn)行-1
B:案例演示
a:多帶帶使用:
放在操作數(shù)的前面和后面效果一樣。(這種用法是我們比較常見的)
b:參與運(yùn)算使用:
放在操作數(shù)的后面,先取值參與運(yùn)算,再自增或者自減。
放在操作數(shù)的前面,先自增或者自減,然后再將結(jié)果參與運(yùn)算。
int a = 3; int b; b = a++; //b = ++a;21_(算術(shù)運(yùn)算符++和--的練習(xí))*
A:案例演示
請分別計(jì)算出a,b,c的值?
int a = 10; int b = 10; int c = 10; a = b++; c = --a; b = ++a; a = c--;
B:案例演示
請分別計(jì)算出x,y的值?
int x = 4;
int y = (x++)+(++x)+(x*10);
若a、b為int型變量,并且已分別賦值為5和10,則表達(dá)式(a++)+(++b)+a*b+a++的值為_____。
C:面試題
byte b = 10;
b++;
b = b + 1;
問哪句會報(bào)錯(cuò),為什么
22_(賦值運(yùn)算符的基本用法)*
A:賦值運(yùn)算符有哪些
a:基本的賦值運(yùn)算符:=
int a = 3; 把3賦值給a
3 = a;不能給常量賦值.
把=右邊的數(shù)據(jù)賦值給左邊。
b:擴(kuò)展的賦值運(yùn)算符:+=,-=,*=,/=,%=
+= 把左邊和右邊做加法,然后賦值給左邊。
a += 4; // a = a + 4;
23_(賦值運(yùn)算符的面試題)*
A:案例演示
面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
short s=1;
s = s+1;
short s=1;
s+=1;
24_(關(guān)系運(yùn)算符的基本用法及其注意事項(xiàng))*
A:關(guān)系運(yùn)算符有哪些(比較運(yùn)算符,條件運(yùn)算符)
==,!=,>,>=,<,<=
注意事項(xiàng):
無論你的操作是簡單還是復(fù)雜,結(jié)果是boolean類型。
"=="不能寫成"="。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76895.html
摘要:堆棧位于通用隨機(jī)訪問存儲器中,但通過堆棧指針可以從處理器那里獲得直接支持。堆棧指針若向下移動(dòng),則分配新的內(nèi)存若向上移動(dòng),則釋放那些內(nèi)存。創(chuàng)建程序時(shí),系統(tǒng)必須知道存儲在堆棧內(nèi)所有項(xiàng)的確切聲明周期,以便上下移動(dòng)堆棧指針。 寫在前面 首先我想說的是 Java編程思想——知識卡片 將是一系列文章,文章的內(nèi)容是我閱讀《Java編程思想》這本書的心得體會,那么我為什么要寫這一系列的文章呢?原因有一...
摘要:視圖層表示層數(shù)據(jù)傳遞給層實(shí)現(xiàn)接收用戶輸入并調(diào)用打印菜單獲取用戶輸入調(diào)用對應(yīng)方法歡迎來到學(xué)生管理系統(tǒng)添加用戶編輯用戶查詢用戶刪除用戶退出系統(tǒng)請輸入要操作的功能序號接收用戶的菜單選擇對選擇的菜單判 showImg(https://segmentfault.com/img/bVbiXjw?w=939&h=509); 1.視圖層 package net.allidea.studentoa.ui...
摘要:視圖層表示層數(shù)據(jù)傳遞給層實(shí)現(xiàn)接收用戶輸入并調(diào)用打印菜單獲取用戶輸入調(diào)用對應(yīng)方法歡迎來到學(xué)生管理系統(tǒng)添加用戶編輯用戶查詢用戶刪除用戶退出系統(tǒng)請輸入要操作的功能序號接收用戶的菜單選擇對選擇的菜單判 showImg(https://segmentfault.com/img/bVbiXjw?w=939&h=509); 1.視圖層 package net.allidea.studentoa.ui...
閱讀 3143·2021-09-22 15:50
閱讀 3343·2021-09-10 10:51
閱讀 3170·2019-08-29 17:10
閱讀 2934·2019-08-26 12:14
閱讀 1849·2019-08-26 12:00
閱讀 970·2019-08-26 11:44
閱讀 665·2019-08-26 11:44
閱讀 2833·2019-08-26 11:41