导读:C#和Java是当今最火热的两门面向对象编程语言,很多程序都是既开发Java,也涉足C#。不得不说这两门编程语言有很多共同点,这里主要比较一下Java和C#数据类型的不同之处,这些小的区别有时甚至会让经验丰富的程序员栽跟头。

#1: 无符号整数(Unsigned Integers)

C#: 支持 8-bit, 16-bit, 32-bit, and 64-bit 无符号整数

Java: 仅支持 16-bit无符号整数

Java之父在Java的初始原型设计的时候就决定不包括无符号整数,在2001年《Java World》杂志的采访中,他还强调简单是开发一门健壮的编程语言的关键。

“我问过不少人C语言里无符号运算规则,但没有任何人理解C语言中无符号运算。一部分人理解其中明显的,但大多数并人不理解。”

#2: 复数(Complex Numbers)

C#: 支持复数

Java: 不支持复数

复数一般写作“a + bi”,其中“a”和“b”是整数,而“i”代表根号-1,在电气工程、流体力学等环境中常常会用到复数。

#3: 值类型(Value Types)

C#: 支持用户定义值类型

Java: 仅支持原始值类型

C#允许用户自定义值类型,例如:如果用户想构建有多个属性的SimpleVar变量,然后给属性赋值,代码如下:

  1. struct SimpleVar
  2. {
  3. public int Position;
  4. public bool Exists;
  5. public double LastValue;
  6. }
  7. static void Main()
  8. {
  9. SimpleVar s;
  10. s.Position = 2;
  11. s.Exists = true;
  12. s.LastValue = 4.2;
  13. }

#4: 元组(Tuples)

C#: 支持元组

Java: 不支持元组

C#里的“元组”类包含 “一个拥有特定数量和序列元素的数据结构”。例如:

  1. var zipCodes = new Tuple<string, int, int, int, int>(“Houston”, 77006, 77098, 77002, 77019);

或者

  1. var zipCodes = Tuple.Create(“Houston”, 77006, 77098, 77002, 77019);

元组类和标准数组类似,但是灵活性较差,因为元组区域不允许修改和其它操作。

#5: 指针(Pointers)

C#: 支持指针

Java: 不支持指针

指针变量“point”指向系统内存里的确切位置,在Java这样的网络应用语言中,指针毫无用处。实际上,Java Native Interface (JNI)能够实现任何这类功能。

所以,正如Gosling指出,Java的最大优势莫过于简单。但是,为此这会牺牲掉包括数据类型在内的一些复杂功能。

c# java数据类型不同点的更多相关文章

  1. 回顾java基础—Java数据类型

    1  java数据类型.8种基本类型,3种引用类型 基本类型(也称:原始类型):byte.short.int.long.char.float.double.boolean 引用类型:类,接口,数组 2 ...

  2. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  3. 多态、GC、Java数据类型

    多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...

  4. java数据类型定义与输出

    JAVA数据类型分基本数据类型和引用数据类型. 一.基本数据类型 Java里面包含8个基本数据类型,分别是: boolean.byte.char.short.int.float.douboe.long ...

  5. java数据类型图:

    java数据类型图:                                 ┏数值型━┳━整数型:byte short int long               ┏基本数据类型━━┫   ...

  6. java数据类型学习

    java数据类型基本分为两类: 一类为基本数据类型: 数值类型: 整数类型:byte.short.int.long 浮点类型:float.double 字符类型:char 布尔类型:boolean 一 ...

  7. JAVA —— 数据类型

    引言:java 数据类型可分为两大类:基本数据类型和引用类型,其中基本数据类型又包括整形.浮点型.字符型和布尔型,而引用型变量与基本类型变量不同,它的值是指向内存空间的引用(地址),引用在其他语言中称 ...

  8. java.sql.Types,数据库字段类型,java数据类型的对应关系

    以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...

  9. java数据类型,hibernate数据类型,标准sql数据类型之间的对应表

    Hibernate API简介 其接口分为以下几类: l         提供访问数据库的操作的接口: l         用于配置Hibernate的接口: l         回调接口 l     ...

随机推荐

  1. 【转载】【JAVA秒会技术之图片上传】基于Nginx及FastDFS,完成图片的上传及展示

    基于Nginx及FastDFS,完成商品图片的上传及展示 一.传统图片存储及展示方式 存在问题: 1)大并发量上传访问图片时,需要对web应用做负载均衡,但是会存在图片共享问题 2)web应用服务器的 ...

  2. 从原理上理解Base64编码

    开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时间 ...

  3. Oracle EBS R12多组织访问架构

    关于R12的新特性Multi-Org Access Control(MOAC).Oracle宣传的好处主要有:1.enable users to access to secured data in o ...

  4. css 颜色渐变 兼容性

    参考文献:http://caibaojian.com/css3-background-gradient.html    https://www.cnblogs.com/xzzzys/p/7495725 ...

  5. selenium 简单指南

    1.1  下载selenium2.0的包 官方download包地址:http://code.google.com/p/selenium/downloads/list 官方User Guide:  h ...

  6. 翻译,NTLM和频道绑定哈希(EPA)

    为了过NTLM 的EPA认证, 参考了这篇文章,现在翻译过来,备查. 如果你知道NTLM,并且需要过EPA, 那么这篇文章一定是你最想知道的. 原文地址: NTLM and Channel Bindi ...

  7. 3-C#面向对象概念

    本篇博客对应视频讲解 回顾 前两篇博文带大家快速的感知一下使用C#编写程序是怎样的过程,能实现什么样的功能.同时也提到了面向对象的概念.本篇文章就是更加详细的去将面向对象编程中常见的概念进行示例说明, ...

  8. ({i:0#.w|nt authority\iusr})Sharepoint impersonates the IUSR account and is denied access to resources

    This hotfix makes a new application setting available in ASP.NET 2.0. The new application setting is ...

  9. Application Loader上传app,一直卡在“正在通过 App Store 进行鉴定”

    1.问题现象描述 上传iOS应用,卡在 Authenticating with the iTunes Store 2.解决办法 2.1 打开终端输入代码即可 cd ~ mv .itmstranspor ...

  10. 【ocp-12c】最新Oracle OCP-071考试题库(45题)

    45.(9-16)choose the best answer: View the Exhibit and examine the data in the EMPLOYEES table. You w ...