导读: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. 一文读懂spark yarn集群搭建

    文是超简单的spark yarn配置教程: yarn是hadoop的一个子项目,目的是用于管理分布式计算资源,在yarn上面搭建spark集群需要配置好hadoop和spark.我在搭建集群的时候有3 ...

  2. spark使用idea以client模式提交应用到standalone集群

    使用idea以client方式提交代码到standalone集群非常简单. 1.首先有一个部署好且已经启动的standalone集群 --------------------------------- ...

  3. MySQL数据库Query性能定位

    1.SQL前面加 EXPLAIN 定位到sql级别 各个属性的含义 id select查询的序列号 select_type select查询的类型,主要是区别普通查询和联合查询.子查询之类的复杂查询. ...

  4. Java对象和XML转换

    有时候,我们需要把Java对象转换成XML文件.这时可以用JAXB来实现.(JDK1.6及以后的版本无需导入依赖包,因为已经包含在JDK里了) 假如某个公司有许多部门,每个部门有许多职员,我们可以这样 ...

  5. Thread in depth 1: The basic

    Every single thread has the follow elements: Execution Context:Every thread has a execution context ...

  6. 【JAVA 学习笔记1】代码注释

    在JAVA中支持单行注释和多行注释 1.单行注释,只要在注释的一行代码中加上双斜杠即可 例如: // int a=2,b=4,c=8; 2.多行注释,在开始位置加上/* 结束位置加上*/ 例如 /* ...

  7. js 倒计时,转义

    function leftTimer(time) { var leftTime = (new Date(time)) - (new Date()); //计算剩余的毫秒数 var days = par ...

  8. https经过ngxin在web服务器收到http请求

    一. 问题描述: nginx代理nexus的时候页面不全,部分https地址自动转成http了,使用方案四解决的 浏览器输入https://www.mysite.com,后台通过request.get ...

  9. php中的XML DOM(11)

    7.创建节点 在dom操作中,增删改操作必须要找父节点 1.DOMElement DOMDocument::createElement ( string $name [, string $value ...

  10. php留言系统(9)

    1.参照之前的(mvc框架总结)将整体框架定下来之后,那么请求默认参数将变为: //默认请求首页: //P=front //C=fIndex //A=show 1.1     找到控制器fIndexC ...