Java--数据类型

一.标识符和关键字

1.分隔符

java语句可以跨越多行书写,但一个字符串,变量名不能跨越多行。

2.标识符规则

以字母,下划线和美元符开头,后面可以跟任意字母(包含中文字符,日文字符等),数字,下划线和美元符。标识符只能包含美元符$不能包含其他特殊字符。

3.java关键字

java所有关键字都是小写的。

二.数据类型分类

Java语言是强类型语言,java语言支持的类型分为两类:基本类型和引用类型
基本类型包括数值类型和boolean类型。
数值类型有整型和浮点型。
整型包括byte(1),short(2),int (4),long(8),char(2)(字符型相当于无符号整型)
浮点型包括float(4) ,double(8)
引用类型包括类,接口和数组类型还有null类型。(空引用null只能转换为引用类型)
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组。

三.基本数据类型

java基本数据类型分为两大类:boolea类型和数值类型。而数值类型又可以分为整型和浮点型。
java只包含8种基本数据类型(注意字符串是一个类。不是基本数据类型,是引用类型)

1.整型

通常情况下,直接给出的一个正整数默认值是int类型。
1)如果直接将一个较小整数赋给byte和short,系统会直接把整数值当做byte或者short。
2)使用较大数当long类型时,应当在整数之后加L或l。

2.字符型

java没有提供表示字符串的基本数据类型,而是通过String 类来表示。
java语言的单引号,双引号和反斜线都有特殊的用途,如果一个字符串中包含了这些特殊字符,则应该使用转义字符的形式表示。如S“c:\codes”应为“c:\codes.”

3.浮点型

java语言浮点型默认类型是double,如果希望java把一个浮点型当成float类型,应该在这个浮点类型后紧跟一个F或者f。
java还有三个特殊的浮点数值
正无穷大:通过Double和Float类的POSITIVE_INFINITY表示。
负无穷大:通过Double和Float类的NEGATIVE_INFINITY表示。
非数:通过Double或Float类的NaN表示。
其中所有正无穷大数值都是相等的,所有负无穷大的数值都是相等的,NaN不与任何数值相等包括NaN。
(只有浮点数除以0才能得到无穷,整数除以0会抛出异常)

4.数值中使用下划线分隔

当程序中用到的数值位数特别多时,不管是整型数值还是浮点数值都可以在数值中使用下划线。如3.14_15_92_23_56。

5.布尔型

boolean只能是true和false,不能用0或者非0代替,其他基本数据类型也不能转换成boolean类型。

四.基本类型的类型转换

1.自动类型转换

当把一个表数范围小的数值或变量直接赋给另一个表述范围大的变量时,系统将可以直接进行自动类型转换。char(byte->short)->int->long->float->double
在字符串中3+4+“hello”结果为7hello,而“hello”+3+4为hello34

2.表达式类型的自动提升

1)所有的byte,short,char,自动提升到int
2)整个表达式的数据类型自动提升到表达式中的最高等级。
对表达式“hello”+‘a’+7表示为helloa7,而对表达式‘a’+7+“hello”则为104holle。

五.直接量

直接量的类型(8种)

1)int 其中二进制以0B或0b开头,八进制以0开头,十六进制以0X和0x开头。
2)long直接在整型数值后加L或l。
3)float在浮点数后加F或f。
4)double直接给出一个浮点数。
5)boolea 只有true和flase。
6)char类型单引号括起来的字符,转义字符,Unicode字符。
7)String 用双引号括起来的字符序列
8)null类型,就是null,null这个直接量可以赋给任何引用类型的变量,用以表示这个引用类型变量中保存的地址为空,即未指向任何对象。

关于字符串直接量:当程序第一次使用某个字符串直接量时,java会使用常量池来缓存字符串直接量,如果程序后面的部分需要用到该字符串直接量时,java会直接使用常量池的直接量。

六.运算符

比较运算符

==:如果进行比较的两个操作数都是数值类型,即使它们的数据类型不相同,只要值相等,就返回true,如97==‘a’返回true。
如果两个操作数是引用类型,那么只有当两个引用变量类型具有父子关系时才可以比较,而且必须指向同一个对象才会返回true。如果没有父子继承关系则不能使用==进行比较。

猜你喜欢

转载自blog.csdn.net/m0_38089373/article/details/72863382