java数据类型符号H_Java 数据类型之基本类型

一、变量

Java语言是强类型(strongly typed)语言,也就是说每个变量和每个表达式都有一个在编译时就确定的类型,所以,所有的变量必须显式声明类型,也就是所有的变量必须先声明,后使用。

变量定义的格式:

type varName;

举例说明:int i;  byte b1;

二、数据类型之基本类型

1、数据类型的分类见下面:

2、整型数据类型

由上图整数类型分为4种:

1)byte字节型:一个byte类型的在内存里面占8位,也就是2的8次方,其定义格式是: byte b1=100;

2)short:一个short类型在内存里面占16位,也就是2的16次方,其定义格式是 short s1=32000;

3)int:一个int类型在内存里面占32位,也就是2的32次方,其定义格式是  int i1=11111;

4)long:一个long类型在内存占64位,也就是2的64次方 其定义格式是  long l2=922225546554L;要在定义数据的类型 加大写字母L

int是最常用的整数类型,因此在通常情况下,一个Java类型常量默认就是int类型。

Java中整数常量有4种表示方式:十进制、二进制、八进制和十六进制,其中八进制整数常量以0开头,十六进制的整数常量以0X或者0x开头,其中10-15以a-f(不区分大小写)来表示。二进制以0b或0B开头表示。

下面以程序来说明以上数据类型:

/*基本数据类型之整型测试程序

作者:何问起*/

public class整型Test

{public static voidmain(String [] args)

{byte b1=120;short s1=1234;inti;

i=4234343;long l1=156497979797L;

System.out.println("字节型数据示例:"+b1);

System.out.println("short类型数据示例:"+s1);

System.out.println("int类型数据示例:"+i);

System.out.println("long类型数据示例:"+l1);//整型常量数据示例:

int octalValue=013; //八进制数据以0开头;

int hexValue=0X13; //十六进制数据以0X开头;

int hexValue1=0XF; //十六进数据以0-9 A-F来代表16个数据;

int binVal1=0B11010100; //二进制数据以0B开头来表示;

int binVal2=0B01101001;

System.out.println("八进制数据示例::"+octalValue);

System.out.println("十六进制数据示例:"+hexValue);

System.out.println("十六进制数据示例:"+hexValue1);

System.out.println("二进制数据示例:"+binVal1);

System.out.println("二进制数据示例:"+binVal2);

}

}

提示:所有数字在计算机底层都是以二进制形式存在的,原码是直接将一个数值换算成二进制数。但计算机以补码的形式保存所有整数。补码的计算规则:正数的补码和原码完全相同,负数的补码是其反码加1;反码是对原码按位取反,只是最高位(符号位)保持不变。

3、浮点型数据

Java语言的浮点型有两种:float和double。Java的浮点类型有固定的的表数范围和字段长度,字段长度和表数范围与机器无关。Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示浮点数。对于float型数值,第1位是符号位,接下来8位表示指数,再接下来的23位表示尾数;对于double类型数值,第1位也是符号位,接下来的11位表示指数,再接下来的52位表示尾数。

Java语言的浮点数有两种表示形式:

1)十进制数形式:这种形式就是简单的浮点数,例如:5.12,512,.512。浮点数必须包含一个小数点,否则会被当成int类型处理

2)科学计数形式:例如:5.12E2(即5.12*10^2),5.12E2(5.12*10^2)

Java语言的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型后紧跟f或F,举例说明:

float floValue=5.12F;

double dValue=5.12;

除此之外,Java还提供了3个特殊的浮点数值:正无穷大,负无穷大和非数,用于表示溢出和出错。

正无穷大就是一个正数除以0,Double或Float的POSITIVE_INFINITY来表示;负无穷大通过Double或Float的NEGATIVE_INFINITY表示,非数通过Double或Float的NaN来表示。

必须指出的是,所有的正无穷大数值 都是相等的,所有的负无穷大数值都是相等的;而NaN不与任何数值相等,甚至和NaN都不相等。

以下程序说明浮点型数据:

/*基本数据类型之浮点型测试程序

作者:何问起*/

public class浮点型Test

{public static voidmain(String [] args)

{float floValue=51.2F; //定义Float型数据必须使用F结尾;

double floval1=5.12E2; //使用科学记数法

double d1=51.2; //定义double型不需要使用D结尾;

System.out.println("float型输出:"+floValue);

System.out.println("科学记数法输出:"+floval1);

System.out.println("double型输出:"+d1);//以下程序测试正、负无穷大、非数是否相等

double c1=Double.POSITIVE_INFINITY;float f1=Float.POSITIVE_INFINITY;double c2=Double.NEGATIVE_INFINITY;float f2=Float.NEGATIVE_INFINITY;

System.out.println(c1==f1); //输出正无穷大是否相等,相等为true;否则为false;

System.out.println(c2==f2); //输出负穷大是否相等,相等为true;否则为false;

System.out.println(0.0/0.0==Float.NaN); //输出两个0相除之后是否等NaN;

System.out.println(0.0/0.0);

}

}

今天就到这里!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值