Java 基礎數據類型

Java 基礎數據類型

Java的兩大數據類型:基本數據類型引用類型
Java語言提供了八種基本數據類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。

整形:byteshortintlong
字符類型:char
浮點類型:floatdouble
布爾類型:boolean

示例如下:
在這里插入圖片描述在這里插入圖片描述
在這里插入圖片描述
Java每個基本類型在java.lang包中都有一個相應的包裝類,集合不允許存放基本數據類型數據,存放數字時,要用包裝類型。
集合不允許存放基本數據類型數據,存放數字時,要用包裝類型
這八種包裝類所繼承的父類不全都相同。
? Integer ,Byte,Float,Double,Short,Long都屬于Number類的子類,Number類本身提 供了一系列的返回以上六種基本數據類型的操作。
? Character屬于Object子類。
? Boolean屬于Object子類。
裝箱及拆箱
? 將基本數據類型變成包裝類稱為裝箱。
? 將包裝類的類型變為基本數據類型稱為拆箱。
? 在JDK1.5之后,提供了自動裝箱和自動拆箱功能。

//自動裝箱和自動拆箱
Integer int1 = 30;//裝箱
int int2 = int1;//拆箱

基本數據類型包裝類如下所示:

數據類型包裝類
byteByte
shortShort
longLong
charCharcater
byteByte

類型轉換示例如下:

//類型轉換(使用包裝類)
String str = "12";
double doubleB  = Double.parseDouble(str);
System.out.println(doubleB);

結果如下:
在這里插入圖片描述

// 包裝類提供一些類型轉換的方法 、類型的屬性
String str = "123";
int a = Integer.parseInt(str);//標準的int 
int b = Integer.valueOf(str);//并不是標準的int ,但返回結果一樣
System.out.println(a);
System.out.println(b);
String strxs = "124";
byte xcv = Byte.valueOf(strxs);//valueOf parseByte作用是一樣的
byte cvds = Byte.parseByte(strxs);		
System.out.println(xcv);
System.out.println(cvds);

結果如下:
在這里插入圖片描述

關于類型的轉換:
一、自動類型轉換(隱式類型轉換)
? 小的類型自動轉化為大的類型。
? 整數類型可以自動轉化為浮點類型,可能會產生舍入誤差。
? 字符可以自動提升為整數。

byte byte1=10;
int Value1=byte1+5;
System.out.println(Value1);

? 整數類型可以自動轉化為浮點類型,可能會產生舍入誤差。
? Float和Double提供了快速的運算,然而問題在于轉換為二進制的時候,有些數字不能完全轉換,只能無限接近于原本的值。
? 整數類型的為準確值,浮點型中為精確值(無限接近于真實值)

float float1=2+10f;
float Value2=float1-11.9f;
System.out.println(Value2);

結果如下:
在這里插入圖片描述
二、強制類型轉換(顯式類型轉換)
強制類型轉換可能導致溢出或損失精度。
在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換 。
浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入。

byte a1 = (byte) 127;
System.out.println("a1:"+a1);
byte d = (byte) 128;  //溢出
System.out.println("d:" +d);

如下圖所示:a1 沒有溢出,當byte 滿127時,d 溢出。
在這里插入圖片描述
使用強制類型轉換,把容量大的類型轉換為容量小的類型。

int intValueA=127;
byte byteValueB=(byte) intValueA;
System.out.println(byteValueB);
int ValueA=128;  //溢出
byte ValueB=(byte) ValueA;
System.out.println(ValueB);

如圖所示ValueB 溢出:
在這里插入圖片描述
浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入。

int Value5=(int)23.7;
int Value6=(int)-23.7;
System.out.println(Value5);

如圖所示:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443386.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java獲取系統時間

Java獲取系統時間 Java獲取系統時間 在java 中,有很多種方法都可以獲取到系統的當前時間,但也需要到對應的類,不同的類自然有不同的方法。這里為大家介紹獲取系統當前時間的四種方式。 1. 通過Calendar類來獲取當前時間 需要引用…

Java單例模式的幾種實現方式

Java單例模式的幾種實現方式 在Java 中,單例類只能有一個實例,必須創建自己的唯一實例,單例類必須給所有其他對象提供這一實例。Java 單例模式有很多種實現方式,在這里給大家介紹單例模式其中的幾種。分別是餓漢式,懶…

Java 中抽象類與接口

Java 抽象類: 在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這個類就是抽象類。 抽象類不能創建…

Java 中的進程與線程的實現

了解進程與線程: 進程: 當一個程序進入內存運行時,即變成一個進程。進程是處于運行過程 中的程序,并且具有一定的獨立功能,進程是系統進行資源分配和調度的一個獨立單 位一般而言,進程包含如下三個特征&…

Java集合工具類:Collections

Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類里 提供了大量方法對集合元素進行排序、查詢和修改等操作,還提供了對集合對象實現同步控制等方法。 一、 排序操作 如下示例: public class CollectionsSor…

