【Java】基本数据类型

在Java中,有两大数据类型:内置数据类型 和 引用数据类型。
一、内置数据类型
1、基本数据类型
(1)数值型
--------整型:byte、int、long、short;
--------浮点型:float、double;
(2)字符型:插入;
(3)布尔型:boolean;

2.

数据类型存储空间大小默认值
boolean一位false
char2字节‘u0000’
byte1字节0
short2字节0
int4字节0
long8字节0L
float4字节0.0f
double8字节0.0d

注:
(1)float是单精度、32位、符合IEEE 754标准的浮点数;
double是双精度、64 位、符合IEEE 754标准的浮点数;
(2)浮点数的默认类型是double;
(3)浮点数不能用来表示精确的值;
(4)boolean只有两个取值:true和false;
(5)char类型里保存的不是一个ASCII编码,而是一个Unicode编码;
--------字符编码标准:ASCII(2字节,7位表示) 和 Unicode(4字节,31位表示)

3.
对于基本数据类型的取值范围,我们无需去强行记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。
代码如下:

public class PrimitiveDataType{
	public static void main(String[] args){
		System.out.println("基本类型:char");
		//以数值形式而不是字符形式输出 
		System.out.println("最大值:"+(int)Character.MAX_VALUE);
		System.out.println("最小值:"+(int)Character.MIN_VALUE);
		System.out.println();
		System.out.println("基本类型:byte");
		System.out.println("最大值:"+Byte.MAX_VALUE);
		System.out.println("最小值:"+Byte.MIN_VALUE);
		System.out.println();
			System.out.println("基本类型:short");
		System.out.println("最大值:"+Short.MAX_VALUE);
		System.out.println("最小值:"+Short.MIN_VALUE);
		System.out.println();
		System.out.println("基本类型:int");
		System.out.println("最大值:"+Integer.MAX_VALUE);
		System.out.println("最小值:"+Integer.MIN_VALUE);
		System.out.println();	
		System.out.println("基本类型:long");
		System.out.println("最大值:"+Long.MAX_VALUE);
		System.out.println("最小值:"+Long.MIN_VALUE);
		System.out.println();
		System.out.println("基本类型:float");
		System.out.println("最大值:"+Float.MAX_VALUE);
		System.out.println("最小值:"+Float.MIN_VALUE);
		System.out.println();
			System.out.println("基本类型:double");
		System.out.println("最大值:"+Double.MAX_VALUE);
		System.out.println("最小值:"+Double.MIN_VALUE);
	}
}

运行结果:
在这里插入图片描述

二、引用数据类型
(1)引用类型指向一个对象,指向对象的变量叫做引用变量。这些变量在声明时被指定为一个特定的类型,变量一旦被声明之后类型不可更改;
(2)对象、数组都是引用数据类型;
(3)所有引用类型的默认值都是null;
(4)一个引用变量可以用来引用任何与之兼容的类型;

常量
(1)在程序运行时是不能被修改的;
(2)Java中,用关键字 final 来修饰常量,声明方法和变量类似,例:

final int A = 30;

(3)常量可以使用小写,但为了便于识别,通常用大写字母表示常量
(4)字面量可以赋给任何内置类型的变量。例:

byte a = 68;
char a = 'B'

(4)byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。当使用常量的时候,前缀 0 表示 8 进制, 0x 代表 16 进制。
(5)Java中,字符串常量也是包含在两个引号之间的字符序列。例:"Hello World"
(6)字符串常量和字符常量都可以包含任何Unicode字符。例:

char a = '\u0001';
String a = "\u0001";

类型转换
在运算中,不同类型的数据之间进行运算时,先转换为同一类型,再进行运算。
(1)
转换是从低级到高级;

低  ------------------------------------>  高
byte,short,char—> int —> long—> float —> double 

(2)
数据类型转换需满足以下规则:

a)将一个大范围的类型转换为小范围的类型时,需要强制类型转换;而将一个小范围的类型转换为大范围的类型,是自然且允许的;
通常情况下:
----------------小范围数据类型 a = 大范围数; //不允许
----------------大范围数据类型 b = 小范围数; //允许并且自然

b)不可以对boolean类型进行类型转换;

c)不能把对象类型转换成不相关类的对象;

d)转换过程中可能出现溢出或损失精度,例:

int a =88;   
byte b = (byte)a;

e)浮点数到整数的转换是通过舍弃小数得到的,不是四舍五入。例:

(int)23.7 == 23;        
(int)-45.89f == -45

自动类型转换
转换前的数据类型的位数要低于转换后的数据类型

强制类型转换
(1)将一个大范围的类型转换为小范围的类型时,需要用到强制类型转换;
(2)格式:(type)value; //type为转换后的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值