美文网首页
数据类型和运算符

数据类型和运算符

作者: IT_唐小探 | 来源:发表于2018-03-28 15:45 被阅读9次

数据类型的分类


•Java语言是一个强类型语言

--所有变量,必须先声明一种类型,再使用。

--指定类型的变量,只能装对应类型的数据。

•Java语言支持的分类分为两大类:基本数据类型和引用类型

--基本数据类型包括八大数据类型。

--引用类型包括数组、类、接口。


第一类:布尔型(boolean)

•boolean类型数据只允许取值true或false,不可以0或非0的正数替代true和false,这点和C语言不同

•通常用在判断条件中使用boolean型

在Java中,条件成立返回 true,否则返回 false,即布尔类型。例如:

第二类:字符型(char)

•字符也占2个字节,字符型也可以当成整型用

•字符型常量以单引号 ' ' 括起来

•字符常量有三种表示形式

   --直接通过单个字符来指定字符常量,如:'a','2'等

   --通过转义字符,如 '\n' (代表换行符)

   --直接使用Unicode值来表示字符常量

注:字符和字符串存在很大的区别,字符串是以双引号 “ ” 括起来,字符串是引用类型。

第三类:整数型(byte、short、int、long)

•Java整型常量的表现形式:

    --十进制整数,如:12 ,-314,0。

    --八进制整数,  以 0 开头,如:012。

   --十六进制整数,以 0x 或 0X 开头,如:0x12。

   --二进制整数,    以 0b 或 0B 开头,如:0b12(jdk1.7)。

•Java整型常量默认为int,声明long型常量可以后加‘l’或‘L’,如:
int g=600;//正确    long h=8888888888L;//必须加‘l’否则会出错

•Java各整数类型有固定的表述范围和字段长度,其不受具体操作系统的影响以保证Java程序的可移植性

   --byte  从-128 到  127

   --short 从-32768 到  32767

   --int     从-2147483648 到  2147483647

   --long  从-9223372036854775808 到  9223372036854775807

第四类:浮点型(float、double)

•Java浮点类型常量的表现形式:

--十进制数形式,如:3.14 ,314.0,.314。(浮点数必须包含小数,否则系统将认为是一个int 型)

--科学计数法形式,如:3.14e2 ,  3.14E2 , 100E-2。(只有浮点数才有科学计数法)

•Java浮点型常量默认为double,声float明long型常量可以后加‘f’或‘F’,如:

double g=3.14;//正确    float h=2.8888888888f;//必须加‘f’否则会出错

Java浮点类型有固定的表述范围和字段长度,如下:

•Java中三个特殊的浮点值,经常被用来表示异常:正无穷(POSITIVE_INFINITY)负无穷(NEGATIVE_INFINITY)和非数(NaN)

   --因为有两种浮点类型,所以具体的代码表示分别为:

     Float型:Float.POSITIVE_INFINITY            Float.NEGATIVE_INFINITY       Float.NaN

     Double型:Double.POSITIVE_INFINITY    Double.NEGATIVE_INFINITY    Double.NaN

   --它们之间有如下关系:

     1.相同的无穷大之间是相等的,即负无穷和负无穷相等,正无穷和正无穷相等

      2.非数不与任何值相当,和自己也不相等

  --其得到方式分别为:

     1.  0.0/0.0或对负数开方得到非数

     2.只有浮点数除以0才能得到正无穷或负无穷(因为java语言的类型自动转换,执行这个算数表达          式时,0会自动转换为浮点类型即0.0);同理,若分母上是整型数值,分子上是浮点数0.0,也          可得到正无穷或负无穷。但整数除0将报错。


基本数据类型的类型转换


在Java中,boolean类型与所有其他7种类型都不能进行转换,这一点很明确。对于其他7中数值类型,它们之间都可以进行转换,但是可能会存在精度损失或者其他一些变化。转换分为自动转换和强制转换。对于自动转换(隐式),无需任何操作,而强制类型转换需要显式转换,即使用转换操作符(type)。首先将7种类型按下面顺序排列一下:

byte <(short=char)< int < long < float < double

如果从小转换到大,可以自动完成,而从大到小,必须强制转换。short和char两种相同类型也必须强制转换。

•Java语言是一个强类型语言

相关文章

网友评论

      本文标题:数据类型和运算符

      本文链接:https://www.haomeiwen.com/subject/uzriittx.html