数组的初始化

IDEA的入门小技巧:
快速生成主方法:psvm;
快速生成输出语句:sout;
单行注释快捷键:“ctrl+/”;
多行注释快捷键:“ctrl+/”(每行都是单行注释)或者“ctrl+shift+/”(多行一块注释);
包的命名规范:字母小写,级与级直接用“.”隔开;
for循环的快速生成方式:
(1)num.fori 递增循环
eg:

10.fori 表示的是for(int i=0;i<10;i++){}

(2)num.forr 递减循环
eg:

10.forr 表示的是for(int i=10;i>0;i--){}

万能纠错键(补全键):alt+Enter
快速补全:sth().var
eg:

 sc.nextInt().var会自动生成int index=sc.nextInt()

数组:数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。

初始化:为数组分配内存空间,并为数组中的元素进行赋值。初始化可分为动态初始化和静态初始化。动态初始化只指定长度,由系统给出初始化值(整型默认为0,浮点型默认为0.0,字符串型默认为null等)。静态初始化:给出初始化值,由系统决定长度。
一维数组有两种初始化方法:
(1)动态初始化:手动输入数组的长度,由系统为数组元素赋值。
格式: 数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
eg:

int arr[]=new int[3];
	arr[0]=33;
	arr[1]=524;

数组并不一定是整型,还有浮点型(double),布尔型(boolean),字符型(char)等等
(2)静态初始化:由我们为数组元素赋值,由系统计算长度
int[]arr1=new int[]{1,2,3};
Int[]arr1={1,2,3,4};(简写方式)
注意事项 这两种方式,只能使用一种,不能进行动静结合

在使用数组过程当中,容易遇到的异常。
a:ArrayIndexOutOfBoundsException:数组索引越界异常
原因:访问了不存在的索引。
b:NullPointerException:空指针异常
原因:数组已经不在指向堆内存了。而还用数组名去访问元素。
可以把一个对象使用完之后,置为null ,有利于垃圾回收器,回收这个对象。

二维数组的定义
(1)动态初始化
数据类型[][] 变量名 = new 数据类型[m][n];
m表示这个二维数组有多少个一维数组
n 表示每个一维数组中的元素个数
注:n可写可不写,当没有写时,内存中没有给一维数组开辟空间,默认为null。 当写了时,一维数组元素默认值为0(int型为例)
eg:

int[][]arr1=new int[3][4];
	arr1[2][2]=3;

(2)静态初始化
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}…};
简写为:
数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
这个格式属于静态初始化:由我们指定具体的元素值,由系统给分配长度
eg:

int[][]arr2=new int[][] {{1,2,3},{4,5,6}};
	int[][]arr3={{1,2,3},{4,5,6}};

补充:还有两种格式可以表示二维数组(罕见):
数据类型 数组名[][] = new 数据类型[m][n];
数据类型[] 数组名[] = new 数据类型[m][n];

数据类型:基本数据类型和引用数据类型。
(1)基本数据类型:四类八种
(2)引用数据类型:数组,类,接口,都属于引用数据类型,简单记忆,需要new出来的就 是引用数类型。
局部变量:就是是定义在方法中,或方法声明上的变量(形参)的变量,局部变量,存储在 栈内存。
int num=100; //局部变量
形参也是局部变量
定义在方法中的变量,是局部变量

栈和堆的理解
: 存放的是局部变量。
局部变量:在方法定义中或者方法声明上的变量都是局部变量。
: 存放的是所有new出来的东西。
特点:
a: 每一个new出来的东西都会为其分配一个地址值。
b: 每一个变量都有一个默认的值
byte,short,int,long – 0
float,double – 0.0
char – ‘\u0000’
boolean – false
引用数据类型 – null
c: 使用完毕就变成了垃圾,等待垃圾回收器对其回收

递归:在定义方法中,方法调用方法本身的现象。
注意事项
(1)要有判断条件,达到一定条件时递归完成。否则就是死循环;
(2)递归次数不能太多,否则会报错(内存溢出)。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值