码迷,mamicode.com
首页 > 编程语言 > 详细

Java数据类型

时间:2018-02-03 13:06:34      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:color   str   ref   ali   数据   超出   detail   tar   1.3   

1、Java的基本数据类型只有8种分别是byteshortintlongfloatdoublecharboolean(注:String不是Java的基本数据类型)

数据类型 大小/位 可表示数据范围
 byte(字节)  8 -128~127 
short(短整型)   16 -32768~32767 
int(整型)   32  -21亿多~21亿多
 long(长整型) 64   -2^63~(2^63)-1
float (单精度)  32  -3.4E38~3.4E38
 double(双精度) 64   -1.7E308~1.7E308
 char(字符) 16  0~65535 
 boolean(布尔)  - true或false 

 

 

 

 

 

 

 

 

 

(附:long 和double都是64位。为什么double表示的范围大那么多呢?)

 

1.1、数据类型转换

  1.1.1、自动类型转换:小类型到大类型

  1.1.2、强制类型转换:大类型到小类型

             强转有可能会溢出或精度丢失

  1.1.3、数据类型从小到大的顺序为:byte => short(char)  => int => long => float => double 

 

1.2、赋值和运算

  1.2.1、整数直接量可以直接赋值给byte,short,char,但不能超出范围

char c = 97;
//char类型形式为字符,实质是码int,保存一个整型。
//根据Unicode字符集编码,每个字符都有一个相对应的码

 

  1.2.2、byte,short,char型数据参与运算时,先一律转换为int再运算

short b1 = 5;
short b2 = 6;
short b3 = (short)(b1+b2);
//这里的b1和b2运算时自动转为int型,所以必须强转为short型才能赋值给b3

 

  

  1.2.3、 赋值

    直接量超范围为编译错误,运算时超范围为溢出

long a = 1000000000*2*10L;
System.out.println(a); //200亿L

long b = 1000000000*3*10L;
System.out.println(b); //溢出了

long c = 1000000000L*3*10;
System.out.println(c); //300亿L
//使用long型进行大数值运算时,最好在第一个数后写上L
//说明该数字是long型,避免默认成整型运算
//注:长整型的直接量,需在数字后加L或l

 

  1.2.4、常用数据单位转换

    1G=1024M()

    1M=1024KB(千字节)

    1KB=1024B(字节)

    1B=8Bit()

 

  1.2.5、基本类型 “=” 号是对变量赋值,引用类型“=”号是让引用变量指向一个地址值

Java数据类型

标签:color   str   ref   ali   数据   超出   detail   tar   1.3   

原文地址:https://www.cnblogs.com/YannYao/p/8391000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!