基本型別可以分為三類:
字元型別char;
布林型別boolean;
數值型別byte、short、int、long、float、double。
數值型別又可以分為整數型別byte、short、int、long和浮點數型別float、double
1、布林型
boolean
型別不可以轉換成其他的資料型別,不可以以0或非0的數字代替;
2、整數型
整型預設為int型,而long型別表示的範圍要超出int表數範圍,所以,宣告long型別時,常量後要加l
如:long l1=12345678 // 數值在int範圍之內,還不會出錯
long l2=8888888888;// 數值在int範圍之外,會出錯
long l3=8888888888l; //正確
3、浮點型
浮點型預設為double,所以float型別宣告時後面需要加f/f ; 或者用強制轉換符
如:float f1 = (float)0.1;
float f2 = 0.1f;
二、基本資料型別轉換:
各資料型別按容量大小(表數範圍大小)由小到大排列為:
byte, short, char ——int ——long——float——double
1.轉換時遵循的原則:
1)容量小的型別自動轉換為容量大的型別;
2)容量大的型別轉換為容量小的型別時,要加強制轉換符;
3)byte,short,char之間不會互相轉換,並且三者在計算時首先轉換為int型別;
4)實數常量預設為double型別, 整數常量預設為int型別;
* 字元型 為什麼也能和 整形、浮點型進行運算呢?
答: 字元型在機器內部也是數字。進行計算時,先獲得字元的asck碼,然後再進行計算。
2.轉換舉例:
int i1=123;
int i2=456;
double d1 = (i1+i2)*1.2 //容量小的型別自動轉換為容量大的型別
byte b1=1;
byte b2=2;
byte b3=(byte)(b1+b2); //byte,short,char在計算時首先轉換為int,大容量(int)轉換為小容量的型別(byte)時要加強制轉換符
典型問題:
(1) double d = 1e200;//列印顯示infinity;
(2) float f = 11.1//錯誤;預設為double型別,應該修改為float f = 11.1f;
(3)publicclasstestdatakind }
(4) byte b1 = (byte)128;
byte b2 =(byte)-129;
system.out.println(b1);
system.out.println(b2);
列印結果:-128和127
分析:byte只有八位,只能表示-128—127;計算機中負數的儲存方式是補碼。對負數的絕對值的二進位制值取反,再加一,即為負數的二進位製碼。如:-1的絕對值1的二進位製碼為00000001,取反得到11111110,再加一為11111111。-128的絕對值128的二進位製碼為10000000,取反得到01111111,再加一為10000000,正好是byte的最大表示範圍。而-129的絕對值129的二進位製碼為10000001,取反後得01111110,加一後得01111111,最後結果就是127
java基本資料型別之間的轉換
今天要討論的是基本資料型別之間的轉換 先說數值型的轉換方式,分為兩種 1 直接轉換 先來說個例子 500毫公升的礦泉水與5公升的桶裝水,你將礦泉水瓶裡面的水倒進空的桶裝水桶裡面,是不是可以裝下沒有問題 這個就是直接轉換,小容量往大容量賦值 例如 int a 100 long b a float c ...
Java基本資料型別之間的轉換
我們在平時開發過程中經常會處理到不同型別直接相互轉換的情況,深入了解他們的關係十分重要。我們首先以byte型別為例 public class datatypechangetest public static void main string args 測試基本資料型別與byte之間轉換關係 1.by...
Java 基本資料型別之間的轉換
一 資料型別 1.布林型 boolean true false,不可以以0或非0的數字代替 不能進行資料之間的轉換。2.整數型別 整型預設為int型,而long型別表示的範圍要超出int表數範圍,所以,宣告long型別時,常量後要加l l 如 long l1 12345678 數值在int範圍之內,...