本文實(shí)例講述了Java基本數(shù)據(jù)類(lèi)型和運(yùn)算符。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),華容網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:華容等地區(qū)。華容做網(wǎng)站價(jià)格咨詢(xún):13518219792
Java 是一種強(qiáng)類(lèi)型的語(yǔ)言,聲明變量時(shí)必須指明數(shù)據(jù)類(lèi)型。變量(variable)的值占據(jù)一定的內(nèi)存空間。不同類(lèi)型的變量占據(jù)不同的大小。
Java中共有8種基本數(shù)據(jù)類(lèi)型,包括4 種整型、2 種浮點(diǎn)型、1 種字符型、1 種布爾型,請(qǐng)見(jiàn)下表。
Java基本數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型 | 說(shuō)明 | 所占內(nèi)存 | 舉例 | 備注 |
byte | 字節(jié)型 | 1 byte | 3,127 | |
short | 短整型 | 2 bytes | 3,32767 | |
int | 整型 | 4 bytes | 3,21474836 | |
long | 長(zhǎng)整型 | 8 bytes | 3L,92233720368L | long最后要有一個(gè)L字母(大小寫(xiě)無(wú)所謂) |
float | 單精度浮點(diǎn)型 | 4 bytes | 1.2F, 223.56F | float最后最好有一個(gè)F字母(大小寫(xiě)無(wú)所謂)。 |
double | 雙精度浮點(diǎn)型 | 8 bytes | 1.2, 1.2D, 223.56, 223.56D | double最后最好有一個(gè)D字母(大小寫(xiě)無(wú)所謂)。 |
char | 字符型 | 2 bytes | 'a','A' | 字符型數(shù)據(jù)只能是一個(gè)字符,由單引號(hào)包圍。 |
boolean | 布爾型 | 1 bit | true, false |
Java中的數(shù)值類(lèi)型不存在無(wú)符號(hào)的,它們的取值范圍是固定的,不會(huì)隨著機(jī)器硬件環(huán)境或者操作系統(tǒng)的改變而改變。實(shí)際上, Java中還存在另外一種基本類(lèi)型void,它也有對(duì)應(yīng)的包裝類(lèi) java.lang.Void,不過(guò)我們無(wú)法直接對(duì)它們進(jìn)行操作。對(duì)于數(shù)值類(lèi)型的基本類(lèi)型的取值范圍,我們無(wú)需強(qiáng)制去記憶,因?yàn)樗鼈兊闹刀家呀?jīng)以常量的形式定義在對(duì)應(yīng)的包裝類(lèi)中了。請(qǐng)看下面的例子:
public class PrimitiveTypeTest { public static void main(String[] args) { // byte System.out.println("基本類(lèi)型:byte 二進(jìn)制位數(shù):" + Byte.SIZE); System.out.println("包裝類(lèi):java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); // short System.out.println("基本類(lèi)型:short 二進(jìn)制位數(shù):" + Short.SIZE); System.out.println("包裝類(lèi):java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); // int System.out.println("基本類(lèi)型:int 二進(jìn)制位數(shù):" + Integer.SIZE); System.out.println("包裝類(lèi):java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); // long System.out.println("基本類(lèi)型:long 二進(jìn)制位數(shù):" + Long.SIZE); System.out.println("包裝類(lèi):java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); // float System.out.println("基本類(lèi)型:float 二進(jìn)制位數(shù):" + Float.SIZE); System.out.println("包裝類(lèi):java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); // double System.out.println("基本類(lèi)型:double 二進(jìn)制位數(shù):" + Double.SIZE); System.out.println("包裝類(lèi):java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); // char System.out.println("基本類(lèi)型:char 二進(jìn)制位數(shù):" + Character.SIZE); System.out.println("包裝類(lèi):java.lang.Character"); // 以數(shù)值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺(tái) System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以數(shù)值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺(tái) System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); } }
整數(shù)型包括byte、short、int和long。
public class Demo1 { public static void main(String[] args) { //字面值 默認(rèn)是int類(lèi)型 byte n1 = 12; short n2 = 45; int n3 = 456; long n4 = 67L;// L 或 l } }
二進(jìn)制太長(zhǎng)可以使用下劃線(xiàn)來(lái)進(jìn)行區(qū)分
public class Demo1 { public static void main(String[] args) { int n5 = 0B1010_1111_0011_1100;//二進(jìn)制用0B或0b表示 int n6 = 017;//八進(jìn)制用0表示 int n7 = 0xffff;//十六進(jìn)制用0x或0X表示 long n8 = 12345678987654321L; } }
浮點(diǎn)型包括double和float。
注意:1.不要在數(shù)量級(jí)相差很大的浮點(diǎn)類(lèi)型之間進(jìn)行運(yùn)算。2.避免進(jìn)行等量的判斷
import java.math.*; public class Demo1 { public static void main(String[] args) { float f1 = 34.5f;//f 或 F 默認(rèn)為 double類(lèi)型 double d1 = 456.78d;//后綴 d 或 D double d2 = 2.4e20;// e或 E 以 10為底 //浮點(diǎn)型可以表示十六進(jìn)制,但是必須以科學(xué) //計(jì)數(shù)法表示,而且 以 p為底 double d3 = 0x3.4p20;// p或 P以2 double d4 = 2.4e20; double d5 = d4 + 1; double num1 = 0.1; double num2 = 0.2; double num3 = num1 + num2;//0.3 //java.lang System.out.println(num3 == 0.3);//不一樣 輸出結(jié)果false System.out.println(num3);//輸出結(jié)果 0.30000000000000004 //處理 java.math包 BigDecimal number1 = new BigDecimal("0.1"); BigDecimal number2 = new BigDecimal("0.2"); System.out.println(number1.add(number2));//輸出結(jié)果 0.3 } }
char類(lèi)型
只能存儲(chǔ)一個(gè)字符,只能使用單引號(hào)
布爾(boolean)型包括true和false
public class Demo2 { public static void main(String[] args) { String name = "郭靖"; String address = "北京"; //+ 連接字符串 System.out.println(name+address); int n1 = 1; int n2 = 1; System.out.println(n1 + n2);//輸出結(jié)果:2 // 2 +"郭靖"-》 “2郭靖” System.out.println(n1+n2+name);//輸出結(jié)果:2郭靖 //"郭靖1"+n2 ->"郭靖11“ System.out.println(name+n1+n2);//輸出結(jié)果:郭靖11 } }
小-》 大
低-》 高
大-》小
高-》低
語(yǔ)法格式為:(強(qiáng)制轉(zhuǎn)換的數(shù)據(jù)類(lèi)型)操作數(shù)
int num = (int)45.67;
前提:運(yùn)算
結(jié)果:采取高類(lèi)型(范圍大的數(shù)據(jù)類(lèi)型作為結(jié)果)
分類(lèi):根據(jù)操作數(shù)的個(gè)數(shù)
一元
二元
三元
public class Demo5 { public static void main(String[] args) { System.out.println(5 + 2);//輸出結(jié)果:7 System.out.println(5 - 2);//輸出結(jié)果:3 System.out.println(5 * 2);//輸出結(jié)果:10 //------------除法-------------------------- //除數(shù)和被除數(shù)都是整數(shù)結(jié)果會(huì)取整數(shù)部分 System.out.println(5 / 2);////輸出結(jié)果:2 System.out.println(5.0 / 2);//輸出結(jié)果:2.5 System.out.println(5 / 2.0);//輸出結(jié)果:2.5 System.out.println(5.0 / 2.0);//輸出結(jié)果:2.5 //除數(shù)為0 拋出異常 //System.out.println(5 / 0); System.out.println(5.0 / 0);//正無(wú)窮大 輸出結(jié)果:Infinity System.out.println(-5.0 / 0);//負(fù)無(wú)窮大 輸出結(jié)果:-Infinity //非數(shù)字NaN System.out.println(0.0 / 0);//輸出結(jié)果:NaN //-----------------取余數(shù),取模---------------------------- System.out.println( 5 % 2);//輸出結(jié)果:1 System.out.println(5.0 % 2);//輸出結(jié)果:1.0 System.out.println(5 % -2);//輸出結(jié)果: 1 System.out.println(-5 % 2);//輸出結(jié)果:-1,符號(hào)看被除數(shù) //---------------習(xí)題講解-------------------------------- /*根據(jù)天數(shù)(46)計(jì)算周數(shù)和剩余的天數(shù)*/ int days = 46; int week = days / 7;//周 int day = days % 7;//余數(shù)天 System.out.println(week+"周,余數(shù)"+day+"天"); //---------------------------------------------- /* 對(duì)于隨意輸入的一個(gè)3位數(shù), 反轉(zhuǎn);例如:234反轉(zhuǎn)后 (將每一個(gè)數(shù)字反轉(zhuǎn)輸出即可):432 */ int num = 234; int n1,n2,n3; n1 = num % 10;//個(gè)位 n2 = num / 10 % 10;//十位 n3 = num / 100;//百位 System.out.println(n1+""+n2+""+n3);//"432" System.out.println(n1*100+n2*10+n3);//432 } }
&& || 短路與和短路或
& | 非短路與和非短路或
5 二進(jìn)制 00000000-00000000-00000000-00000101 2 二進(jìn)制 00000000-00000000-00000000-00000010 //&如果相對(duì)應(yīng)位都是1,則結(jié)果為1,否則為0 5&2 二進(jìn)制 00000000-00000000-00000000-00000000 //|如果相對(duì)應(yīng)位都是0,則結(jié)果為0,否則為1 5|2 二進(jìn)制 00000000-00000000-00000000-00000111 //^如果相對(duì)應(yīng)位值相同,則結(jié)果為0,否則為1 5^2 二進(jìn)制 00000000-00000000-00000000-00000000 //~按位補(bǔ)運(yùn)算符翻轉(zhuǎn)操作數(shù)的每一位,即0變成1,1變成0。 ~5 二進(jìn)制 11111111-11111111-11111111-11111010 減一 11111111-11111111-11111111-11111001 取反 00000000-00000000-00000000-00000110 //<<向左移動(dòng)幾位,右邊低端位用0補(bǔ)全 5<<2 二進(jìn)制 00000000-00000000-00000000-00010100 //>>向右移動(dòng)幾位,左邊高位是什么用什么補(bǔ)位,是1用1,是0用0 5>>2 二進(jìn)制 00000000-00000000-00000000-00000001 //>>>無(wú)符號(hào)右移,左邊高位全部用0進(jìn)行補(bǔ)位 5>>>2二進(jìn)制 00000000-00000000-00000000-00000001 -6>>>2二進(jìn)制 00111111-11111111-11111111-11111110
語(yǔ)法:
比較運(yùn)算||Boolean?表達(dá)式1:表達(dá)式2
如果?前的結(jié)果是true返回表達(dá)式1,如果?前返回false返回表達(dá)式2
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
當(dāng)前文章:Java基本數(shù)據(jù)類(lèi)型和運(yùn)算符詳解
URL分享:http://www.sd-ha.com/article6/jgijog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)