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变量,然后给属性赋值,代码如下:
- struct SimpleVar
- {
- public int Position;
- public bool Exists;
- public double LastValue;
- }
- static void Main()
- {
- SimpleVar s;
- s.Position = 2;
- s.Exists = true;
- s.LastValue = 4.2;
- }
#4: 元组(Tuples)
C#: 支持元组
Java: 不支持元组
C#里的“元组”类包含 “一个拥有特定数量和序列元素的数据结构”。例如:
- var zipCodes = new Tuple<string, int, int, int, int>(“Houston”, 77006, 77098, 77002, 77019);
或者
- var zipCodes = Tuple.Create(“Houston”, 77006, 77098, 77002, 77019);
元组类和标准数组类似,但是灵活性较差,因为元组区域不允许修改和其它操作。
#5: 指针(Pointers)
C#: 支持指针
Java: 不支持指针
指针变量“point”指向系统内存里的确切位置,在Java这样的网络应用语言中,指针毫无用处。实际上,Java Native Interface (JNI)能够实现任何这类功能。
所以,正如Gosling指出,Java的最大优势莫过于简单。但是,为此这会牺牲掉包括数据类型在内的一些复杂功能。
c# java数据类型不同点的更多相关文章
- 回顾java基础—Java数据类型
1 java数据类型.8种基本类型,3种引用类型 基本类型(也称:原始类型):byte.short.int.long.char.float.double.boolean 引用类型:类,接口,数组 2 ...
- JAVA数据类型,变量,转换,常量,运算符
java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...
- 多态、GC、Java数据类型
多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...
- java数据类型定义与输出
JAVA数据类型分基本数据类型和引用数据类型. 一.基本数据类型 Java里面包含8个基本数据类型,分别是: boolean.byte.char.short.int.float.douboe.long ...
- java数据类型图:
java数据类型图: ┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ...
- java数据类型学习
java数据类型基本分为两类: 一类为基本数据类型: 数值类型: 整数类型:byte.short.int.long 浮点类型:float.double 字符类型:char 布尔类型:boolean 一 ...
- JAVA —— 数据类型
引言:java 数据类型可分为两大类:基本数据类型和引用类型,其中基本数据类型又包括整形.浮点型.字符型和布尔型,而引用型变量与基本类型变量不同,它的值是指向内存空间的引用(地址),引用在其他语言中称 ...
- java.sql.Types,数据库字段类型,java数据类型的对应关系
以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...
- java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
Hibernate API简介 其接口分为以下几类: l 提供访问数据库的操作的接口: l 用于配置Hibernate的接口: l 回调接口 l ...
随机推荐
- SLAM拾萃(2):doxygen
今天给大家介绍一下doxygen.这个工具由来已久了,至少08年左右就已经在用了,但是目前还没见到好的介绍.我个人觉得这是个很简单易用的工具,但是为什么看了别人介绍反而觉得复杂了……所以趁着今天比较闲 ...
- windows server2012部署apache项目访问后台管理系统时tomcat就停了是怎么回事
是由于环境变量没有配好的原因,找不到jre目录 tomcat的运行需要JRE,一般启动闪退都是因为找不到JRE,也就是说环境安装JDK时环境变量没有配置好. 我们首先打开”命令提示符“窗口,输入jav ...
- swift学习之-- UIAlertVIewController - uiactionsheet
// // ViewController.swift // actionsheet // // Created by su on 15/12/7. // Copyright © 2015年 t ...
- [转]WCF Data Services OData
http://martinwilley.com/net/data/wcfds.html WCF Data Services About OData Server code Client For .ne ...
- OpenGL中常用的函数
OPengl的官方文档如下:https://www.opengl.org/sdk/docs/man4/ void glGetIntegerv( GLenum pname, GLint * ...
- jsp中路径的写法
在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况 代码” ${pageContext.request.context ...
- 在SQL Server 2008中执行透明数据加密
问题 安全是任何公司的一个主要考量.数据库备份容易被偷并被恢复到另一个SQL Server实例上.当我们浏览SQL Server 2008的新特性时,我们对一个叫做透明数据加密的特性很感兴趣,我们可以 ...
- .NET 匿名方法的BUG,请专家解答
匿名方法是.NET 3.5之后的一个好东东,很多人使用,但是我在最近的工作当中发现了一个问题. 请专家解答 //list里存放10个数字 List<); ; i < ; i++) { li ...
- [.net]ConcurrentBag源码分析
ConcurrentBag根据操作线程,对不同线程分配不同的队列进行数据操作.这样,每个队列只有一个线程在操作,不会发生并发问题.其内部实现运用了net4.0新加入的ThreadLocal线程本地存储 ...
- C语言/C++编程学习:和QT零距离接触的意义
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...