变量与数据类型
计算机处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、浮点数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。数据结构指的是数据的组织形式。例如,数组就是一种数据结构。不同的计算机语言所允许使用的数据结构是不同的。处理同一类问题,如果数据结构不同,算法也会不同。例如,对10个整数排序和对包含10个元素的整型数组排序的算法是不同的。
1. 数据类型部分
Primitive |
这些是对所有的程序最基本的数字和字符类型;你不需要声明它们 |
Literals |
值的直接表示 |
Dictionary |
字典部分由键-值对组成 |
Exception |
系统提供很多基本的异常;你可以自己定义其它的异常 |
Arrays |
数组 |
1.1 基本数据类型(Primitive Type)
Primitive基本数据类型是标准的预定义类型,你可以用来作为变量,record域部分的基础。虽然确切的名字可能会有变化,但是大部分这些类型(比如INT)对于大多数编程语言是通用的。因为它们不基于任何别的类型,所以过程语言经常把这些类型称为“基础项”。Primitive类型包括下面的分类:字符、日期/时间、数字、逻辑、ANY。
字符数据类型
EGL提供大量的单字节,双字节和多字节字符的编码类型。下表是所有EGL语言字符类型定义:nt��gt�!78时间、数字、逻辑、ANY。
Primitive |
大小 |
限制 |
数据类型 |
EDT支持情况 |
CHAR |
1字节 |
CHAR(32767) |
单字节 |
暂不支持 |
DBCHAR |
2字节 |
DBCHAR(16383) |
双字节 |
暂不支持 |
MBCHAR |
1或者2字节 |
MBCHAR(32767) |
MBCS数据。因为第一个字节属于保留设置被认成双字节字符。在单字节里指定长度。 |
暂不支持 |
STRING |
可变化的 |
16,383 字符字符字符 |
Unicode (UTF-16编码)字符 |
支持 |
UNICODE |
2字节 |
UNICODE(16383) |
Unicode (UTF-16编码)字符
|
暂不支持 |
HEX |
4位 |
HEX(65534) |
十六进制数字0-9和A-F |
暂不支持 |
其中String类型是目前EDT全面支持的一种,包括Java Generation和JavaScript Generation。其他类型只在语言内核中支持,并未支持目标语言生成。
下例是字符串类型变量的声明
myVarString STRING;
如果需要用到一些特殊的字符的转义符,请参考下表:
转义符 |
字符名 |
\″ |
双引号 |
\\ |
反斜杠 |
\t |
制表符 |
\r |
回车符 |
\f |
换行 |
\n |
换行 |
\b |
回车 |
下面的例子包括一个换行符:
var1 String = "This is a string \n that will appear on two lines."
日期/时间 类型
以下是EGL语言支持的日期/时间基本数据类型,目前EDT支持DATE和TIMESTAMP两种类型:
Primitive |
大小 |
数据格式 |
EDT支持情况 |
DATE |
8位 |
yyyyMMdd |
Java/JavaScript |
INTERVAL |
1到21位 |
基于掩码 |
Not Support |
TIME |
6位 |
HHmmss |
Not Support |
TIMESTAMP |
1到20位 |
基于掩码 |
Java/JavaScript |
Date类型示例:
date1 date;
date1 = "10/11/1983";
TimeStamp类型示例:
ts1 timeStamp?;
ts2 timeStamp("yyyyMMddHHmmssffffff");
ts3 timeStamp("yyyyMM");
ts4 timeStamp("HHmmss");
ts5 timeStamp("MMdd");
ts1 = "1988-10-10 08.32.00.123000";
ts2 = "19881010083200123000";
ts2 = "1988-10-10 08.32.00.123000";
ts3 = "198810";
ts3 = "1988-10";
ts4 = "083200";
ts4 = "08.32.00";
ts5 = "0822";
ts5 = "08-22";
数字类型
EGL提供大量的数字数据类型。一些数字类型(比如BIGINT或者FLOAT)自动地表示长度和十进制小数点的位置。一些别的数字类型(DECIMAL),你需要指定长度和十进制小数点后的位数,看看下面的例子:
Primitive |
大小 |
制定长度 |
小数点位置 |
数据类型 |