Java与C#的基本类型

开发工具与关键技术:JAVA、C#
作者:曾浩源
撰写时间:2019年04月18日

Java语言分为引用类型和基本类型,C#也一样,只是在C#中把Java中的基本类型叫做值类型,叫法不同本质却是一样的,它包含布尔类型和数值类型。

基本类型分为4种:整型、布尔类型、浮点类型、字符类型。

在所学的C#中,经常使用基本类型只有少数,例如:
int:32位整型 short:16位整型 bool:布尔类型 string:字符类型
还有一个经常用的类型是:不是基本类型的decimal类型 decimal:浮点类型

在所学的Java中,基本类型只有八个:
整型:byte、short、int、long 浮点型:float、double 布尔型:boolean 字符型:char

一、整型
在整型当中,Java和C#中的四个整型byte(sbyte)、short、int、long占用位数和取值范围两者没区别,值得注意的是,java语言中的byte类型,对应的是C#中的sbyte类型。

而C#中的基本类型有着Java没有的无符号整型,和精准度贼高,用于财务计算的decimal浮点型。C#的无符号整数类型:
1、8位无符号整型:byte 2、16位无符号整型:ushort(uint16)
3、32位无符号整型:uint(uint32) 4、64位无符号整型:ulong(uint64)

二、布尔型
布尔型在Java中就是boolean,而C#则是bool

三、浮点型
浮点型两者都是float和double,不同的却是占用位数。
在Java中,float占位用8位,double占位用16位,而在C#中,float占位用7位,double占位用15位,所以取值范围两个语言中有细微差异。Java这回比C#多了点东西,Java比C#多了三个特殊的浮点型值:
正无穷大:Infinity、服务器大:-Infinity和非数:NaN
他们用于表示溢出和出错。例如一个正数除以0.0得到正无穷大,一个负数除以0.0得到负无穷大,0.0除以0.0或对一个负数开方得到一个非数。所有正无穷大相等,所有负无穷大相等,而NaN不与任何值相等,甚至和NaN都不相等。

Java中引用类型包括类、接口、数组类型和null类型,而C#中除此之外还包括两个基本的预定义类型:object和string类型。值得注意的是,null不能转换成基本类型,不要把null赋值给基本数据类型的变量,而Java中的String却是个包装类(扩展类),和Short、Byte、Character、Integer一样,都是包装类(扩展类),不是基本类型。

Java数据类型分为内置类型和扩展类型(引用类型)两大类。内置类型就是Java语言本身提供的基本数据类型,比如,整型数,浮点数,字符,布尔值等等。而扩展类型则是Java语言根据基本类型扩展出的其他类型,Java要求所有的扩展类型(引用类型)都必须包括在类定义里面。

内置类型也称作基本类型(PrimitiveTypes),是其他类型的基础。所有的其他类型(包括Java核心库和用户自定义类型)都是通过基本类型扩展而来的。这些类型是我们描述对象最基本的方式。
比如:判断是否使用boolean;衡量大小、长度使用各种整型(包括short, int, long)和浮点数(float和double);表达字符使用char;而处理二进制数据块使用byte。Java也提供了基本类型的类包裹(Wrapper),这些类包裹都包括在了java.lang包里面作为Java的语言基础,比如对int的类包裹是Integer类。提供这些类包裹的原因主要是为了在某些接口上提供和类(对象)一致的接口,比如在泛型设计上的数据模板等等。
而且相应的包裹类中还提供了对基本数据类型的操作,比如int Integer.parseInt(String s, int radix)将字符串转化为相应进制的整型数。

在C#中string是基本类型,而在Java中是包装类(扩展类),所对String类做对象比较时需要:
1)如果要比较两个基本类型是否相等,请用= =;//如果值相同,返回true。
2)如果要比较两个对象引用是否相等,请用= =;//如果值相同,引用的对象不同,返回false。
3) 如果要比较两个对象(逻辑上)是否一致,请用equals;//如果值相同,引用对象相同或者不同,返回true。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值