数组的初始化,java 数组的静态特征,即java数组一旦初始化完成,该数组长度将不可改变,只能对数组的内容进行改变。
数组的初始化分为静态初始化和动态初始化。
//采用静态初始化方式
String str[] = new String[]{
"我","爱","你"};
//采用动态初始化方式
String strArr = new String[3];
strArr[0]="我";
strArr[1]="爱";
strArr[2]="你";
此外,当定义变量时,可以用String str[];这种写法只是定义了数组变量,并未对数组进行初始化操作。
初始化除了采用上边的两种方法,还有一种是用以下方式
//另外一种静态初始化的方法
String strArr[];
String str = "我";
strArr = str.split("@");
//下面方法将会抛出java.lang.ArrayIndexOutOfBoundsException异常
system.out.println("strArr[1]");
//如果上述内容不符合要求,可以将strArr数组重新指向另一个数组,则原来的数组就成为了垃圾
if(strArr.length==1){
strArr= new String[]{"我","爱","你"};
}
上边方法也是静态初始化的一种,不过strArr在内存中并不是指向同一个数组
执行动态初始化时,程序员只需指定数组的长度,即为每个数组元素指定所需的内存空间,系统将负责为这些数组元素分配初始值,
基本类型中的整数类型(byte,short,int,long),则数组元素的值时0;
基本类型中的浮点类型(float,double),则数组元素的值时0.0;
基本类型中的布尔类型(boolean),则数组元素的值时false;
基本类型中的字符类型(char),则数组元素的值时'\u0000';
基本类型中的引用类型(类,接口和数组),则数组元素的值时null;
此外,要区分何时是数组变量,何时代表数组对象本身,java数组的多维数组可以看成是一维数组。
数组对于java来说,数组内的类型是确定的,但是对于JavaScript来说,数组类型和长度则不是一定的。
//定义一个数组
var str[];
str[2]=1;
str[4]="我"
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言(强类型语言,类型必须确定)
JavaScript 是一种轻量级的脚本语言(弱类型语言,类型可以不确定)。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。
《JavaScript 也是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。
目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。
从语法角度看,JavaScript 语言是一种“对象模型”语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JavaScript 控制这些功能。但是,JavaScript 并不是纯粹的“面向对象语言”,还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题,JavaScript 都有多种解决方法。
JavaScript 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JavaScript 调用。以浏览器为例,它提供的额外 API 可以分成三大类。
浏览器控制类:操作浏览器
DOM 类:操作网页的各种元素
Web 类:实现互联网的各种功能
如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些你都可以在 Node 环境中找到。
作者:陈琰AC
链接:https://www.jianshu.com/p/72e2c7019747
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。》