as3与java_As3.0与java数据类型的比较总结

1.AS3中的数据类型

AS3中所有的数据都是对象。(Everything is an Object 相对于Java 它是完全面向对象 Java基本数据类型不是继承Object类)

AS3中最核心的类是Object类。所有一切类都继承自Object类。

AS3中的数据类型 分为基本数据类型和复杂数据类型

基本数据类型包括:Boolean ,int,Number,String和unit (注意大小写 与Java不同)

Boolean 默认值false

int 默认值 0  ,32位整数

Number 默认值 NaN,64位浮点数

String 默认值null ,字符串

unit 默认值0 ,一般用于颜色上

复杂数据类型包括:Array,Date,Error,Function,RegExp,XML,XMLList,我们自己定义的类。

2.变量的声明和使用

AS3和Java 一样,变量必须先声明再使用

在AS3中变量声明格式如下:

var 变量名:数据类型;

var 变量名:数据类型 = 值;

Var 是一个关键字,用来声明变量。变量的数据类型写在冒号后面。其次,如果要赋值,数据类型和变量声明的必须一致(与Java相同 静态语言的编译时检查),如果没有赋值,变量会根据自己的类型赋予默认值。

var a;  声明a未指定类型 (untyped)

var b:*; 效果同上

3.值类型和引用类型的区别

值类型等同于基本类型,其余全都是引用类型。

值类型的数据可以不用new关键字来创建,当然也可以用new关键字创建。必须用new关键字创建的一定不是值类型。

例1

var a:int = 3;

var b:int = a;

b = 9;

trace(a); //结果3

trace(b); //结果9

例2

var a:Array = new Array(1,2,3);

var b:Array = a;

b[0] = 100;

trace(a); //结果 100,2,3

trace(b); //结果 100,2,3

例3

var a:Array = new Array(1,2,3);

var b:Array = a;

b = new Array(100,200,300);

b[0] = 10;

trace(a);//结果1 2 3

trace(b);//结果10 200 300

AS3中的引用类型和java中的非基本类型相同

4.基本数据类型

在Java中,值类型并不是以对象形式存在的。值类型的变量,存储的不是引用,而是直接容纳了值,AS3中即使是值类型,也存储的是引用,只不过引用的是特殊对象(不可变对象)

5.使用const声明常量

语法

const foo:int = 45;

foo = 100;//报错

6.详细讲解基本数据类型

布尔型:Boolean

比较AS2和AS3中的区别

//AS2

var b:Boolean;

trace(b);  //undefined

trace(b == false); //false

//AS3

var b:Boolean;

trace(b); //false

trace(b == false) ;//true

数字型

int 是有符号32位的整型数

unit 是没有符号的32位整型数

Number 是64位浮点数

能用整数优先使用int和unit。

只处理正整数时,处理颜色时使用unit。

有小数时使用Number。

var a:int = 9;

var b:int = a/2;

trace(b);//4

var c:Number = a/2;

trace(c);//4.5

要小心整数数值的边界

var i:unit = 0;

i--;

trace(i); //期望的结果是-1 实际结果是4294967295

字符串String

var stringSample1:String ;

var stringSample2:String = "";

var stringSample3:String = new String();

var stringSample4:String = "abc";

var stringSample5:String = new String("abc");

var stringSample6:String = 'abc';

var stringSample:String = "this is a sample";

var stringLength:String = stringSample.length;

数组:Array

Var a:Array;

Var b:Array = [];

Var c:Array = new Array();

Var d:Array = [1,2,3,4];

Var e:Array = new Array(1,2,3,4);

Var f:Array = new Array(5);

Object

Object的成员有两种:一种是属性,一种是函数

声明一个Object

//1.使用构造方法

var foo:Object = new Object();

//2.使用空的大括号

var bar:Object = {};

//3可以写入属性和方法

var foo1:Object = {id:10,name:"hurry",hello:function(){return "Hello !!!"}};

trace(foo1.name);

trace(foo1.hello());

//4.Object可以动态的添加属性

var student:Object = {};

student.id = 1;

student.name = "hurry";

trace(student.name);

//5.动态添加方法

student.sleep = function() {

trace("I am sleep !!!");

}

student.sleep();

//6使用.或[]访问Object属性

多位数组

var sampleArray1:Array = [ [1, 2, 3 ] , [ 4, 5, 6 ] , [ 7, 8, 9 ] ];

trace(sampleArray1[1]);

trace(sampleArray1[1][2]);

var sampleArray2 = new Array(new Array(1,2,3), new Array(4,5,6), new Array(7,8,9) );

trace(sampleArray2[2][1]);

var sampleArray3:Array = new Array(3);

sampleArray3[0] = [1,2,3];

...

...

7变量的默认值

int 默认值 0    unit 默认值0   Number 默认值 NaN  String 默认值null

Boolean 默认值 false  Array 默认值 null  Object 默认值 null   未声明 默认值 undefined

如果一个Number类型的变量未赋值,则它参与的任何的数学运算的结果都是NaN

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值