版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第3章Java語言基礎(chǔ)2通過本章的學(xué)習(xí),主要掌握以下知識(shí)點(diǎn):
Java使用的數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換
由鍵盤輸入數(shù)據(jù)
運(yùn)算符與表達(dá)式
本章的重點(diǎn):由鍵盤輸入數(shù)據(jù)本章的難點(diǎn):數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式及運(yùn)算符的優(yōu)先級(jí)、結(jié)合性
3本章主要介紹編寫Java程序必須掌握的若干語言基礎(chǔ)知識(shí),包括數(shù)據(jù)類型、變量、常量、表達(dá)式等。掌握這些基礎(chǔ)知識(shí),是編寫正確Java程序的前提條件。43.1數(shù)據(jù)類型
在程序設(shè)計(jì)中,數(shù)據(jù)是程序的必要組成部分,也是程序處理的對(duì)象。不同的數(shù)據(jù)有不同的數(shù)據(jù)類型,不同的數(shù)據(jù)類型有不同的數(shù)據(jù)結(jié)構(gòu)、不同的存儲(chǔ)方式,并且參與的運(yùn)算也不相同。通常計(jì)算機(jī)語言將數(shù)據(jù)按其性質(zhì)進(jìn)行分類,每一類稱為一種數(shù)據(jù)類型(datatype)。數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì)、取值范圍、存儲(chǔ)方式以及對(duì)數(shù)據(jù)所能進(jìn)行的運(yùn)算和操作。5
Java中的數(shù)據(jù)類型分為兩大類,一類是基本數(shù)據(jù)類型(primitivetypes),另一類是引用類型(referencetypes)?;緮?shù)據(jù)類型有整型(integral)、浮點(diǎn)型(floting)、邏輯型(logical)和字符型(textual);引用類型包括類(class)、數(shù)組(array)和接口(interface)。6基本數(shù)據(jù)類型所占內(nèi)存的大小是固定的,與軟硬件環(huán)境無關(guān)。存放的是數(shù)據(jù)值本身;引用數(shù)據(jù)類型在內(nèi)存中存放的是指向該數(shù)據(jù)的地址,不是數(shù)據(jù)本身,由多個(gè)基本數(shù)據(jù)構(gòu)成。稱為復(fù)合數(shù)據(jù)類型,有的數(shù)據(jù)也稱作指針。注意!這個(gè)指針與C++是不同的,僅表示數(shù)據(jù)存放的地址,而不能直接對(duì)物理地址進(jìn)行操作。7
Java定義了4類共8種基本類型,它們的分類及關(guān)鍵字如下:整型:byte,short,int,long。浮點(diǎn)型:float,double。邏輯型:boolean。字符型:char。81.整型整數(shù)有正整數(shù)、零、負(fù)整數(shù),其含義與數(shù)學(xué)中的含義相同。Java定義了四種表示整數(shù)的類型:字節(jié)型(byte)、短整型(short)、整型(int)、長整型(long)。每種整型的數(shù)據(jù)都是帶符號(hào)位的。Java的每種數(shù)據(jù)類型都對(duì)應(yīng)—個(gè)默認(rèn)的數(shù)值,使得這種數(shù)據(jù)類型變量的取值總是確定的,體現(xiàn)了其安全性。它們的特性如表3.1所示。類型數(shù)據(jù)位范圍byte(字節(jié)型)8-128~127,即-27~27-1Short(短整型)16-32768~32767,即-215~215-1int(整型)32-2147483648~2147483647,即-231~231-1long(長整型)64-9223372036854775808~9223372036854775807,即-263~263-l9表3.1Java的四種整型102.浮點(diǎn)型Java用浮點(diǎn)型表示數(shù)學(xué)中的實(shí)數(shù),也就是說既有整數(shù)部分又有小數(shù)部分的數(shù)。浮點(diǎn)數(shù)有兩種表示方式。Java的浮點(diǎn)型有單精度浮點(diǎn)(float)和雙精度浮點(diǎn)(double)兩種。它們的寬度和范圍如表3.2所示。類型數(shù)據(jù)位范圍float(單精度浮點(diǎn))321.4E-45~3.4E+38double(雙精度浮點(diǎn))644.9E-324~1.8E+30811表3.2Java的兩種浮點(diǎn)型123.邏輯型邏輯型(boolean)用來表示邏輯值,也稱為布爾型。它只有true和false兩個(gè)取值。其中,true代表“真”,false代表“假”,true和false不能轉(zhuǎn)換成數(shù)字表示形式。
134.字符型字符型(char)用來存儲(chǔ)字符。Java語言是用Unicode編碼表達(dá)的字符,在內(nèi)存中占兩個(gè)字節(jié)。由于Java的字符類型采用了Unicode這種新的國際標(biāo)準(zhǔn)編碼方案,因而便于東方字符和西方字符的處理。因此,與其他語言相比,Java處理多語種的能力大大加強(qiáng)。14(1)字符型數(shù)據(jù)聲明只包含單個(gè)字符,用’’括起。(2)所有ASCII字符都可以用單引號(hào)括起來,’*’,如若要得到數(shù)值,可以強(qiáng)制轉(zhuǎn)化(int)’*’(3)UNICODE字符集中的字符取值為0-65535,如果要取得該值表示的字符,要強(qiáng)制轉(zhuǎn)化intc=20320;chars=(char)c;數(shù)據(jù)類型關(guān)鍵字占用字節(jié)數(shù)默認(rèn)數(shù)值取值范圍布爾型boolean1falsetrue,false字節(jié)型byte10-128~127短整型short20-32768~32767整型int40-2147483648~2147483647長整型long80L-9223372036854775808~9223372036854775807單精度浮點(diǎn)型float40.0F1.4×10-45~3.4×1038雙精度型double80.0D4.9×10-324~1.8×10308字符型char2’\u0000’’\u0000’~’\uffff’15現(xiàn)將Java的4類8種基本數(shù)據(jù)類型總結(jié)歸納成表3.3。表3.3Java的基本數(shù)據(jù)類型數(shù)據(jù)類型所在的類最小值代碼最大值代碼byteJava.lang.ByteByte.MIN_VALUEByte.MAX_VALUEshortJava.lang.ShortShort.MIN_VALUEShort.MAX_VALUEintJava.lang.IntegerInteger.MIN_VALUEInteger.MAX_VALUElongJava.lang.LongLong.MIN_VALUELong.MAX_VALUEfloatJava.lang.FloatFloat.MIN_VALUEFloat.MAX_VALUEdoubleJava.lang.DoubleDouble.MIN_VALUEDouble.MAX_VALUE16為了使用上的方便Java提供了數(shù)值型數(shù)據(jù)的最大值與最小值的標(biāo)識(shí)符及常量值。如表3.4所示。表3.4數(shù)值型常量的特殊值代碼173.2關(guān)鍵字與標(biāo)識(shí)符1.關(guān)鍵字關(guān)鍵字(keyword)是Java中具有特殊含義的字符序列,因此Java不允許用戶對(duì)關(guān)鍵字賦予其他的含義。Java定義的關(guān)鍵字如表3.5所示。abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile18表3.5Java定義的關(guān)鍵字192.標(biāo)識(shí)符Java用標(biāo)識(shí)符(identifier)表示變量名、類名和方法名。也就是說,任何一個(gè)變量、常量、方法、對(duì)象和類都需要有名字,這些名字就是標(biāo)識(shí)符。標(biāo)識(shí)符可以由編程者自由指定,但是需要遵循一定的語法規(guī)定。標(biāo)識(shí)符要滿足如下的規(guī)定:(1)標(biāo)識(shí)符可以由字母、數(shù)字和下劃線(_)、美元符號(hào)($)組合而成;(2)標(biāo)識(shí)符必須以字母、下劃線或美元符號(hào)開頭,不能以數(shù)字開頭。203.3常量常量存儲(chǔ)的是在程序中不能被修改的固定值,也就是說常量是在程序運(yùn)行的整個(gè)過程中保持其值不改變的量。Java中的常量也是有類型的,包括整型、浮點(diǎn)型、邏輯型、字符型和字符串型常量。211.整型常量整型常量可以用來給整型變量賦值,整型常量可以采用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。
2.浮點(diǎn)型常量浮點(diǎn)型常量表示的是可以含有小數(shù)部分的數(shù)值常量。根據(jù)占用內(nèi)存長度的不同,可以分為一般浮點(diǎn)(單精度)常量和雙精度浮點(diǎn)常量兩種。其中,單精度常量后跟一個(gè)字母f或F,雙精度常量后跟一個(gè)字母d或D。雙精度常量后的d或D可以省略。22轉(zhuǎn)義符是一些有特殊含義、很難用一般方式來表達(dá)的字符,如回車、換行等。為了表達(dá)清楚這些特殊字符,Java中引入了一些特別的定義。所有的轉(zhuǎn)義符都用反斜線(\)開頭,后面跟著一個(gè)字符來表示某個(gè)特定的轉(zhuǎn)義符,如表3.6所示。轉(zhuǎn)義字符所代表的意義\f換頁(Formfeed),走紙到下一頁。\b退格(Backspace),后退一格。\n換行(Newline),將光標(biāo)移到下一行的開始。\r回車(Carriagereturn),將光標(biāo)移到當(dāng)前行的行首,但不移到下一行。\t橫向跳格(Tab),將光標(biāo)移到下一個(gè)制表符位置。\\反斜線字符(Backslash),輸出一個(gè)反斜杠。\'單引號(hào)字符(Singlequote),輸出一個(gè)單引號(hào)。\"雙引號(hào)字符(Doublequote),輸出一個(gè)雙引號(hào)。\uxxxx1到4位十六進(jìn)制數(shù)(xxxx)所表示的unicode字符。\ddd1到3位八制數(shù)(ddd)所表示的unicode字符,范圍在八進(jìn)制的000~377之間。23表3.6常用的轉(zhuǎn)義字符換行\(zhòng)n與回車\r的區(qū)別24計(jì)算機(jī)出現(xiàn)前的老式打印機(jī),每秒鐘打10個(gè)字符,打完一行用時(shí)0.2秒,兩個(gè)字符的時(shí)間,這時(shí)候有新字符要輸出就會(huì)丟失。研究人員加了兩個(gè)字符:回車:打印頭定位左邊界換行:向下移一行Unix系統(tǒng):只有換行\(zhòng)nWindows系統(tǒng):換行回車\n\r,Mac系統(tǒng):只有回車\r換行\(zhòng)n與回車\r的區(qū)別25Unix/Mac系統(tǒng)下的文件在Windows下打開,所有文字會(huì)變一行;Windows系統(tǒng)下的文件在Unix/Mac系統(tǒng)下打開,每行結(jié)尾可能會(huì)多一個(gè)“^M”265.字符串常量字符串常量是用雙引號(hào)括起的一串若干個(gè)字符(可以是0個(gè))。字符串中可以包括轉(zhuǎn)義符。標(biāo)志字符串開始和結(jié)束的雙引號(hào)必須在同一行。6.常量的聲明常量聲明的形式與變量聲明基本一樣,只需用關(guān)鍵字final標(biāo)識(shí),通常final寫在最前面。例如,
finalintMAX=10;
finalfloatPI=3.14f;273.4變量在程序中使用的值大多是需要經(jīng)常變化的數(shù)據(jù),用常數(shù)值表示顯然是不夠的,因此每一種計(jì)算機(jī)語言都使用變量(variable)來存儲(chǔ)數(shù)據(jù),變量的值在程序中是可以改變的,使用變量的原則是“先聲明后使用”,即變量在使用前必須先聲明。281.變量聲明計(jì)算機(jī)程序是通過內(nèi)存變量來操縱內(nèi)存中的數(shù)據(jù),所以程序在使用任何變量之前首先應(yīng)該在該變量和內(nèi)存單元之間建立聯(lián)系,這個(gè)過程稱為變量的聲明或稱變量的定義。
變量具有三個(gè)基本要素:名字、類型和值。29
變量聲明的格式如下:<類型><變量名>[=<初值>][,<變量名>[=<初值>]……]
例如,
inti,j,k;在聲明變量的同時(shí)也可以對(duì)變量進(jìn)行初始化,即賦初值。例如,
inti=0;302.變量的賦值當(dāng)聲明一個(gè)變量并沒有賦初值或需要重新對(duì)變量賦值時(shí),就需要使用賦值語句。Java語言的賦值語句同其他計(jì)算機(jī)語言的賦值語相同,其格式為:變量名=值下面舉例來說明。
booleanb=true;//聲明boolean型變量并賦值
intx,y=8;//聲明int型變量
floatf=2.718f;//聲明float型變量并賦值
doubled=3.1415;//聲明double型變量并賦值
charc;//聲明char型變量
c=’\u0031’;//為char型變量賦值
x=12;//為int型變量賦值313.5數(shù)據(jù)類型轉(zhuǎn)換Java的數(shù)據(jù)類型在定義時(shí)就已經(jīng)決定,因此不能隨意轉(zhuǎn)換成其他的數(shù)據(jù)類型,但Java容許用戶有限度地做類型轉(zhuǎn)換處理,這就是所謂的數(shù)據(jù)類型轉(zhuǎn)換,簡稱類型轉(zhuǎn)換。類型轉(zhuǎn)換就是在Java程序中,常數(shù)或變量從一種數(shù)據(jù)類型轉(zhuǎn)換到另一種數(shù)據(jù)類型。
32一、數(shù)值型不同類型數(shù)據(jù)的轉(zhuǎn)換由于數(shù)值型也分為不同的類型,所以數(shù)值型數(shù)據(jù)也有類型轉(zhuǎn)換問題。1.自動(dòng)類型轉(zhuǎn)換在程序中已經(jīng)定義好的數(shù)值型的變量,若是想以另一種類型表示時(shí),Java會(huì)在下列條件同時(shí)成立時(shí),自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換:(1)轉(zhuǎn)換前的數(shù)據(jù)類型與轉(zhuǎn)換后的類型兼容。(2)轉(zhuǎn)換后的數(shù)據(jù)類型的表示范圍比轉(zhuǎn)換前的類型大。
33【例3.1】數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換。//app3_1.java類型自動(dòng)轉(zhuǎn)換publicclassapp3_1{publicstaticvoidmain(Stringargs[]){ inta=155; floatb=21.0f; System.out.println(”a=”+a+”,b=”+b);//輸出a,b的值
System.out.println(”a/b=”+(a/b));//輸出a/b的值
}}輸出結(jié)果為:a=155,b=21.0a/b=7.3809524342.強(qiáng)制類型轉(zhuǎn)換如果要將較長的數(shù)據(jù)轉(zhuǎn)換成較短的數(shù)據(jù)時(shí),就要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換的格式如下:(欲轉(zhuǎn)換的數(shù)據(jù)類型)變量名35【例3.2】整型與浮點(diǎn)數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換。//app3_2.java整數(shù)與浮點(diǎn)數(shù)的類型轉(zhuǎn)換publicclassapp3_2{publicstaticvoidmain(Stringargs[]){inta=155; intb=9; floatg,h; System.out.println(”a=”+a+”,b=”+b);//輸出a,b的值
g=a/b;//將a除以b的結(jié)果放在g中
System.out.println(”a/b=”+g+”\n”);//輸出g的值
System.out.println(”a=”+a+”,b=”+b);//輸出a,b的值
h=(float)a/b;//先將a強(qiáng)制轉(zhuǎn)換成float類型后再參加運(yùn)算
System.out.println(”a/b=”+h);//輸出h的值
}}36程序執(zhí)行結(jié)果如下:a=155,b=9a/b=17.0a=155,b=9a/b=17.22222137二、字符串型數(shù)據(jù)與整型數(shù)據(jù)相互轉(zhuǎn)換1.字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)數(shù)字字符串型數(shù)據(jù)轉(zhuǎn)換成byte、short、int、float、double、long等數(shù)據(jù)類型,可以分別使用表3.7所提供的Byte、Short、Integer、Float、Double、Long類的parseXXX方法。轉(zhuǎn)換的方法功能說明Byte.parseByte()將字符串轉(zhuǎn)換為字節(jié)型數(shù)據(jù)Short.parseShort()將字符串轉(zhuǎn)換為短整型數(shù)據(jù)Integer.parseInt()將字符串轉(zhuǎn)換為整型數(shù)據(jù)Long.parseLong()將字符串轉(zhuǎn)換為長整型數(shù)據(jù)Float.parseFloat()將字符串轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)Double.parseDouble()將字符串轉(zhuǎn)換為雙精度型數(shù)據(jù)38表3.7字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)的方法39例如:StringMyNumber="1234.567";//定義字符串型變量MyNumberfloatMyFloat=Float.parseFloat(MyNumber);403.6由鍵盤輸入數(shù)據(jù)在程序設(shè)計(jì)中,經(jīng)常需要從鍵盤上讀取數(shù)據(jù),這時(shí)就需要用戶從鍵盤輸入數(shù)據(jù),從而可以增加與用戶之間的交互。利用鍵盤輸入數(shù)據(jù),Java語言提供了二種輸入格式。41importjava.io.*;publicclassclass_name//類名稱{publicstaticvoidmain(Stringargs[])throwsIOException{bufferedReaderbuf;Stringstr;……buf=newbufferedReader(newInputStreamReader(System.in));str=buf.readLine();……}}格式142【例3.3】從鍵盤輸入數(shù)據(jù)。//app3_3.java由鍵盤輸入字符串importjava.io.*;//加載java.io類庫里的所有類publicclassapp3_3{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf;Stringstr;buf=newBufferedReader(newInputStreamReader(System.in));System.out.print(”請(qǐng)輸入字符串;”);str=buf.readLine();//將輸入的文字指定給字符串變量str存放
System.out.println(”您輸入的字符串是:”+str);//輸出字符串
}}43為了簡化輸入操作,從JavaSE5版本開始在java.util類庫中新增了一個(gè)類專門用于輸入操作的類Scanner,可以使用該類輸入一個(gè)對(duì)象,語句格式如下:importjava.util.*;publicclassclass_name//類名稱{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);doublenum;
//聲明double型變量,也可聲明其他數(shù)值型變量
……num=reader.nextDouble();//調(diào)用reader對(duì)象的相應(yīng)方法,讀取鍵盤數(shù)據(jù)
……}}格式244【例3.6】利用Scanner類從鍵盤輸入多個(gè)數(shù)據(jù)。//app3_6.java由鍵盤輸入多個(gè)數(shù)據(jù)importjava.util.*;//加載java.util類庫里的所有類publicclassapp3_6{publicstaticvoidmain(String[]args){intnum1;doublenum2;Scannerreader=newScanner(System.in);System.out.print("請(qǐng)輸入第一個(gè)數(shù):");
num1=reader.nextInt();System.out.print("請(qǐng)輸入第二個(gè)數(shù):");
num2=reader.nextDouble();System.out.println(num1+"*"+num2+"="+(num1*num2));}}453.7運(yùn)算符與表達(dá)式運(yùn)算符是用來表示某一種運(yùn)算的符號(hào),它指明了對(duì)操作數(shù)所進(jìn)行的運(yùn)算。按操作數(shù)的數(shù)目來分,可以有一元運(yùn)算符(如++)、二元運(yùn)算符(如+、>)和三元運(yùn)算符(如?:),它們分別對(duì)應(yīng)于一個(gè)、兩個(gè)和三個(gè)操作數(shù)。按照運(yùn)算符功能來分,基本的運(yùn)算符有下面幾類。46算術(shù)運(yùn)算符+、-、*、/、%、++、--關(guān)系運(yùn)算符>、<、>=、<=、==、!=邏輯運(yùn)算符!、&&、||、&、|位運(yùn)算符>>、<<、>>>、&、|、^、~賦值運(yùn)算符=、及其擴(kuò)展賦值運(yùn)算符,如+=、/=等。條件運(yùn)算符?:其他運(yùn)算符號(hào)包括分量運(yùn)算符.、下標(biāo)運(yùn)算符[]、實(shí)例運(yùn)算符instanceof、內(nèi)存分配運(yùn)算符new、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)、方法調(diào)用運(yùn)算符()等。運(yùn)算符功能示例+加運(yùn)算a+b-減運(yùn)算a-b*乘運(yùn)算a*b/除運(yùn)算a/b%取模(求余)運(yùn)算a%b471.二元算術(shù)運(yùn)算符二元算術(shù)運(yùn)算符如表3.8所示。表3.8二元算術(shù)運(yùn)算符3.7.1算術(shù)運(yùn)算符運(yùn)算符功能示例+正值+a-負(fù)值-a++加1++a或a++--減1--a或a--482.一元算術(shù)運(yùn)算符一元算術(shù)運(yùn)算符如表3.9所示。表3.9一元算術(shù)運(yùn)算符49關(guān)系運(yùn)算符用于比較兩個(gè)值之間的大小,結(jié)果返回布爾類型的值true或false,關(guān)系運(yùn)算符都是二元運(yùn)算符,如表3.10所示。3.7.2關(guān)系運(yùn)算符
運(yùn)算符功能示例>大于a>b>=大于或等于a>=b<小于a<b<=小于或等于a<=b==等于a==b!=不等于a!=b50表3.10關(guān)系運(yùn)算符51邏輯運(yùn)算與關(guān)系運(yùn)算的關(guān)系非常密切,關(guān)系運(yùn)算是運(yùn)算結(jié)果為布爾型量的運(yùn)算,而邏輯運(yùn)算是操作數(shù)與運(yùn)算結(jié)果都是布爾型量的運(yùn)算。邏輯運(yùn)算符如表3.11所示。3.7.3邏輯運(yùn)算符運(yùn)算符功能示例運(yùn)算規(guī)則&邏輯與a&b兩個(gè)操作數(shù)均為true時(shí),結(jié)果才為true。|邏輯或a|b兩個(gè)操作數(shù)均為false時(shí),結(jié)果才為false。!邏輯非(取反)!a將操作數(shù)取反。^異或a^b兩個(gè)操作數(shù)同真或同假時(shí),結(jié)果才為false。&&簡潔與a&&b兩個(gè)操作數(shù)均為true時(shí),結(jié)果才為true。||簡潔或a||b兩個(gè)操作數(shù)均為false時(shí),結(jié)果才為false。52表3.11邏輯運(yùn)算符53【例3.8】關(guān)系運(yùn)算符和邏輯運(yùn)算符的使用。//app3_8.java關(guān)系運(yùn)算符和邏輯運(yùn)算符的使用publicclassapp3_8{publicstaticvoidmain(String[]args){inta=25,b=7;booleanx=a<b;//x=falseSystem.out.println(”a<b=”+x);inte=3;booleany=a/e>5;//y=trueSystem.out.println(”x^y=”+(x^y));if(e!=0&b<0)System.out.println(”b/0=”+b/0);elseSystem.out.println(”a%e=”+a%e);intf=0;if(f!=0&&a/f>5)System.out.println(”a/f=”+a/f);elseSystem.out.println(”f=”+f);}}54其運(yùn)行結(jié)果為:a<b=falsex^y=truea%e=1f=0553.7.4位運(yùn)算符
位運(yùn)算符是對(duì)操作數(shù)以二進(jìn)制比特位為單位進(jìn)行的操作和運(yùn)算,Java中提供了如表3.12所示的位運(yùn)算符。運(yùn)算符功能示例運(yùn)算規(guī)則~按位取反~a將a按位取反。&按位與a&b將a和b按比特位相與。|按位或a|b將a和b按比特位相或。^按位異或a^b將a和b按比特位相異或。>>左移a>>b將a各比特位向右移b位。<<右移a<<b將a各比特位向左移b位。>>>0填充右移a>>>b將a各比特位向右移b位,左邊的空位一律填0。56表3.12位運(yùn)算符操作符和表達(dá)式57取反舉例:bytex=20;00010100~x=-21;11101011??這個(gè)二進(jìn)制碼為什么是-21?計(jì)算機(jī)機(jī)內(nèi)部負(fù)數(shù)是以補(bǔ)碼形式存放的。輸出時(shí)是取反加一。符號(hào)位不變11101011,取反10010100,加1為10010101,-21。
583.7.5賦值運(yùn)算符1.賦值運(yùn)算符關(guān)于賦值運(yùn)算符“=”,我們?cè)?.4節(jié)介紹變量的賦值時(shí)已經(jīng)簡單提過。簡單的賦值運(yùn)算是把一個(gè)表達(dá)式的值直接賦給一個(gè)變量或?qū)ο?,使用的賦值運(yùn)算符是“=”,其格式如下:變量或?qū)ο?表達(dá)式
賦值運(yùn)算符右端的表達(dá)式可以還是賦值表達(dá)式,形成連續(xù)賦值的情況。例如:a=b=c=8;
592.?dāng)U展賦值運(yùn)算符在賦值符“=”前加上其他運(yùn)算符,即構(gòu)成擴(kuò)展賦值運(yùn)算符,例如:a+=3等價(jià)于a=a+3。表3.13列出了Java中的擴(kuò)展賦值運(yùn)算符及等效的表達(dá)式。運(yùn)算符示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源汽車牌照租賃及充電樁建設(shè)合同4篇
- 2025年度國際貿(mào)易出口合同國際貿(mào)易政策與法規(guī)解讀3篇
- 2024-2030年中國鹽酸普羅帕酮片行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資前景展望報(bào)告
- 《蚓激酶培訓(xùn)》課件
- 2025年模特選美賽事模特個(gè)人資料保密及合同約束協(xié)議2篇
- 2025年福建沙縣福旅旅游有限公司招聘筆試參考題庫含答案解析
- 2025年福建廈門建發(fā)通商有限公司招聘筆試參考題庫含答案解析
- 2025年甘肅古浪交通投資有限公司招聘筆試參考題庫含答案解析
- 2025年個(gè)人借款合同信用評(píng)級(jí)與授信條件4篇
- 2025年四川綿陽科技城新區(qū)投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【數(shù) 學(xué)】2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)上冊(cè)期末能力提升卷
- GB/T 26846-2024電動(dòng)自行車用電動(dòng)機(jī)和控制器的引出線及接插件
- 遼寧省沈陽市皇姑區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試語文試題(含答案)
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 妊娠咳嗽的臨床特征
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 2024年金融理財(cái)-擔(dān)保公司考試近5年真題附答案
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報(bào)書
- 高中語文古代文學(xué)課件:先秦文學(xué)
評(píng)論
0/150
提交評(píng)論