java變量與運(yùn)算符

Java變量

1敛滋、java中的變量

?? 1.變量先定義,后使用奈惑。

?? 2.定義:①聲明蚁廓,②賦值

?? 3.定義的三要素:數(shù)據(jù)類型 變量名 初始化值

2雷激、變量有以下兩種定義方式:

方式一:數(shù)據(jù)類型 變量名 //聲明

變量名 = 初始化值//賦值

int myInt1;// 聲明

System.out.println(myInt1);//使用

myInt1 = 2;// 賦值

System.out.println(myInt1);//

使用int myInt2, myInt3;// 聲明:

一次聲明多個(gè)myInt2 = 3;// 賦值myInt3 = 4;// 賦值

System.out.println(myInt2);//

使用int myInt4, myInt5;// 聲明

myInt4 = myInt5 = 7;// 連續(xù)賦值替蔬,使用不多

方式二:數(shù)據(jù)類型 變量名 = 初始化值;

int myInt6 = 9;int myInt7 = 9, myInt8 = 10;// 一次定義多個(gè)

3、變量的類型:基本數(shù)據(jù)類型(8種byte short int long float double char boolean)屎暇、引用數(shù)據(jù)類型(String)

1承桥、整數(shù)類型:byte(1字節(jié)) short(2字節(jié)) int(4字節(jié)) long(8字節(jié))

byte b = 12;

short s = 12;

int i = 12;

long l = 12l;//long類型變量,值得末尾加L或l

2根悼、浮點(diǎn)類型(帶小數(shù)):float單精度(4) double雙精度(8)

float f = 12.3f;//聲明float類型凶异,末尾要加F或f

?double d = 12.3;

3、字符型:char(2)挤巡,

有3中表現(xiàn)形式①剩彬、用''單引號(hào)括起來的單個(gè)字符char c = 'a';c = '中';

②轉(zhuǎn)義字符\c = '\n'; //轉(zhuǎn)義字符,/把n轉(zhuǎn)義為換行c = '\t';//代表制表符Tabc = '\"';

③直接使用 Unicode 值來表示字符型常量c = '\u4e2d';//Unicode字符做運(yùn)算

char c2 = 'A';//65

System.out.println(c2 + 1);

c2 = 'a';//97

System.out.println(c2 + 1);

引用數(shù)據(jù)類型:String矿卑,可以取值null

String str = "中國";

str = null;

基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別:基本數(shù)據(jù)類型 內(nèi)存中存儲(chǔ)的是值

引用數(shù)據(jù)類型 內(nèi)存中存儲(chǔ)的是地址喉恋,此地址指向?qū)ο螅?/p>

4、類型轉(zhuǎn)換

1)基本數(shù)據(jù)類型之間的轉(zhuǎn)換:boolean不可以轉(zhuǎn)換為其它

基本數(shù)據(jù)類型容量從小到大(參考圖)char-->int-->long-->float-->doublebyte-->short-->

①自動(dòng)類型轉(zhuǎn)換(隱式轉(zhuǎn)換)定義:容量小的數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型

②強(qiáng)制類型轉(zhuǎn)換定義:自動(dòng)類型轉(zhuǎn)換的逆過程粪摘,將容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型瀑晒。使用時(shí)要加上強(qiáng)制轉(zhuǎn)換符()

2)字符串與基本數(shù)據(jù)類型之間的轉(zhuǎn)換

①基本數(shù)據(jù)類型==>字符串:通過連接運(yùn)算符+,基本類型的值將自動(dòng)轉(zhuǎn)化為字符串類型

②字符串==>基本數(shù)據(jù)類型:通常徘意,字符串不能直接轉(zhuǎn)換為基本類型,但通過基本類型對(duì)應(yīng)的包裝類則可以實(shí)現(xiàn)把字符串轉(zhuǎn)換成基本類型如:

?String a = “43”; int i = Integer.parseInt(a);

容量從小到大char-->int-->long-->float-->doublebyte-->short-->

?*///自動(dòng)類型轉(zhuǎn)換:容量小的轉(zhuǎn)換為容量大的數(shù)據(jù)類型//

1)賦值運(yùn)算int i = 2;byte b = 1;i = b;System.out.println(i);short s = 3;i = s;System.out.println(i);char c = 'a';

i = c;

System.out.println(i);//

2)算術(shù)運(yùn)算:有多種類型的數(shù)據(jù)混合運(yùn)算時(shí)轩褐,系統(tǒng)首先自動(dòng)將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的數(shù)據(jù)類型椎咧,然后再進(jìn)行計(jì)算。

?int i2 = 1;

byte b2 = 2;

i2 = b2 + i2;

char c2 = 'b';

i2 = c2 + i2;//注意:byte把介、short勤讽、char之間不會(huì)相互轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為int類型

??? i2 = b2 + c2;//強(qiáng)制類型轉(zhuǎn)換:容量大的轉(zhuǎn)換為容量小的

long l = 12345L;

int i3 = (int)l;

byte b3 = (byte)i3;

System.out.println(Byte.MAX_VALUE);

System.out.println(Byte.MIN_VALUE);

