JAVA基本数据类型、数据类型转换
2017-09-01 19:38
190 查看
JAVA中数据类型
一、基本数据类型
数值型整型
byte 字节型 占一个字节 用8位存储数据 范围:-128~127 默认值0
short 短整型 占2个字节 2^15 范围:-32768~32767 默认值:0
Int 整型 占四个字节 范围:-2^31~2^31-1
从JDK1.7开始,允许数字中间插入_分隔数字,在编译时,自动省略。
java 中整数默认为Int,默认值是0.
long 长整形 占8个字节 需要在后面加L作为标识,默认为0L。
浮点型
float 单精度 占4个字节 在后面加f作为标识 默认值:0.0F
double 双精度 占8个字节 java中小数的默认类型 默认值:0.0
字符型
char 占2个字节 0~65535
编码:阿斯科玛表—ASCII 0-127 西欧码表—ISO8859-1 0-255 GB2312—2个字节表示一个汉字 —GBK Unicode编码体系—UTF-8—3个字节表示一个字符—万国码表
转义字符:\t 制表符 \r 回车 \n 换行 \ 反斜杠 \’单引号 \”双引号
默认值: ‘\u0000’—以\u开头表示这个字符是它对应的UTF-8的编码
布尔型
boolean true|false
注:
java中数值类型都是有符号的。
二、引用数据类型
类—class 接口—interface 数组—[]三、数据类型的转换
隐式转换/自动类型转换转换规律一:byte->short->int->long
long l = 34;//34默认是int类型,int类型的值可以赋值给long类型—在int类型的而取值范围内,将值直接赋值给long类型,可以不加L
float f = 3.2f;
double d = f;
转换规律二:float->double
int i = 3;
float f = i;
转换规律三:int->float,可能会产生精度损失
float f = -25;//true
float f = 25.0;//false
long l = 34;
float f = l ;—->true
转换规律四:任何一个整型都可以赋值给浮点型的变量,但是可能产生精度损失
int->double—>会产生精度损失
char c = ‘e’;
int i = c;
转换规律五:char -> int
//这两种写法在编译时期就已经转换成了对应的形式了
char c = 98;–true–> char c = ‘b’;
short s = ‘b’;–true—> short s = 98;
char c = -1; //编译报错
//分开编译的,编译完了char c = ‘b’; ‘b’已经以字符形式存在了内存中
//由于两句话是分开编译的,所以现在JVM已经不确定c变量所表示表示的字符是否在short类型的取值范围内了。
char c = ‘b’;
short s = c;–false
//编译完成之后s的取值已经存入内存中了,再次使用s的时候,不能按照对应的码表转换成字符,能确定这个数字是否在码表的范围内吗?
short s = 100;
char c = s;
因为两句话是分开编译的,所以无法确定范围。
注:各个基本类型之间是平等的,不存在大小或者说是父子关系。
2. 显示转换/强制类型转换
1. 当把大的类型转换为小的类型的时候,需要强制转换 float f = 3;->3.0f int i = (int)f; double d = 3.8; int i = (int)d;-> i = 3; 当把浮点型数据转换为整型变量的时候,需要强制类型的转换。小数转换成整数的时候,不是四舍五入,而是舍弃掉小数部分。因此,小数转换整数的时候,也会产生精度损失。
注意:在计算机中,绝大部分小数是没办法精确保存的
相关文章推荐
- java基本数据类型之间的转换
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- Java基本数据类型:long与float之间的转换疑惑
- JAVA基本数据类型转换
- Java 基本数据类型转换
- Java基本数据类型转换 [转]
- java基本数据类型转换
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- Java中八种基本数据类型占用字节空间总结和数据类型之间的转换
- 关于java基本数据类型之间的转换
- Java基本数据类型转换(转)
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 黑马程序员J_ava学习笔记_Java中的基本数据类型转换详解
- Java基本数据类型的转换
- Java基本数据类型转换
- Java基本数据类型转换
- java基本数据类型转换
- java 基本数据类型转换
- Java基本数据类型的转换
- 关于java 基本数据类型之间的转换