JAVA的数组基本用法

打印 上一主题 下一主题

主题 850|帖子 850|积分 2550

array

在声明数组变量时,需要指出数组类型和数组变量名,例如int[] a;不过这条语句只是声明确变量a,并没有将a初始化为一个真正的数组。应该利用new操纵符来创建数组。
int[] a = int[100]或者var a = new int[100]数组长度不要求是常数
但是一旦创建了数组,就不能再改变它的长度。不过当然可以改变单个数组元素。如果程序运行当中需要经常扩展数组的大小,就应该利用另一种数据结构————数据列表ArrayList
可以利用以下两种形式定义一个数组变量:
int[] a;或者int a[];
大多数环境都是用前者是因为它可以将类型int[]与变量名清楚的分开
在Java中提供了一种创建数组对象并同时提供初始值的简写形式
int[] arr = {1,2,3,4,5};这种方式不需要利用new,甚至也不需要指定长度。
还可以利用匿名数组new int[] {1,2,3,4,5},这个表达式会分配一个新数组并填入大括号中提供的值,他会统计初始值个数,并相应的设置数组大小。可以利用这种语法重新初始化一个数组而无需创建新变量,例如:
arr = new int[] {1,2,3,4,5};
for each

Java有一种功能很强的循环结构,可以用来一次处理数组或者任何其他元素聚集中的每个元素,而不必思量指定索引值。这种增强的for循环形式如下:
for (variable : collection) statement
它将给定变量设置为聚集中的每一个元素,然后实验语句。collection必须是一个数组或者是实现了Iterable接口的类对象。例如:
  1. for (int element : a){
  2.     System.out.println(element);
  3. }
  4. //这个效果就等同于
  5. for (int i=0; i<a.length;i++){
  6.     System.out.println(a[i]);
  7. }
复制代码
想要快速打印一个二维数组,可以直接调用Arrays的deepToString方法生成
System.out.println(Arrays.deepToString(balances));

C++和java的区别:

  • Java数组与堆栈上的C++数组有很大的不同。但基本上与在堆上分配的数组指针一样。也就是说:
int[] a = new int[100];//java
不同于
int a[100]; //c++
而等同于
int* a = new int[100];//c++
Java中的[]运算符预定义为会完成越界检查。另外,没有指针运算,就意味着不能通过a+1得到数组中的下一个元素。

  • 在C++中,Java声明的
double[][] balances = new double[10][6];//java
不同于
double balances[10][6]//C++
也不同于
double (*balances)[6] = new balances[10][6]'//C++
而是分配了一个包含10个指针的数组;
double** balances = new double*[10];
然后这个指针数组的每一个元素会填充一个包含6个数字的数组;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表