快捷搜索:  汽车  科技

java数据类型零基础(Java学习二:)

java数据类型零基础(Java学习二:)在对变量进行赋值时,如果是将低级数据类型(相对取值范围较小的数据类型)的数据,赋给高级数据类型(相对取值范围较大的数据类型)的变量,这时Java会自动完成从低级类型向高级类型的转换。在原始数据类型中,除了boolean类型外,其他数据均可参与算术运算。booleanfalg=false; 2.数据类型转换数据类型级别与取值范围//声明一个float类型的变量,并赋值 floatprice=326.85F; //声明一个double类型的变量,并赋值 doubleheight=3836.8; doubleheight=3836.8D; 在默认情况下,小数都被看作double型。若使用float型小数,则需要在其值后面添加F或f 否则编译时,会提示错误。因为不加上字母“F”或小写“f”时,默认的数值为double类型,把double类型的数值赋给float类型的变量,是不正确的。而在为dou

1.数据类型

java数据类型零基础(Java学习二:)(1)

1.1 整数类型

整数类型取值范围

java数据类型零基础(Java学习二:)(2)

byteage=18; shortnumber=2300; longaccount=8172651756L;

在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母"L"(或小写"l"),说明所赋的值为long型。如果所赋的值未超出int型的取值范围,也可以省略字母"L"(或小写"l")

//所赋的值超出了int型的取值范围,必须在后面加上字母“L” longaccount=3124567893L; //所赋的值未超出int型的取值范围,可以在后面加上字母“L” longaccount=31245678L; //所赋的值未超出int型的取值范围,可以省略字母“L” longaccount=31245678; //!但是下面的这种赋值方式是错误的。 longaccount=3124567893;//所赋的值超出了int型的取值范围,但是没有在后面加上字母“L” 1.2 浮点类型

浮点类型取值范围

java数据类型零基础(Java学习二:)(3)

如果要声明一个用来保存小数的变量,必须使用浮点类型;

//声明一个float类型的变量,并赋值 floatprice=326.85F; //声明一个double类型的变量,并赋值 doubleheight=3836.8; doubleheight=3836.8D;

在默认情况下,小数都被看作double型。若使用float型小数,则需要在其值后面添加F或f 否则编译时,会提示错误。因为不加上字母“F”或小写“f”时,默认的数值为double类型,把double类型的数值赋给float类型的变量,是不正确的。而在为double类型变量赋值时,后面的字母“D”或者“d” 可加可不加。

1.3 字符类型

字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间 在定义字符型变量时,要以单引号表示 如'a'、'#'、'3'。而双引号则表示一个字符串;

//声明一个char类型的变量,用来存储性别信息 chargender='男'; //声明一个char类型的变量,用来存储符号'*' charstar='*'; //声明一个char类型的常量,用来存储圆周率符号'π' finalcharPI='π'; 1.4 布尔类型(逻辑类型)

声明逻辑类型常量或者变量,需要使用关键字 boolean

booleanfalg=false; 2.数据类型转换

数据类型级别与取值范围

java数据类型零基础(Java学习二:)(4)

2.1 自动(隐式)类型转换

在对变量进行赋值时,如果是将低级数据类型(相对取值范围较小的数据类型)的数据,赋给高级数据类型(相对取值范围较大的数据类型)的变量,这时Java会自动完成从低级类型向高级类型的转换。在原始数据类型中,除了boolean类型外,其他数据均可参与算术运算。

实例

//定义float类型的变量,并赋值 floatprice=36; //输出price变量的值:price=36.0 System.out.println("price=" price);

可以看出,因为相对于float类型来说,整数36为int型,属于低级数据类型,所以Java自动将其转换为float类型的36.0

将低类型的数据赋给高类型的变量时,Java会自动将低类型的数据转换为高类型的数据,然后赋值。

2.2 混合数据类型运算

在不同类型的数据进行混合运算时,分为两种情况:

  • 只有byte、short或char类型的数据。 这种情况下,Java首先将byte或short或char类型转换为int类型,然后再参与运算,并且运算结果也是int型的

例如:

publicclassTest3{ publicstaticvoidmain(String[]args){ bytebyteVar=68;//声明一个byte类型的字节变量 shortshortVar=873;//声明一个short类型的整型变量 charcharVar='a';//声明一个char类型的字符变量 intvalue=byteVar shortVar charVar; System.out.println(“value=” value);//输出value的值:value=1038 } }

  • 含有int、long、float或double型的数据。 这种情况下,Java首先将所有低数据类型转换为表达式中数据类型最高的数据类型,然后再参与运算,并且运算结果也是表达式中最高的数据类型。

例如:

publicclassTest4{ publicstaticvoidmain(String[]args){ //声明一个字节类型的变量 bytebyteVar=68; //声明一个int类型的变量 intintVar=873; //声明一个float类型的变量 floatfloatVar=128.5F; //不同类型进行混合运算 doublevalue=byteVar intVar floatVar; System.out.println("value=" value)//输出:1069.5 } } 2.3 强制(显式)类型转换

在对变量进行赋值时,如果是将高级数据类型的数据赋值给低级数据类型的变量,java 不会自动完成类型的转换,需要主动转换;

//定义int类型的变量,并赋值double类型的36.5 intcount=36.5; System.out.println("count=" count);

上述代码在编译时会提示错误,因为将高级类型的数据36.5赋给了低级类型的变量count。

可改为下面这种形式:

//强制类型转换 intcount=(int)36.5; //输出count变量的值:count=36 System.out.println("count=" count);

在上面的代码中,(int)显示为强制类型转换的语法,即在欲转换的数据或变量前面,用“(目的数据类型)”的形式,强制转换为括号中的目的数据类型。另外,在上面的示例中也可以看到,在进行强制类型转换时,进行了简单的截断而不是四舍五入(输出的是36,而不是37)。

猜您喜欢: