Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言逼纸。Java 技術(shù)具有卓越的通用性借帘、高效性蜘渣、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC肺然、數(shù)據(jù)中心蔫缸、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)际起、移動(dòng)電話和互聯(lián)網(wǎng)拾碌,同時(shí)擁有全球最大的開發(fā)者專業(yè)社群吐葱。
給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
常量的概述和使用
詳解進(jìn)制轉(zhuǎn)換原理。
原碼補(bǔ)碼
變量的的格式和使用
數(shù)據(jù)類型的概述的轉(zhuǎn)換
算術(shù)運(yùn)算符的使用
賦值運(yùn)算符的使用
關(guān)系運(yùn)算符的使用
常量的概述和使用
A:什么是常量
在程序執(zhí)行的過程中其值不可以發(fā)生改變
B:Java中常量的分類
字面值常量
自定義常量(面向?qū)ο蟛糠种v)
C:字面值常量的分類(6種常量)
字符串常量 用雙引號(hào)括起來的內(nèi)容
整數(shù)常量所有整數(shù)(無限個(gè))
小數(shù)常量所有小數(shù)
字符常量 用單引號(hào)括起來的內(nèi)容,里面只能放單個(gè)數(shù)字,單個(gè)字母或單個(gè)符號(hào)
‘10’,’ab’非法的校翔。
布爾常量較為特殊弟跑,只有true和false
空常量 null(數(shù)組部分講解)
D:案例演示
用輸出語句輸出各種常量。null不演示
classDemo1{
publicstaticvoidmain(String[] args){
//字符串常量
System.out.println("Hello World!");
//整數(shù)常量
System.out.println(100);
//小數(shù)常量
//默認(rèn)是Double精度類型
System.out.println(12.3);
//字符常量
//單個(gè)數(shù)字,單個(gè)字母,或單個(gè)符號(hào),一個(gè)也沒有不可以,超過也一個(gè)不可以防症。
System.out.println(' ');
//布爾常量
//true和false都是關(guān)鍵字
System.out.println(true);
//null常量不演示孟辑,后續(xù)會(huì)詳細(xì)講
//在字符常量中'100','ab',''均為非法,只能單個(gè)蔫敲,否則報(bào)錯(cuò)未結(jié)束的字符串
}
}
進(jìn)制概述和二,八,十六進(jìn)制圖解
A:什么是進(jìn)制
進(jìn)制:就是進(jìn)位制饲嗽,是人們規(guī)定的一種進(jìn)位方法。 對(duì)于任何一種進(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)制
B:二進(jìn)制的由來
其實(shí)二進(jìn)制來源與中國,請(qǐng)看史料記載
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é)是很了不起的接癌。
C:八進(jìn)制的由來
任何數(shù)據(jù)在計(jì)算機(jī)中都是以二進(jìn)制的形式存在的心赶。二進(jìn)制早期由電信號(hào)開關(guān)演變而來。一個(gè)整數(shù)在內(nèi)存中一樣也是二進(jìn)制的缺猛,但是使用一大串的1或者0組成的數(shù)值進(jìn)行使用很麻煩缨叫。
所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示荔燎。這三位可以取到的最大值就是7.超過7就進(jìn)位了耻姥,這就是八進(jìn)制。
D:十六進(jìn)制的由來
但是對(duì)于過長(zhǎng)的二進(jìn)制變成八進(jìn)制還是較長(zhǎng)有咨,所以出現(xiàn)的用4個(gè)二進(jìn)制位表示一位的情況琐簇,四個(gè)二進(jìn)制位最大是15,這就是十六進(jìn)制座享。
E:不同進(jìn)制表現(xiàn)同一個(gè)數(shù)據(jù)的形式特點(diǎn)
進(jìn)制越大婉商,表現(xiàn)形式越短
不同進(jìn)制數(shù)據(jù)的表現(xiàn)形式
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零似忧,五五四,六零七 】据某,無論你是大牛還是小白橡娄,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具癣籽,很多干貨和技術(shù)資料分享挽唉!
system-min.png
二進(jìn)制是所有進(jìn)制的基礎(chǔ)。8421筷狼,2的次方數(shù)瓶籽。
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:案例演示
classDemo2JinZhi{
publicstaticvoidmain(String[] args){
//二進(jìn)制,1.7版本前面加上0b表示二進(jìn)制,b大寫小寫都可以
System.out.println(0b100);
//八進(jìn)制
System.out.println(074);
//十進(jìn)制
System.out.println(100);
//十六進(jìn)制,10到15分別用a到f表示,大小寫都可以
System.out.println(0x3c);
// 0b1010101 052 0x52
}
}
* 輸出不同進(jìn)制表現(xiàn)100的數(shù)據(jù)俏险。
*0b100//二進(jìn)制 0b開頭
*0100//八進(jìn)制 0開頭
*100// 十進(jìn)制
*0x100//16進(jìn)制0x開頭
任意進(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開始編號(hào),對(duì)應(yīng)位上的編號(hào)即為該位的權(quán)莹痢。
結(jié)果:把系數(shù)*基數(shù)的權(quán)次冪相加即可种蘸。
B:畫圖練習(xí)
二進(jìn)制–十進(jìn)制
八進(jìn)制–十進(jìn)制
十六進(jìn)制–十進(jìn)制
進(jìn)制互相轉(zhuǎn)換原理圖
注意去權(quán)次冪的時(shí)候,從0開始要數(shù)到系數(shù)的位置竞膳,從1開始的話航瞭,要少數(shù)一位。
十進(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)制
jinzhi.png
快速的進(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)制的簡(jiǎn)易方式
D:二進(jìn)制到十六進(jìn)制的簡(jiǎn)易方式
8421ma-min.png
八進(jìn)制數(shù)字 三個(gè)bit位為一組。
十六進(jìn)制挠日,四個(gè)bit位為一組翰舌。
一個(gè)字節(jié)占八個(gè)個(gè)bit位嚣潜。
一個(gè)字椅贱,兩個(gè)字節(jié),16個(gè)bit位置舍悯。
原碼反碼補(bǔ)碼
A:為什么要講解有符號(hào)數(shù)據(jù)表示法
后面學(xué)習(xí)數(shù)據(jù)類型的時(shí)候,要學(xué)習(xí)強(qiáng)制類型轉(zhuǎn)換,如果不知道有原反補(bǔ)會(huì)看不懂結(jié)果
B:有符號(hào)數(shù)據(jù)表示法的幾種方式
原碼
就是二進(jìn)制定點(diǎn)表示法萌衬,即最高位為符號(hào)位,“0”表示正它抱,“1”表示負(fù)秕豫,其余位表示數(shù)值的大小。
通過一個(gè)字節(jié),也就是8個(gè)二進(jìn)制位表示+7和-7
0(符號(hào)位)0000111
1(符號(hào)位)0000111
反碼
正數(shù)的反碼與其原碼相同观蓄;負(fù)數(shù)的反碼是對(duì)其原碼逐位取反混移,但符號(hào)位除外。
補(bǔ)碼
正數(shù)的補(bǔ)碼與其原碼相同侮穿;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1歌径。
YuanMaFanMaBuMa-min.png
在計(jì)算機(jī)系統(tǒng)里面,存儲(chǔ)采用的是原碼的形式撮珠,計(jì)算采用的都是補(bǔ)碼的形式沮脖,進(jìn)行運(yùn)算。
原碼->反碼->補(bǔ)碼
原碼反碼補(bǔ)碼的練習(xí)
A:已知原碼求補(bǔ)碼(加一取反)
0b10110100
0b11001100
B:已知補(bǔ)碼求原碼
0b11101110 (減1取反)
ob10010010
YuanMaBuMaLianxi-min.png
變量的概述及格式
A:什么是變量
在程序執(zhí)行的過程中芯急,在某個(gè)范圍內(nèi)其值可以發(fā)生改變的量(ex:數(shù)學(xué)的未知數(shù))
B:變量的定義格式
數(shù)據(jù)類型 變量名 = 變量值;
C:為什么要定義變量
用來不斷的存放同一類型的常量勺届,并可以重復(fù)使用
數(shù)據(jù)類型的概述和分類
A:為什么有數(shù)據(jù)類型
Java語言是強(qiáng)類型語言,對(duì)于每一種數(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,short,int,long
浮點(diǎn)型
float,double
字符型
char
布爾型
boolean
D:引用數(shù)據(jù)類型
類(class)免姿、接口(interface)、數(shù)組([]).
classDemo1{
publicstaticvoidmain(String[] args){
//整數(shù)類型byte,short,int,long
/*
byte占的是1個(gè)字節(jié) = 8個(gè)bit
0 1111111 = 1 + 2 + 4 + 8 + 16 + 32 + 64 = 127
1 1111111 = -127
1 0000000 取反
1 0000001 -127的補(bǔ)碼
1 0000000 -128的補(bǔ)碼
0 0000001 減去1
-------------
1 1111111
1 0000000 -128的原碼
byte取值范圍是-128到127 -128到-1 0到127 256個(gè)數(shù)
short占的2個(gè)字節(jié) = 16個(gè)bit
int 占的4個(gè)字節(jié) = 32個(gè)bit //int是整數(shù)類型的默認(rèn)類型
long占的8個(gè)字節(jié) = 64個(gè)bit
*/
//浮點(diǎn)類型 float和double
/*
float占的是4個(gè)字節(jié)單精度
double占的是8個(gè)字節(jié)雙精度 double是浮點(diǎn)數(shù)的默認(rèn)類型
*/
//字符類型
/*
char占的兩個(gè)字節(jié) 0到65535之間
*/
//布爾類型
/*
布爾類型占幾個(gè)字節(jié)?
按照bit位算的話,應(yīng)該占的是八分之一個(gè)字節(jié)
java中沒有明確布爾類的大小榕酒。
*/
}
}
定義不同數(shù)據(jù)類型的變量
A:案例演示
定義不同基本數(shù)據(jù)類型的變量胚膊,并輸出
賦值時(shí)候注意float類型,long類型
classDemo2DateType{
publicstaticvoidmain(String[] args){
//整數(shù)類型
byteb =100;
shorts =1000;
inti =10000;
longl =123456789012345678L;
//System.out.println(12345+5432l);
//切記如果想標(biāo)識(shí)long類型的數(shù),超過了int的取值范圍
//需要在末尾加上L,最好是大寫,因?yàn)樾懙奶?這個(gè)數(shù)字;
//浮點(diǎn)類型
//13.4后面的d可以省略,d可以是大寫也可以是小寫
//默認(rèn)的double類型
floatf =12.3f;
doubled =13.4d;
//字符類型
charc1 ='a';
charc2 ='0';
charc3 ='中';
//字符是否可以存儲(chǔ)中文?
//可以,java是unicode編碼,char類型占的兩個(gè)字節(jié),、
//而一個(gè)中文占的也是兩個(gè)字節(jié)
//System.out.println(c3);
//布爾類型
booleanb1 =true;
booleanb2 =false;
}
}
附上一個(gè)截圖想鹰,不同數(shù)據(jù)類型的取值范圍
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零紊婉,五五四,六零七 】辑舷,無論你是大牛還是小白喻犁,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享肢础!
fanwei-min.PNG
整型的取值范圍默認(rèn)是int还栓,浮點(diǎn)型默認(rèn)是double,所以當(dāng)使用float單精度定義數(shù)據(jù)時(shí)候必須帶有f,數(shù)字過于大的話传轰,需要在末尾帶有L(小寫容易混淆)剩盒。
使用變量的注意事項(xiàng)
A:案例演示
a:作用域問題
同一個(gè)區(qū)域不能使用相同的變量名
b:初始化值問題
局部變量在使用之前必須賦值
c:一條語句可以定義幾個(gè)變量
int a,b,c…;
classDemo3DateType{
publicstaticvoidmain(String[] args){//作用域
intx =10;
//賦值將原來10覆蓋掉
x =20;
//System.out.println(x);
inty;
//變量在使用之前必須賦值
y =30;
//System.out.println(y);
//一條語句可以聲明多個(gè)變量
inta,b,c;
a =10;
b =20;
c =30;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
數(shù)據(jù)類型轉(zhuǎn)換之隱式轉(zhuǎn)換
A:案例演示
a:int + int
b:byte + int 的結(jié)果分別用byte和int類型接收,看效果
B:Java中的默認(rèn)轉(zhuǎn)換規(guī)則
C:畫圖解釋byte+int類型的問題
leixing-min.png
由于java中整型的數(shù)據(jù)默認(rèn)是int類型慨蛙,因此 short btye類型的數(shù)據(jù)和int類型的進(jìn)行運(yùn)算的時(shí)候辽聊,會(huì)被自動(dòng)提升稱為int類型。
int和long等更高精度的數(shù)據(jù)運(yùn)算時(shí)股淡,會(huì)提升成為long等更高精度的數(shù)據(jù)類型身隐,為了確保精度。
數(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é)果會(huì)與你期望的結(jié)果不同
classDemo4DateType{
publicstaticvoidmain(String[] args){
/*int i = 100;
byte b = 50;
//自動(dòng)類型提升(隱式轉(zhuǎn)換)
i = i + b;
System.out.println(i);*/
//int類型的150
//00000000 00000000 00000000 10010110
// 用byte強(qiáng)轉(zhuǎn)150后的結(jié)果唯灵,運(yùn)算中都是使用補(bǔ)碼(只截取最后八位)
//10010110
//0 1101010106
//1 1101010-106的原碼
//1 0010101-106的反碼
//0 0000001 +1
//1 0010110-106的補(bǔ)碼
inti =100;
byteb =50;
b = (byte)(i + b);//強(qiáng)制類型轉(zhuǎn)換(丟失精度)
System.out.println(b);
byteb2 = (byte)300;
System.out.println(b2);
//300的二進(jìn)制表現(xiàn)形式贾铝,本應(yīng)該占32位
//00000000 00000000 00000001 00101100
//00101100強(qiáng)轉(zhuǎn)成了byte,精度丟失埠帕。
}
}
面試題之變量相加和常量相加的區(qū)別
A:案例演示
面試題:看下面的程序是否有問題垢揩,如果有問題,請(qǐng)指出并說明理由敛瓷。
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;(報(bào)錯(cuò))
從兩方面去回答這個(gè)題
b1和b2是兩個(gè)變量,變量里面存儲(chǔ)的值都是變化的,所以在程序運(yùn)行中JVM是無法判斷里面具體的值
byte類型的變量在進(jìn)行運(yùn)算的時(shí)候,會(huì)自動(dòng)類型提升為int類型 叁巨,所相當(dāng)于把一個(gè)int的值給了byte,編譯報(bào)錯(cuò)
byte b4 = 3 + 4;(沒問題)
3和4都是常量,java有常量?jī)?yōu)化機(jī)制,就是在編譯的的時(shí)候直接把3和4的結(jié)果賦值給b4了
//面試題(數(shù)據(jù)類型轉(zhuǎn)換)
classDemo5DateType{
publicstaticvoidmain(String[] args){
byteb,b1,b2;
b1 =3;
b2 =4;
//b = b1 + b2;
b =3+4;
//這兩種哪種會(huì)報(bào)錯(cuò),為什么
//b1和b2是兩個(gè)byte類型的變量,
//在進(jìn)行運(yùn)算的會(huì)自動(dòng)類型提升為int類型
//b1和b2是兩個(gè)變量,jvm無法判斷里面具體的值
//3和4是兩個(gè)常量,java有一個(gè)常量?jī)?yōu)化機(jī)制,在編譯直接講常量相加的結(jié)果算出并賦值
System.out.println(b);
bytex =100;
}
}
數(shù)據(jù)類型中補(bǔ)充的幾個(gè)小問題
A:在定義long或者float類型的變量的時(shí)候呐籽,需要在末尾跟上L和F锋勺;
因?yàn)槟J(rèn)的數(shù)據(jù)類型是int和double
byte和short在定義的時(shí)候,他們接收的實(shí)際上是一個(gè)int類型值狡蝶,越界就會(huì)報(bào)錯(cuò)
B: Byte的值問題
byte b1 =127;
byte b2 =(byte)300; //損失精度
byte b4 =(byte)130; //損失精度庶橱,此外計(jì)算機(jī)在進(jìn)行運(yùn)算的時(shí)候,都是使用補(bǔ)碼
byte的取值范圍 -128~127贪惹;
C: 數(shù)據(jù)類型轉(zhuǎn)換之默認(rèn)轉(zhuǎn)換
進(jìn)行混合運(yùn)算的時(shí)候,byte,short,char不會(huì)相互轉(zhuǎn)換,都會(huì)自動(dòng)類型提升為int類型,其他類型進(jìn)行混合運(yùn)算的是小的數(shù)據(jù)類型提升為大的
byte,short,char – int – long – float – double
long: 8個(gè)字節(jié)
float:4個(gè)字節(jié)
IEEE754 國際制定的標(biāo)準(zhǔn)
4個(gè)字節(jié)是32個(gè)二進(jìn)制位
1位是符號(hào)位 1是負(fù)數(shù)苏章,0是正數(shù)
8位是指數(shù)位
00000000 11111111
0到255
1到254
每個(gè)指數(shù)位減去127
-126到127
23位是尾數(shù)位(無限接近1)
A:它們底層的存儲(chǔ)結(jié)構(gòu)不同。
B:float表示的數(shù)據(jù)范圍比long的范圍要大
long:2^63-1
float:3.410^38 > 210^38 > 28^38 = 22^3^38 = 2*2^114 > 2^63-1
D: java語言中的字符char可以存儲(chǔ)漢字嗎奏瞬?為什么枫绅?
可以的,因?yàn)閖ava語言采用的是Unicode編碼硼端,unicode編碼中每個(gè)字符占用兩個(gè)字節(jié)
所以并淋,java中的字符可以存儲(chǔ)一個(gè)中文漢字。
字符和字符串參與運(yùn)算
A:案例演示
System.out.println(‘a(chǎn)’); //a的acsII碼表 97
System.out.println(‘a(chǎn)’+1);//輸出 98 提升成int類型
System.out.println((char)(’a’+1));//強(qiáng)轉(zhuǎn)輸出 b
System.out.println((char)(98));//強(qiáng)轉(zhuǎn)輸出 b
System.out.println((char)(100));//強(qiáng)轉(zhuǎn)輸出 珍昨? 只用到了127位(Unicode)
通過看結(jié)果知道’a’的值是多少,由此引出ASCII碼表
B:ASCII碼表的概述
記住三個(gè)值:
‘0’ 48
‘A’ 65
‘a(chǎn)’ 97
C:案例演示
System.out.println(“hello”+’a’+1);//輸出:helloa1 任何數(shù)據(jù)用+與字符串連接最后都會(huì)產(chǎn)生新的字符串
System.out.println(‘a(chǎn)’+1+”hello”);//輸出: 98 hello
D:+在有字符串參與中被稱為字符串連接符
System.out.println(“5+5=”+5+5);//輸出 5+5=55
System.out.println(5+5+”=5+5”);//輸出:10=5+5
char數(shù)據(jù)類型
A:char c = 97;
B:Java語言中的字符char可以存儲(chǔ)一個(gè)中文漢字嗎?為什么呢?
可以县耽。因?yàn)镴ava語言采用的是Unicode編碼订咸。Unicode編碼中的每個(gè)字符占用兩個(gè)字節(jié)。
所以酬诀,Java中的字符可以存儲(chǔ)一個(gè)中文漢字
算術(shù)運(yùn)算符的基本用法
A:什么是運(yùn)算符
B:運(yùn)算符的分類
C:算數(shù)運(yùn)算符有哪些
D:案例演示
算數(shù)運(yùn)算符的基本用法
注意事項(xiàng):
a:整數(shù)相除只能得到整數(shù)。如果想得到小數(shù)骆撇,必須把數(shù)據(jù)變化為浮點(diǎn)數(shù)類型
b:/獲取的是除法操作的商瞒御,%獲取的是除法操作的余數(shù)
yunsuanfu-min.png
//取模運(yùn)算
classDemo7Operator{
publicstaticvoidmain(String[] args){
//取模運(yùn)算就是取余數(shù)
//System.out.println(12 % 5);
//如果左邊絕對(duì)值小于右邊就是本身
//System.out.println(-3 % 5);
//如果左邊絕對(duì)值是右邊的倍數(shù)時(shí),結(jié)果為0
//System.out.println(-10 % 5);
//如果左邊的絕對(duì)值大于右邊,結(jié)果是余數(shù),符號(hào)取決于左邊,右邊忽略不計(jì)
//System.out.println(13 % -5);
//一個(gè)數(shù)模與2結(jié)果要么是0,要么是1,可以用來切換條件
//System.out.println(3 % 2);
inta =100;
intb =30;
System.out.println(a / b);//整數(shù)與整數(shù)運(yùn)算結(jié)果肯定是整數(shù),不能是小數(shù) out : 3
}
}
算術(shù)運(yùn)算符++和–的用法
A:++,–運(yùn)算符的作用
自加(++)自減(–)運(yùn)算
++:自加。對(duì)原有的數(shù)據(jù)進(jìn)行+1
–:自減神郊。對(duì)原有的數(shù)據(jù)進(jìn)行-1
B:案例演示
a:單獨(dú)使用:
放在操作數(shù)的前面和后面效果一樣肴裙。(這種用法是我們比較常見的)
b:參與運(yùn)算使用:
放在操作數(shù)的前面,先自增或者自減涌乳,然后再參與運(yùn)算蜻懦。
放在操作數(shù)的后面,先參與運(yùn)算夕晓,再自增或者自減宛乃。
同理a–
classDemo8Operator{
publicstaticvoidmain(String[] args){
/*int a = 4;
a++; a++ 相當(dāng)于a = a+1
//如果++符號(hào)放在變量的后面,是先賦值,再自加
int b = a++;
//無論賦值,還是運(yùn)算,還是打印都是先將變量里的值拿出來,然后在自身+1
//System.out.println("b = " + b);
System.out.println(a++);//輸出4
System.out.println(a);*///輸出 5
inta =4;
++a;//a++和++a單獨(dú)寫沒有區(qū)別
//int b = ++a;//如果++符號(hào)放在變量的前面,是先自加,然后再賦值
//System.out.println("b = " + b);
System.out.println(a);
}
}
算術(shù)運(yùn)算符++和–的練習(xí)
A:案例演示
請(qǐng)分別計(jì)算出a,b,c的值?
int a = 10;
intb =10;
intc =10;
a = b++;//a = 10 b = 11
c = --a;//c = 9 a = 9
b = ++a;//b = 10 a = 10
a = c--;//a = 9 c = 8
B:案例演示
請(qǐng)分別計(jì)算出x,y的值?
intx =4;
inty = (x++)+(++x)+(x*10);
classDemo9Operator{
publicstaticvoidmain(String[] args){
/*int a = 10;
int b = 10;
int c = 10;
a = b++;//a = 10 b = 11
System.out.println(a);//10
c = --a;//c = 9 a = 9
b = ++a;//b = 10 a = 10
a = c--;//a = 9 c = 8
System.out.println("=================================");
System.out.println(a);//9
System.out.println(b);//10
System.out.println(c);//8*/
intx =4;
//4 + 6 + 6 * 10 = 70
inty = (x++)+(++x)+(x*10);
System.out.println(x);
System.out.println(y);
}
}
賦值運(yùn)算符的基本用法
A:賦值運(yùn)算符有哪些
B:案例演示
賦值運(yùn)算符的基本用法
注意事項(xiàng):
a:基本的賦值運(yùn)算符:=
把=右邊的數(shù)據(jù)賦值給左邊。
b:擴(kuò)展的賦值運(yùn)算符:+=,-=,*=,/=,%=
+= 把左邊和右邊做加法蒸辆,然后賦值給左邊征炼。
賦值運(yùn)算符的面試題
A:案例演示
面試題:看下面的程序是否有問題,如果有問題躬贡,請(qǐng)指出并說明理由谆奥。
short s=1;s = s+1;
short s=1;s+=1;
//面試題
classDemo10Operator{
publicstaticvoidmain(String[] args){
inta =10;
//a += 20;//a = a + 20;相當(dāng)于將左右兩邊相加的結(jié)果再賦值給左邊,
//20 += a;//左邊一定是變量
a *=20;
//System.out.println(a);
shorts=1;
//short類型與int類型進(jìn)行運(yùn)算會(huì)提升為int類型,結(jié)果是int類型,不能賦值給short類型
//s = s+1;
// s = (short)(s + 1);+=號(hào)是一個(gè)賦值運(yùn)算符,所以為了能夠保證賦值成功,會(huì)把int類型強(qiáng)轉(zhuǎn)為short類型
s+=1;
System.out.println(s);
}
}
關(guān)系運(yùn)算符的基本用法及其注意事項(xiàng)
A:關(guān)系運(yùn)算符有哪些
B:案例演示
關(guān)系運(yùn)算符的基本用法
注意事項(xiàng):
無論你的操作是簡(jiǎn)單還是復(fù)雜,結(jié)果是boolean類型拂玻。
“==”不能寫成”=”酸些。
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零,五五四檐蚜,六零七 】魄懂,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)熬甚!裙內(nèi)有開發(fā)工具逢渔,很多干貨和技術(shù)資料分享!