zoukankan      html  css  js  c++  java
  • c# java数据类型不同点

    导读: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. public int Position; 
    3. public bool Exists; 
    4. public double LastValue; 
    5. static void Main() 
    6. SimpleVar s; 
    7. s.Position = 2; 
    8. s.Exists = true; 
    9. s.LastValue = 4.2; 

    #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的最大优势莫过于简单。但是,为此这会牺牲掉包括数据类型在内的一些复杂功能。

  • 相关阅读:
    第一次软件作业
    第四次作业之单元测试
    第四次作业之代码规范
    第四次作业之psp
    第四次作业之四则运算
    第三周作业之功能测试
    第三周作业之效能分析
    第三周作业之例行报告
    第二周例行报告(王伟东)
    软件工程第二次作业(王伟东)
  • 原文地址:https://www.cnblogs.com/crhdyl/p/4981074.html
Copyright © 2011-2022 走看看