java数据类型

1、在java语言中,数据分为两类:

1)基本类型;

2)引用类型。

2、在java语言中,基本类型的数据有四类八种

1)字节类型(byte),1字节,8二进制数,其范围是[-128,127].27

2)短整型(short),2字节,16二进制数,其范围是[-32768,32767];215

3)整型(int),占4字节,32二进制数,其范围是[-2147483648,2147483647] 10位数231

4)长整型(long),占8字节,64二进制数,其范围是922337203685477580819位数

其范围即为2的次方关系:127=27次方-1;以下同理2147483648=231次方

因为在n位二进制数中有一位是符号位,其余才为数据位,故要-1的缘故

注意1:java语言中,一个整数(如:156365,9876543210)默认为int型。当这个

整数超出[-2147483648, 2147483647]范围时,必须将其作为long,且要

在其末尾添加一个字母Ll

例如:longx=9876543210;//error

x=9876543210L;

注意2:在java语言中,整数有三种表示形式:

1)十进制整数表示,如:365

2)八进制整数表示,它需要用0开头。如:015

3)十六进制整数表示,它需要用0X0x开头。如:0x15;0X3A

5)单精度(float),占4字节,用来表示小数。

6)双精度(double),占8字节,用来表示小数。它是单精度的精度的2倍。

注意1:单精度和双精度统称为浮点数(或小数),后者的精度是前者两倍。前者

其精度通常为7位或8位。

单精度双精度区别:

float:4字节,大约+到-3.40282347E+38F(有效小数6-7)
double:8字节,大约+到-1.79769313486231570E+308(有效小数15)
浮点有效位不一样啊,双精度的小数点后面可以很多,单精度的小数点后位数相对较少,根据不同情况选用不同的精度,这和内存效率有关系,不是双精度就比单精度好,java虽然是垃圾自动回收,但也会有内存过高和泄露问题。

注意2:java语言中,小数默认为double型,若要将其看成是float,则必须在其

末尾添加字母Ff

例如:floatf1=3.5;//error   

floatf1=3.5f;

建议:不明确小数会有多大时,则建议使用double变量来管理这个小数。

注:正是因为科学计数法才使浮点型数据的表示范围很大

7)逻辑类型(布尔型)用boolean来表示。在java语言中用true表示真,false表示假。

8)字符型(char),占2字节,16二进制数表示。在java语言,字符采用Unicode编码

方案,其范围是[0,65535]。即:任何一个字符均对应着一个整数。

另外,字符通常用一对单引号将一个字符括起来。如:'A''6''#'

'Ab'//error

三种表示方式char=1111char=a’,char=\u003A’等

Char型数据用来表示通常意义上“字符”;字符常量为用单引号括起来的单个字符,java字符采用unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示。

注意1:在java中双引号“”和单引号‘’不一样,

“”是圈定的是字符串‘’是圈定的是字符

注意2注意:单引号中的字符只能是一个字符即‘A’;不能是‘AB’。

CharUnicode之间进行互相转换

注意3char转化为unicode编码方式

charch='';

intc=ch;直接赋给int

System.out.println(ch+"unicode编码值为:"+c);

注意4unicode显示字符(两种:十进制、十六进制)

charch

ch='\u0065';//是十六进制表示

System.out.println("ch代表的字符是:"+ch);

ch=65;//是十进制表示ch='\u0041';65(10)>>>0041(16)

System.out.println("ch代表的字符是:"+ch);

注意两者的区别,前者是十六进制表示

注意5任何一个字符均对应着一个整数,它就是该字符的Unicode编码值。

该整数可以十进制数表示,也可用\u开头,后跟一个4位的十六进制数表示。

:charch=65;

ch='\u0041';是相等的


你可能感兴趣的:(java)