【Java&AndroLua】Java转AndroLua的步骤
Java和Lua的区别
转lua前必须要知道的是Java和lua的区别在哪里
区别如下:
1、java中有很多java才有的关键和类型,lua则只有lua自己的关键字。不过lua和java也有共同的关键字
2、java中声明数组和实例化对象需要new关键字进行,而lua没有new和不需要自己写类型
3、java函数体采用的或括号包起来而lua则是用end结束函数并不用花括号
Java和Lua中常用的关键字
Java:public,private,protected,final,static,default,void,synchronized,abstract,interface
Lua:local
Java常用的类型
int,float,double,long,short,char,boolean,byte,注意的是String实际上是一个对象并不是类型
变量转换
Java:public static int a = 0;
Lua:local a = 0 或 a = 0
Java:private static int a = 0;
Lua:local a = 0 或 a = 0
Java:protected final String a = 0;
Lua:local a = 0 或 a = 0
看起来很复杂这里有个记忆口诀
如:protected final String a = 0;
上面这个变量名为a
可以直接把变量名左边的全部去除就行了,只保留右边
a = 0
Java:final String asd = 0;
Lua:asd = 0
函数转换
Java中函数的声明结构是
修饰符 返回类型 方法名(参数类型 a ,xxx){
}
转lua也是非常简单的
比如下面这个
public final void a(A a){
}
转lua
function a()
end
再比如
public staitc String a(A a){
}
转lua
function a()
end
记忆口诀
1、把函数名前面的所有删除加上function
2、参数类型删除
3、花括号删除加上end
public staitc String a(A asd){
}
函数名是a删除前面的加上function就是
function a
括号中去除参数类型就是asd
去除花括号加end就是end
function a(a)
end
运算符的转换
Java
Lua
算术运算符
a = a+1
a = a+1
a = a-1
a = a-1
a = a*1
a = a*1
a = a/1
a = a/1
a = a%1
a = a%1
a++
a = a+1
a = a–
a = a-1
关系运算符
==
==
!=
~=
>
>
<
<
>=
>=
<=
<=
位运算符
&
&
~
~
<<
<<
>>
>>
逻辑运算符
&&
and
or
!
这个比较特殊就是取反的意思,比如!a,Lua中a==false
赋值运算符
a=1
a=1
a+=2
a = a + 2
a-=2
a = a - 2
a*=2
a = a * 2
a/=2
a = a / 2
a%=2
a = a % 2
a<<=2
a = a << 2
a>>=2
a = a >> 2
a&=2
a = a & 2
a^=2
a = a ^ 2
a=2
a = a 2
a = b?1:2
if b then a = 1 else a = 2 end
if的转换
Java:
if(a==b a==c){
}eles if(a != c && c == 3 ){
}else{
}
Lua:
if a==b or a~=c then
elseif a~=c and c==3 then
else
end
记忆口诀
1、 去除花括号
2、逻辑运算符按照上面表格更改
3、在条件后面加上then
4、最后加上end
for循环的转换
Java
Lua
for(int i=0;i<10;i++){ }
for i=0,10,1 do end
int i = 0; for(;i<10;i++){ }
for i=0,9,1 do end
int i = 10; for(;i>=10;i--){ }
for i=0,10,-1 do end
int i = 0; for(;i>10;i=i-2){ }
for i=0,10,-2 do end
int i = 0; for(;i>10;i=i+2){ }
for i=0,10,2 do end
for(;;){ }
while true do end
int[] as = new int[]{1,2,3,4,5,6}; for(int a : as){ }
as = {1,2,3,4,5,6}; for i=1,#as-1 do end
while循环
while(ture){
}
转lua
while true do
end
while(a==0){
}
转lua
while a==0 do
end
记忆口诀
1、去除花括号
2、运算符对照上面表格修改
3、在条件后面加上then
4、末尾加上end
switch的转换
int a = 10
switch(a){
1 | case 10: |
}
转成lua
a = 10
switch(a)
case 10
case 9
default
end
实例化对象
Java:
String a = new String(“123”);
Lua:
a = String(“123”)
数组的转换
Java:
int[] is = new int[]{1,2,3};
Lua:
is = int{1,2,3}
Java:
String[] is = new String[]{“1”,“2”,“3”};
Lua:
is = String{1,2,3}
接口的转换
Java:
Button btn = new Button(this);
btn.setOnclickListener(new View.OnClickListener(){
@overrid
protect void onclick(View v){
}
})
Lua:
btn = Button(this);
btn.setOnclickListener({
onclick=function(v){
}
})若如上内容有任何的错误或者需要补充,请在下方评论区进行补充。我看到会第一时间更新到文章中。 谢谢您的合作!!!