现在的位置: 首页 > 综合 > 正文

移动开发四国语言概览三:数据类型与常量、变量(上)

2013年11月20日 ⁄ 综合 ⁄ 共 1567字 ⁄ 字号 评论关闭

从上一篇文章中各语言的关键字可以窥探出各语言的数据类型来,追根溯源,语言的基本数据类型可以分为两类:数值类型和字符类型。

至于什么是数据类型呢,通常来说是与定义变量有关:数据类型是按照被定义变量的性质、表示形式、占用存储空间多少等构造特点来划分。

那么为什么要有数据类型呢?这个很多人倾向于定义变量是划分存储空间有关。这里就要先说一说编程语言的大体分类了。

一、编程语言分类

从不同的角度可以分出不同的类别。

1、解释型、编译型与混合型

我们写的代码(当然是用各种编程语言书写)要翻译成机器语言给计算机,它才能够看懂并执行。而这个翻译的时间不同,就被分为解释型和编译型。

写完代码立刻翻译,此时成为编译,生成可执行文件,计算机执行它,这种语言就叫做编译型语言,如C、C++和Objective-C。

写完代码立刻运行,在运行时进行翻译,这种语言就叫做解释型语言,如Perl、Ruby、Python等脚本语言。

而Java和C#呢,介于这两者之间,它们在编写完成后都会有个编译的过程,编译的结果是中间语言(Java字节码、.NET目标码),在运行时在由JVM和.NET框架解释运行。

那我们姑且叫它们为混合型语言吧,虽然这点至今仍有争议。

2、动态语言和静态语言

从何说起?从数据类型说起。

动态语言是指在运行时才去做数据类型检查的语言。就是说,用这种语言编程,你就不用给变量指定数据类型了,如:Python和Ruby等。

静态语言是与动态语言相反的,在编译期就进行数据类型检查,在编程时要给变量指定数据类型。移动开发四国语言都是静态语言。恭喜。

3、强类型语言和弱类型语言

还是与数据类型有关。

强类型:如果声明了一种数据类型的变量,如果不做强制转换,那么这个变量永远是这种数据类型。类型安全。移动开发四国语言也都是强类型语言。

弱类型:与上述相反。VBScript是弱类型语言,可以把整型和字符串随意转换。

综合以上,得出一个共识:移动四国语言是静态语言和强类型语言。

二、数据类型的分类与常量、变量

由于四种语言的历史背景不同,大分类有争议,下面直接进入小分类阶段:整型、浮点数型、字符型、枚举、数组、结构、联合。

1、整数类型:

    C++:简单的说来,整型包括int和long,int型通常是一个机器字长,在32位机器下,int型为4个字节。long型通常比int大,这取决于编译器。

               unsigned修饰符表示无符号。

               定义一个无符号整型变量:unsigned int width = 7;//通常变量定义后要进行初始化,否则编译器会给其赋值一个随机数。

               整型常量:三种表示方式。

                                 1、十进制整数:正常表示,123,-321,0等。如果是一个长整型,后缀要加l或L,通常推荐用L,如123L。

                                 2、八进制整数:前缀为0,如0123.

                                 3、十六进制整数:0x或0X前缀,如0x123.

    Objective-C:基本与C++的整型类型相同。补充一点,无符号型用u或U后缀表示,如123UL。

    Java:整型长度是固定的,int型为4字节,long型为8字节。其余也同C++类似。需要补充的是,Java中增加了byte型,顾名思义,byte就是字节,长度为1字节。这与C++的char相同,取值范围是-128~127。

    C#:整型分类很细,但基本与Java还是很像的。关于“字节”,C#中有两个,一个是byte,与Java的byte不同,取值范围是0~255;另一个是sbyte,与Java的byte相同。

【上篇】
【下篇】

抱歉!评论已关闭.