日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础篇(01):基本数据类型,核心点整理

發(fā)布時(shí)間:2025/3/16 java 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础篇(01):基本数据类型,核心点整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里

一、基本類型

1、基本類型

不使用New創(chuàng)建,聲明一個(gè)非引用傳遞的變量,且變量的值直接置于堆棧中,大小不隨運(yùn)行環(huán)境變化,效率更高。使用new創(chuàng)建的引用對(duì)象存儲(chǔ)在堆中。

2、基本信息

基本類型包括如下幾種:byte、short、int、long、float、double、boolean、char,可以通過相關(guān)方法查看范圍大小。

public class IntType01 {public static void main(String[] args) {System.out.println("進(jìn)制位數(shù):"+Integer.SIZE);System.out.println("最小值:"+Integer.MIN_VALUE);System.out.println("最大值:"+Integer.MAX_VALUE);System.out.println("進(jìn)制位數(shù):"+Double.SIZE);System.out.println("最小值:"+Double.MIN_VALUE);System.out.println("最大值:"+Double.MAX_VALUE);} }

二、案例用法

1、類型轉(zhuǎn)換

自動(dòng)轉(zhuǎn)換:范圍小的數(shù)據(jù)類型可以自動(dòng)轉(zhuǎn)換成范圍大的數(shù)據(jù)類型。

強(qiáng)制轉(zhuǎn)換:把一種數(shù)據(jù)類型轉(zhuǎn)換為另外一種數(shù)據(jù)類型。

類型提升:表達(dá)式運(yùn)算中有不同的數(shù)據(jù)類型,類型會(huì)自動(dòng)向范圍大的提升。

public class IntType02 {public static void main(String[] args) {// 自動(dòng)轉(zhuǎn)換int i = 112 ;long j = i ;System.out.println(j);// 強(qiáng)制轉(zhuǎn)換double d = 13.14 ;int f = (int)d;System.out.println(f);// 類型提升long r = i * j ;System.out.println(r);} }

注意:類型轉(zhuǎn)換中最需要關(guān)注的問題就是范圍大小問題。

2、包裝器類型

基本數(shù)據(jù)類型不符合面向?qū)ο笏枷?從而出現(xiàn)了包裝器類型, 并且包裝器添加了更多的屬性和方法,自動(dòng)包裝功能可以將基本類型轉(zhuǎn)換為包裝器類型。Java為每個(gè)原始類型都提供了一個(gè)封裝類,Integer、Double、Long、Boolean、Byte等等。

public class IntType03 {public static void main(String[] args) {Integer int1 = null ;Double dou1 = 13.14 ;Long lon1 = 123L ;} }

Integer變量的默認(rèn)值為null,說明Integer可以區(qū)分出未賦值和值為0的區(qū)別,好比考試得0分和沒參加考試的區(qū)別。

3、字符類型

char類型變量是用來儲(chǔ)存Unicode編碼的字符的,unicode字符集包含漢字。

public class IntType04 {public static void main(String[] args) {char cha1 = '知';System.out.println(cha1);} }

注意:可能存在特殊生僻字沒有包含在unicode編碼字符集中。

4、賦值和運(yùn)算

+= 和 = 的區(qū)分:short s1=1;s1=s1+1與short s1=1;s1+=1;問題。

public class IntType05 {public static void main(String[] args) {short s1 = 1 ;// s1 = s1 + 1 ; // 變異錯(cuò)誤:s1自動(dòng)向int類型轉(zhuǎn)換s1 += 1 ;System.out.println(s1);} }

+=運(yùn)算符是java語言規(guī)定的,編譯器會(huì)對(duì)它進(jìn)行識(shí)別處理,因此可以正確編譯。

5、布爾類型

兩個(gè)邏輯值: true和false,通常用來表示關(guān)系運(yùn)算的結(jié)果。

public class IntType06 {public static void main(String[] args) {// 存在精度損失問題:0.30000000000000004System.out.println(3*0.1);// trueSystem.out.println(0.3 == 0.3);// falseSystem.out.println(3*0.1 == 0.3);} }

三、Float和Dubble

1、基礎(chǔ)概念

這兩個(gè)類型可能大部分情況下都說不明白關(guān)系和區(qū)分,首先要理解幾個(gè)基礎(chǔ)概念。

浮點(diǎn)數(shù):在計(jì)算機(jī)中用以近似表示任意某個(gè)實(shí)數(shù)。具體的說,這個(gè)實(shí)數(shù)由一個(gè)整數(shù)或定點(diǎn)數(shù)乘以某個(gè)基數(shù)(計(jì)算機(jī)中通常是2)的整數(shù)次冪得到

單精度浮點(diǎn)數(shù):單精度浮點(diǎn)數(shù)是用來表示帶有小數(shù)部分的實(shí)數(shù),一般用于科學(xué)計(jì)算。占用4個(gè)字節(jié)(32位)存儲(chǔ)空間

雙精度浮點(diǎn)數(shù):雙精度浮點(diǎn)數(shù)(double)是計(jì)算機(jī)使用的一種數(shù)據(jù)類型,使用64位(8字節(jié))來存儲(chǔ)一個(gè)浮點(diǎn)數(shù)。

2、對(duì)比分析

  • Float基本描述
位數(shù):32 最小值:1.4E-45 最大值:3.4028235E38
  • Double基本描述
位數(shù):64 最小值:4.9E-324 最大值:1.7976931348623157E308
  • 案例描述

float和double聲明和轉(zhuǎn)換相關(guān)演示案例。

public class IntType07 {public static void main(String[] args) {// float 聲明float f1 = 12.3f ;// double 聲明double d1 = 13.4 ;// 向下轉(zhuǎn)型,需要強(qiáng)制轉(zhuǎn)換float f2 = (float) d1 ;System.out.println("f1="+f1+";d1="+d1+";f2="+f2);} }

四、高精度類型

1、BigInteger

支持任意大小的整數(shù)運(yùn)算,且不會(huì)再運(yùn)算過程有任何丟失情況,沒有對(duì)應(yīng)的基本類型,運(yùn)算也會(huì)變得相對(duì)復(fù)雜,運(yùn)算速度自然也就會(huì)下降。

2、BigDecimal

支持任意精度的定點(diǎn)數(shù),通常用來進(jìn)行精確的貨幣計(jì)算,在公司的日常開發(fā)中,這里通常是硬性要求。

public class IntType08 {public static void main(String[] args) {BigDecimal dec1 = new BigDecimal(3.0) ;BigDecimal dec2 = new BigDecimal(2.11) ;// 精確加法運(yùn)算BigDecimal res1 = dec1.add(dec2) ;System.out.println(res1);// 精確減法運(yùn)算,并截取結(jié)果// HALF_UP:四舍五入BigDecimal res2 = dec1.subtract(dec2);System.out.println(res2.setScale(1, RoundingMode.HALF_UP));// 精確乘法運(yùn)算BigDecimal res3 = dec1.multiply(dec2) ;System.out.println(res3.doubleValue());// 精確除法運(yùn)算,并截取結(jié)果// ROUND_DOWN:直接按保留位數(shù)截取BigDecimal res4 = dec1.divide(dec2,2,BigDecimal.ROUND_DOWN);System.out.println(res4);} }

五、源代碼地址

GitHub·地址 https://github.com/cicadasmile/java-base-parent GitEE·地址 https://gitee.com/cicadasmile/java-base-parent

總結(jié)

以上是生活随笔為你收集整理的Java基础篇(01):基本数据类型,核心点整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。