System.out.println(b3);//注意:可能造成精度降低或溢出//-------------------------//

基本數(shù)據(jù)類型===>字符串

int i4 = 3;

String str = i4 + "";

字符串===>基本數(shù)據(jù)類型

str = "2";i4 = Integer.valueOf(str);

System.out.println(i4);}

5拗踢、運(yùn)算符1)算數(shù)運(yùn)算符:+(正號(hào)脚牍、加、字符串相加)-(負(fù)號(hào)巢墅、減)*(乘)/(除)%(取模)++ --

//除/int i = 12;

int j = 5;

int k = i / j;

System.out.println(k);//整數(shù)之間做除法時(shí)诸狭,只保留整數(shù)部分而舍棄小數(shù)部分

double d = i / j; //i / j 結(jié)果為2 int券膀,把int賦值給double,自動(dòng)類型轉(zhuǎn)換System.out.println(d);//2.0

d = (double)i / j; //(double)i強(qiáng)制類型轉(zhuǎn)換為double驯遇,double和int做運(yùn)算System.out.println(d);//2.4

d = i / 5.0;System.out.println(d);//2.4

//取模%(取余數(shù))

k = 13 % 5;

System.out.println(k);

//++

i = 1;

i++;//i = i + 1;

System.out.println(i);

++i;//i = i + 1;

System.out.println(i);

i = 1;

k = i++;//k=i;i=i+1;

System.out.println(k);

i = 1;

k = ++i;//i=i+1;k=i;

System.out.println(k);

//--

i = 2;

i--;

System.out.println(i);

i = 2;

--i;

System.out.println(i);

i = 2;

k = i--;//k=i;i=i-1;

System.out.println(k);//2

i = 2;

k = --i;//i=i-1;k=i;

System.out.println(k);//1

//字符串相加+

String str = "hel" + "lo";

System.out.println(str);

2)賦值運(yùn)算符

=:當(dāng)“=”兩側(cè)數(shù)據(jù)類型不一致時(shí)芹彬,可以使用自動(dòng)類型轉(zhuǎn)換或使用強(qiáng)制類型轉(zhuǎn)換原則進(jìn)行處理。

支持連續(xù)賦值叉庐。例如int i; int j; i=j=1;

擴(kuò)展賦值運(yùn)算符: +=, -=, *=, /=, %=

public class TestAssign

?{public static void main(String[] args) {

int i,j;

i = j = 1;

int a = 10;

a?= a + 3;

System.out.println(a);

a = 10;

a += 3;

System.out.println(a);

i = 13;

i = i % 5;

i = 13;

i %= 5;

boolean b = false;

if(b = true) { //b = true;if(b)

System.out.println("b是true");

} else {

System.out.println("b是false");}}}

3)比較運(yùn)算符(關(guān)系運(yùn)算符)

運(yùn)算符????? ? 運(yùn)算? ????? 范例??????? 結(jié)果

==?????????? 相等于??????? 4==3????? false

!=?????????????不等于????? 4!=3????? ?true

<??????????????? 小于??????? 4<3?????????false

>????????????????? 大于????? 4>3??????? ? true

<=????????????? 小于等于?? 4<=3(4<3或4==3) false

?>=??????????? 大于等于??? 4>=3(4>3或4==3) true

instanceof檢查是否是類的對(duì)象"Hello" instanceof? String true

說明:比較運(yùn)算符的結(jié)果都是boolean型;比較運(yùn)算符“==”不能誤寫成賦值運(yùn)算符“=”