Java異常處理throws/throw

Java的異常被分為兩大類:Checked異常和Runtime異常(運行時異常)。 ? Runtime異常:所有的RuntimeException類及其子類的實例; ? Checked異常:不是RuntimeException類及其子類的異常實例。 只有Java語言提供…

JDBC 連接MYSQL數據庫

1. 加載驅動 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驅動名,驅動包需要引入進來 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之輸出九九乘法表

JSP是一種建立在Servlet規范提供的功能之上的動態網頁技術,允許在網頁文件中嵌入java代碼和jsp標記。Java 服務器頁面 (Java Server Page ,JSP) 擴展名為 .jsp。 1.jsp的執行過程 Jsp文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Se…

Java 重寫與重載

方法的重寫: 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。 重寫的好處在于子類可以根據需要,定義特定于自己的行為。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能拋出新的檢查異常或者比被重寫方法申…

Java新增

在實踐項目中我們有可能需要做到新增功能,新增一張表,或是新增多張表。這里我新增的是一張表。 這里主要描述DAO層與Servlet 層: DAO 層: public class UserDaoImpl implements UserDao {private Connection con null;private P…

JSP根據狀態動態改變數據表格按鈕

有時候在開發的過程中會遇到需要根據狀態ID 來動態改變數據表格的按鈕&#xff0c;下面我主要講述兩種表格根據ID改變按鈕的方式。 下面這種我是用EL 表達式獲取表格中的值&#xff1a; <table class"table table-striped table-bordered table-hover" id"s…

Java 模糊查詢

在學習Java 這門語言過程中&#xff0c;會遇到無數的知識點與錯誤&#xff0c;最重要的是我們能夠在茫茫的代碼中找到突破口&#xff0c;并用心去汲取精華。 在很多時候我們會用到模糊查詢&#xff0c;這里是我在編碼過程中用到的模糊查詢。 JSP &#xff1a; <input value…

Java刪除表

Java刪除表 這里頁面我用了layui 框架做刪除的&#xff0c;這里需要引入layui 的css 與js 插件&#xff0c;這里寫出主要的代碼。 Jsp &#xff1a; //監聽行工具事件table.on(tool(test), function(obj){var data obj.data; //獲得當前行數據var date1 data.classifyColum…

原始分頁

Jsp &#xff1a; <div style"float: right;">當前為${currentPage}頁&#xff0c;共有${totalRow}條數據&#xff0c;共${totalPage}頁 <select style"border-radius: 18px;" id"pageSize" name"pageSize" onchange"c…

根據銀行卡號判斷銀行卡是否正確與歸屬銀行

校驗過程&#xff1a; 1.從卡號的最后一位數字開始&#xff0c;逆向將奇數位&#xff08;1&#xff0c;3&#xff0c;5 等等相加&#xff09; 2.從卡號最后一位數字開始&#xff0c;逆向將偶數位數字&#xff0c;先乘以2&#xff0c;如果乘積為兩位數&#xff0c;將個位數字相加…

根據年月日判斷第多少天,星期幾

1. 根據年月日判斷第多少天 Scanner是SDK1.5新增的一個類,可使用該類創建一個對象。 Scanner scannernew Scanner(System.in);  然后scanner對象調用下列方法&#xff08;函數&#xff09;,讀取用戶在命令行輸入的各種數據類型   next.Byte(),nextDouble(),nextFloat,nextIn…

解決MySQLyog 導入數據庫文件沒有反應

之前我在MySQL 中新建了一個數據庫&#xff0c;名為“onlineclassroom” 的數據庫&#xff0c;但是在將外部的.sql 文件導入進來之后發現&#xff0c;數據庫沒有反應&#xff0c;也看不到表數據&#xff0c;以為是沒有刷新問題&#xff0c;但是刷新之后發現還是沒有這個就很奇怪…

解決myeclipse報錯500,MySQLyog報錯誤碼問題

在myeclipse 寫了一個登錄&#xff0c;但在我登錄的時候卻報了500的空指針&#xff0c;我檢查了自己的登錄代碼&#xff0c;發現沒有問題&#xff0c;這不應該啊&#xff0c;然后在網上也尋找了一些解決方案&#xff0c;發現好像并不適用&#xff0c;500空指針如下&#xff1a;…

Java防止用戶同一時間重復登錄(包括異地登錄)

有時候我們在做登錄模塊過程中難免會遇到這種問題&#xff0c;即使我們給用戶進行了多重判斷&#xff0c;比如&#xff1a;用戶名&#xff0c;管理員&#xff0c;驗證碼&#xff0c;一系列的判斷… 你是否真正考慮到用戶的體驗&#xff0c;比如不能讓用戶在同一時間&#xff0c…

jquery點擊彈出播放視頻并顯示遮罩層

最近在做視頻播放的時候&#xff0c;發現用jquery的播放視頻可以很好的實現我所需要的效果。在之前請把插件引用進來&#xff0c;廢話不多說&#xff0c;代碼如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta …