java写T_天宇联推出一种新型的高级网络编程语言--TJava--基本语法篇

编写 TJava 程序时,应注意以下几点:

· 大小写不敏感:TJava 是大小写不敏感的,这就意味着标识符 Hello 与 hello 是相同的。程序员不在为个别难识别的字符搞得无处寻找。接口名之外。

· 接口名:所有的接口名是大小写敏感的,唯一的。没有特定的命名要求。

1.1. 标识符

TJava 所有的组成部分都需要名字。变量名以及方法名都被称为标识符。

关于 TJava 标识符,有以下几点需要注意:

· 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始

· 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合

· 关键字不能用作标识符

· 标识符是大小写敏感的

· 合法标识符举例:age、$salary、_value、__1_value

· 非法标识符举例:123abc、-salary

1.2. 变量

出现在“=”(等于号)左边的符合变量命名规则的符号。变量中只能是英文字母、数字及下划线。

1.3. 数组

数组是象表格一样储存数据的对象,可以保存多个同类型变量。按行、列分布。

一维数字数组:

!a=[1,2,3,4]; //a是一组数字

!b=0;

for(i:a){

b=b+i;

}

c=b; //输出c 结果:10

一维字符串数组

!a=["aa","bb",'111']; //b是一组字符串

!b='';

for(i:a){

b=b+'-'+i;

}

b=b; //结果: {"b":"'-aa-bb-111'"}

二维数字数组

a=[[1,2,3,4], [5,6,7,8]]; //a是二维数字数组

b=0;

for(i:a){

for(j:i)

b=b+j;

}

c=b; //输出c 结果:36

二维字符串数组

!b=[["aa","bb",'11'], ["aaa","bbb",'111']]; //b是二组字符串数组

x=b.0.1; //第一行的第二列,即:bb

y=b.1.0; //第二行的第一列,即:aaa

输出结果:{"x":"bb","y":"aaa"}

数组与数据库的结合

!a=api.find(); //从api表中找出主键id的第一行

b=a.name; //从集合a中取字段名为name的值

c=a.0; //从集合a中取第一列的值

输出结果:{"b":"userReg","c":373}

!a=api.findAll(id<10); //从api表中找出所有id<10的所有数据

b=a.0.id;//从数组a中取出第一行字段名为id的值

输出结果:{"b":373}

1.4. 集合

集合是由关键字储存一行数据的对象,象表格的一行。

!a=[name:'li',age:20]; //定义a集合且a不输出

b='';

for(i:a){

b=b+'-'+i;

}

b=b; //结果: {"b":"'-li-20'"}

x=a.0; //通过索引取值

y=a.name; //通过键取值

z=a.age

输出结果:{"b":"'-li-20'","x":"li","y":"li","z":20}

!a=[[name:'li',age:20],[name:'yu',age:22]];

b='';

for(i:a){

b=b+'-'+i.0;

}

b=b;

x=a.0.0;

y=a.0.name;

z0=a.1.0;

z1=a.1.age

输出结果: {"b":"'-li-yu'","z0":"yu","z1":22,"x":"li","y":"li"}

通过map方式定义集合

!a=[[name='li',age=20],[name='yu',age=22]];

b='';

for(i:a){

b=b+'-'+i.1;

}

b=b;

x=a.0.0;

y=a.0.name;

z0=a.1.0;

z1=a.1.age

输出结果: {"b":"'-20-22'","z0":"yu","z1":22,"x":"li","y":"li"}

1.5. 关键字

下面列出了 TJava 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

1.6. 注释

类似于 Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。

l //单行

if(b) return 0; //存在则返回

l /* */多行

/* 这是第一个TJava程序 *它将打印Hello World * 这是一个多行注释的示例 */

1.7. 空行

空白行或者有注释的行,Java 编译器都会忽略掉。

1.8. 语句

通过“;”分别开来。或者通过“,”定义多条语句。

数据类型

TJava数据类型的定义不需要加任何类型,系统自动识别。数据类型有::

· 字符型:通过单引号或者双引号的括起来的数据。如:a=’’我的一个中国人’,b=”我的一个中国人”;

· 数字型:表示数字的常量。如:a=1,b=0.2;

· 布尔型:表示真或者假的二种可能性的常量。如:a=true,b=false;

· 集合:一组或者一行由唯一键值对保存的数据。由一对中括号括起来,每个数据由“,”分开。

n Json类型:键值由“:”表示的数据。如 b=[f1:aa,f2:bb,f3:1,f4:true];

n map类型:键值由“=”表示的数据。如 a=[f1=aa,f2=bb,f3=1,f4=true];

· 数组:由多行多列以二维表保存的数据。

n 单列数组,类似java的list。如 c=[aa,bb,1,true];

n 多行多列数组

· Json类型:如e=[[f1:a1,f2:b1,f3:1,f4:true],[f1:a2,f2:b2,f3:2,f4:true],[f1:a3,f2:b3,f3:3,f4:false]];

u map类型:如 d=[[f1=aa,f2=bb,f3=1,f4=true],[f1=aa,f2=bb,f3=1,f4=true],[f1=aa,f2=bb,f3=1,f4=true]];

运算符

TJava提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:

· 算术运算符

· 关系运算符

· 逻辑运算符

· 赋值运算符

· 其他运算符

1.1. 算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。加(+)、减(-)、乘(*)、除(/)、求余(%)、幂(^)运算。下表列出了所有的算术运算符。

表格中的实例假设整数变量A的值为10,变量B的值为20:

1.2. 关系运算符

表格中的实例整数变量A的值为10,变量B的值为20:

1.3. 逻辑运算符

下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假

1.4. 赋值运算符

下面是Java语言支持的赋值运算符:

1.5. 三目运算及Elivis运算表达式:

三目运算符 “表达式1?表达式2:表达式3”用于构造三目运算表达式,如“2>1?true:false”将返回true;

Elivis运算符“表达式1?:表达式2”,当表达式1为非null时则返回表达式1,当表达式1为null时则返回表达式2,简化了三目运算符方式“表达式1? 表达式1:表达式2”,如“null?:false”将返回false,而“true?:false”将返回true;

x = (expression) ? value if true : value if false

1.6. 字符串连接及截取表达式

使用“+”进行字符串连接,使用“'String'[0] [index]”来截取一个字符,目前只支持截取一个,如“'Hello ' + 'World!'”得到“Hello World!”;而“'Hello World!'[0]”将返回“H”

1.7. 正则表达式:

使用“str matches regex,如“'123' matches '\\d{3}'”将返回true;

1.8. 运算符优先级

当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。

例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。

再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值