public class TestCompare {

public static void main(String[] args) {

boolean b;b = (4 == 3);

System.out.println(b);

System.out.println(4 == 3);

b = (4 != 3);

b = 4 < 3;

?b = 4 > 3;

?b = 4 <= 3;

?? b = 4 >= 3;

System.out.println(b);

b = "hello" instanceof String;

System.out.println(b);

int i = 13;

//判斷i是否是偶數(shù)

b = (i % 2) == 0;b = (i % 2) != 1;

//判斷i是否是奇數(shù)

b = (i % 2) != 0;b = (i % 2) == 1;

//判斷i是否能被3整除

b = (i % 3) == 0;/

/判斷i是否能被7整除

b = (i % 7) == 0;

int s = 10;int t = 5;

//判斷s是否能被t整除

b = (s % t) == 0;

4)邏輯運(yùn)算符

&邏輯與????? |邏輯或???????? !邏輯非

&&短路與?????? ||短路或??? ? ^邏輯異或

說明:邏輯運(yùn)算符用于連接布爾表達(dá)式舒帮,結(jié)果都是boolean型,也就是要么是true陡叠,要么是false

運(yùn)算結(jié)果:

a???? ?? b??????? ? ? a&b???????? ? ? a&&b???????? ?? a|b ????????????? ?? a||b????????? ? !a????????? ? a^b

?true??? true???????? true?????????????? true??????????? true???????????? ? true?????????????false???? ? false

true???? false????? false??????????? ? false?????????? ? true????????????? true???????????? false??????? true

false???? true??????? false?????????????false??????????? true???????????? true???????????? true????????? true

false??????false?????? false??????????? false????????? ? false????????? ? false???????? ? true???????? false

?public class TestLogic {

public static void main(String[] args) {

boolean a = false, b = true;

System.out.println(a && b);//&&玩郊、 &結(jié)果相同

System.out.println(a || b);//|| 、|結(jié)果相同

System.out.println(!a);

System.out.println(a^b);

int x = 5;//x> 3) && (x < 6);

System.out.println(result);

System.out.println((x == 3) || (x == 5));//true

?System.out.println((x == 3) && (x == 5));

System.out.println(!(x == 3));

System.out.println(x <= 3);//x<3 || x==3

System.out.println((x == 3) ^ (x == 5));

?//&& &區(qū)別

/* * &&當(dāng)左邊表達(dá)式為false時(shí)枉阵,右邊表達(dá)式不再進(jìn)行運(yùn)算

?* &兩邊表達(dá)式都要進(jìn)行運(yùn)算 *


a = true; b = true;

if((a = false) && (b = false)) {//a=false;if(a&&(b=false))

System.out.println("1:" + a + b);

?} else {

System.out.println("2:" + a + b);

}

if((a = false) & (b = false)) {//a=false;b=false;if(a&b)

System.out.println("1:" + a + b);

?} else {

System.out.println("2:" + a + b); }

//|| |區(qū)別 } }

?5)三元運(yùn)算符

?public class TestSanYuan {

public static void main(String[] args) {

int x = 20; int y = 21; int max = (x>y)?x:y;

System.out.println(max);

/* 格式:(條件表達(dá)式)?表達(dá)式1:表達(dá)式2;

如果條件表達(dá)式結(jié)果為true瓦宜,運(yùn)算后的結(jié)果是表達(dá)式1;

?如果條件表達(dá)式結(jié)果為false岭妖,運(yùn)算后的結(jié)果是表達(dá)式2临庇;

?說明: 三元運(yùn)算符要求必須返回一個(gè)結(jié)果,結(jié)果的數(shù)據(jù)類型昵慌、表達(dá)式1的數(shù)據(jù)類型假夺、表達(dá)式2的數(shù)據(jù)類型要相同

*/ // max = (x>y)?"20":y; //三元運(yùn)算符可改寫為if-else語句,反之不行(if后的代碼塊可有多個(gè)語句)

?if(x>y) { max = x;

} else {

max = y;

}

//下面if語句無法改寫為三元運(yùn)算符

if(x > y) {

max = x;

System.out.println("x是大于y");

} else {

?max = y;

?}

?6)運(yùn)算符的優(yōu)先級(jí) 運(yùn)算符有不同的優(yōu)先級(jí)斋攀,所謂優(yōu)先級(jí)就是表達(dá)式運(yùn)算中的運(yùn)算順序已卷。上一行運(yùn)算符總優(yōu)先于下一行。 只有單目運(yùn)算符淳蔼、三元運(yùn)算符侧蘸、賦值運(yùn)算符是從右向左運(yùn)算的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鹉梨,一起剝皮案震驚了整個(gè)濱河市讳癌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌存皂,老刑警劉巖晌坤,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異旦袋,居然都是意外死亡骤菠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門疤孕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來商乎,“玉大人,你說我怎么就攤上這事祭阀○钠荩” “怎么了鲜戒?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長崩瓤。 經(jīng)常有香客問我袍啡,道長,這世上最難降的妖魔是什么却桶? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任境输,我火速辦了婚禮,結(jié)果婚禮上颖系,老公的妹妹穿的比我還像新娘嗅剖。我一直安慰自己,他們只是感情好嘁扼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布信粮。 她就那樣靜靜地躺著,像睡著了一般趁啸。 火紅的嫁衣襯著肌膚如雪强缘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天不傅,我揣著相機(jī)與錄音旅掂,去河邊找鬼。 笑死访娶,一個(gè)胖子當(dāng)著我的面吹牛商虐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播崖疤,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼秘车,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了劫哼?” 一聲冷哼從身側(cè)響起叮趴,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沦偎,沒想到半個(gè)月后疫向,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡豪嚎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谈火。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侈询。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖糯耍,靈堂內(nèi)的尸體忽然破棺而出扔字,到底是詐尸還是另有隱情囊嘉,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布革为,位于F島的核電站扭粱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏震檩。R本人自食惡果不足惜琢蛤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抛虏。 院中可真熱鬧博其,春花似錦、人聲如沸迂猴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沸毁。三九已至峰髓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間息尺,已是汗流浹背携兵。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掷倔,地道東北人眉孩。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像勒葱,于是被迫代替她去往敵國和親浪汪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問題:有一對(duì)兔子凛虽,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子死遭,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    開心的鑼鼓閱讀 3,310評(píng)論 0 9
  • 【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子凯旋,小兔子長到第三個(gè)月后每個(gè)月又生一...
    阿里高級(jí)軟件架構(gòu)師閱讀 3,283評(píng)論 0 19
  • 新虎日精進(jìn)447(5.17): 1.復(fù)習(xí) 2.上課4小時(shí) 3.考試2小時(shí) 4.打球3小時(shí) 本人天性如...
    新虎NewTiger閱讀 151評(píng)論 0 0