溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解析Java基本數(shù)據類型和運算符

發(fā)布時間:2021-10-15 15:37:17 來源:億速云 閱讀:138 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關如何解析Java基本數(shù)據類型和運算符,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

基本數(shù)據類型

Java 是一種強類型的語言,聲明變量時必須指明數(shù)據類型。變量(variable)的值占據一定的內存空間。不同類型的變量占據不同的大小。Java中共有8種基本數(shù)據類型,包括4 種整型、2 種浮點型、1 種字符型、1 種布爾型,請見下表。

Java基本數(shù)據類型

數(shù)據類型      說明      所占內存      舉例      備注              byte      字節(jié)型      1 byte      3,127                    short      短整型      2 bytes      3,32767                    int      整型      4 bytes      3,21474836                    long      長整型      8 bytes      3L,92233720368L      long最后要有一個L字母(大小寫無所謂)              float      單精度浮點型      4 bytes      1.2F,223.56F      float最后最好有一個F字母(大小寫無所謂)。              double      雙精度浮點型      8 bytes      1.2,      1.2D,223.56,223.56D      double最后最好有一個D字母(大小寫無所謂)。              char      字符型      2 bytes      'a','A'      字符型數(shù)據只能是一個字符,由單引號包圍。              boolean      布爾型      1 bit      true, false

Java中的數(shù)值類型不存在無符號的,它們的取值范圍是固定的,不會隨著機器硬件環(huán)境或者操作系統(tǒng)的改變而改變。實際上,Java中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作。對于數(shù)值類型的基本類型的取值范圍,我們無需強制去記憶,因為它們的值都已經以常量的形式定義在對應的包裝類中了。請看下面的例子:

public class PrimitiveTypeTest {  public static void main(String[] args) {   // byte   System.out.println("基本類型:byte 二進制位數(shù):" + Byte.SIZE);   System.out.println("包裝類: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("基本類型:short 二進制位數(shù):" + Short.SIZE);   System.out.println("包裝類: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("基本類型:int 二進制位數(shù):" + Integer.SIZE);   System.out.println("包裝類: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("基本類型:long 二進制位數(shù):" + Long.SIZE);   System.out.println("包裝類: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("基本類型:float 二進制位數(shù):" + Float.SIZE);   System.out.println("包裝類: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("基本類型:double 二進制位數(shù):" + Double.SIZE);   System.out.println("包裝類: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("基本類型:char 二進制位數(shù):" + Character.SIZE);   System.out.println("包裝類:java.lang.Character");   // 以數(shù)值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺   System.out.println("最小值:Character.MIN_VALUE="     + (int) Character.MIN_VALUE);   // 以數(shù)值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺   System.out.println("最大值:Character.MAX_VALUE="     + (int) Character.MAX_VALUE);  } }  

整數(shù)型

整數(shù)型包括byte、short、int和long。

public class Demo1 {public static void main(String[] args) {//字面值 默認是int類型byte n1 = 12;short n2 = 45;int n3 = 456;long n4 = 67L;// L 或 l  }}

二進制太長可以使用下劃線來進行區(qū)分

public class Demo1 {public static void main(String[] args) {        int n5 = 0B1010_1111_0011_1100;//二進制用0B或0b表示        int n6 = 017;//八進制用0表示        int n7 = 0xffff;//十六進制用0x或0X表示        long n8 = 12345678987654321L;  }}

浮點型

浮點型包括double和float。

注意:1.不要在數(shù)量級相差很大的浮點類型之間進行運算。2.避免進行等量的判斷

import java.math.*;public class Demo1 {public static void main(String[] args) {float f1 = 34.5f;//f 或 F 默認為 double類型double d1 = 456.78d;//后綴 d 或 D double d2 = 2.4e20;// e或 E 以 10為底 //浮點型可以表示十六進制,但是必須以科學//計數(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.langSystem.out.println(num3 == 0.3);//不一樣 輸出結果falseSystem.out.println(num3);//輸出結果 0.30000000000000004//處理 java.math包BigDecimal number1 = new BigDecimal("0.1");BigDecimal number2 = new BigDecimal("0.2");System.out.println(number1.add(number2));//輸出結果 0.3}}

字符型

char類型

char類型是一個單一的 16 位 Unicode 字符;  最小值是\u0000(即為0);  最大值是\uffff(即為65,535);  char 數(shù)據類型可以儲存任何字符;  例子:char letter = 'A';。

只能存儲一個字符,只能使用單引號

布爾型

布爾(boolean)型包括true和false

引用數(shù)據類型

String

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);//輸出結果:2// 2 +"郭靖"-》 “2郭靖”System.out.println(n1+n2+name);//輸出結果:2郭靖//"郭靖1"+n2 ->"郭靖11“System.out.println(name+n1+n2);//輸出結果:郭靖11}} 

基本數(shù)據類型轉換

自動類型轉換

小-》 大低-》 高

強制類型轉換

大-》小高-》低

語法格式為:(強制轉換的數(shù)據類型)操作數(shù)

int num = (int)45.67;

類型提升原則

前提:運算結果:采取高類型(范圍大的數(shù)據類型作為結果)

運算符

分類:根據操作數(shù)的個數(shù)

一元

二元

三元

算數(shù)運算符

public class Demo5 {public static void main(String[] args) {System.out.println(5 + 2);//輸出結果:7System.out.println(5 - 2);//輸出結果:3System.out.println(5 * 2);//輸出結果:10//------------除法--------------------------//除數(shù)和被除數(shù)都是整數(shù)結果會取整數(shù)部分System.out.println(5 / 2);////輸出結果:2System.out.println(5.0 / 2);//輸出結果:2.5System.out.println(5 / 2.0);//輸出結果:2.5System.out.println(5.0 / 2.0);//輸出結果:2.5//除數(shù)為0 拋出異常//System.out.println(5 / 0);System.out.println(5.0 / 0);//正無窮大 輸出結果:InfinitySystem.out.println(-5.0 / 0);//負無窮大 輸出結果:-Infinity//非數(shù)字NaNSystem.out.println(0.0 / 0);//輸出結果:NaN//-----------------取余數(shù),取模----------------------------System.out.println( 5 % 2);//輸出結果:1System.out.println(5.0 % 2);//輸出結果:1.0System.out.println(5 % -2);//輸出結果: 1System.out.println(-5 % 2);//輸出結果:-1,符號看被除數(shù) //---------------習題講解--------------------------------/*根據天數(shù)(46)計算周數(shù)和剩余的天數(shù)*/int days = 46;int week = days / 7;//周int day = days % 7;//余數(shù)天System.out.println(week+"周,余數(shù)"+day+"天");//----------------------------------------------/*對于隨意輸入的一個3位數(shù),反轉;例如:234反轉后(將每一個數(shù)字反轉輸出即可):432*/int num = 234;int n1,n2,n3;n1 = num % 10;//個位n2 = num / 10 % 10;//十位n3 = num / 100;//百位System.out.println(n1+""+n2+""+n3);//"432"System.out.println(n1*100+n2*10+n3);//432}}

關系運算符
邏輯運算符

&& || 短路與和短路或

位運算符

& | 非短路與和非短路或

5 二進制 00000000-00000000-00000000-00000101  2 二進制 00000000-00000000-00000000-00000010//&如果相對應位都是1,則結果為1,否則為05&2 二進制 00000000-00000000-00000000-00000000//|如果相對應位都是0,則結果為0,否則為15|2 二進制 00000000-00000000-00000000-00000111//^如果相對應位值相同,則結果為0,否則為15^2 二進制 00000000-00000000-00000000-00000000//~按位補運算符翻轉操作數(shù)的每一位,即0變成1,1變成0。~5 二進制 11111111-11111111-11111111-11111010  減一 11111111-11111111-11111111-11111001 取反 00000000-00000000-00000000-00000110 //<<向左移動幾位,右邊低端位用0補全 5<<2 二進制 00000000-00000000-00000000-00010100//>>向右移動幾位,左邊高位是什么用什么補位,是1用1,是0用05>>2 二進制 00000000-00000000-00000000-00000001//>>>無符號右移,左邊高位全部用0進行補位5>>>2二進制 00000000-00000000-00000000-00000001-6>>>2二進制 00111111-11111111-11111111-11111110

擴展賦值運算符
條件運算符

語法:

比較運算||Boolean?表達式1:表達式2

如果?前的結果是true返回表達式1,如果?前返回false返回表達式2

關于如何解析Java基本數(shù)據類型和運算符就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI