小白Java学习-数组

15858289372   ·   发表于 2020-07-25 22:35:04   ·   闲聊灌水区

引言

作为一个八期小白,学完了学院的课程,为了提高自己的渗透测试能力,也从上周开始了java学习之旅。本来想从面向对象开始写起,感觉编程刚开始学的东西(常量,变量,运算符)都大同小异。今天学到数组,还是感觉挺不同的,便从这里开始了。
希望能写成一个系列,与君共勉吧。也希望能给同样的小白一种参考。(若是理解有问题或者有错,还请大家指出)

数组

概念:一种容器,可以存放多个数据。(由于变量只能存储一个数据产生)

数组的初始化

在内存当中创建一个数组,并且向其中赋予一些默认值

两种常见的初始化方式

动态初始化(指定长度)

  1. 格式:数据类型[] 数组名称=new 数据类型[数组长度]
  2. int[] array = new int[5];(数组 包含5个整数)

静态初始化(指定内容)

  1. 标准格式:数据类型[] 数组名称=new 数据类型[]{元素1,元素2,...}
  2. int[] arrayA=new int[]{1,2,3}
  3. 可以拆分:数据类型[] 数组名称;
  4. 数组名称 =new 数据类型[]{元素1,元素2,...}
  5. int[] arrayA;
  6. arrayA = new int[]{1,2,3};
  7. 省略格式:数据类型[] 数组名称={元素1,元素2,...}
  8. int[] arrayA={1,2,3}

调用数组元素

  1. 格式:数组名称[索引值](索引从0开始)
  2. System.out.println(array[0]);(System.out.printlnjava中的输出函数)
  3. 区分
  4. System.out.prontln(array);
  5. 返回内存地址哈希值(可以理解为内存地址 十六进制 0x打头 0x666
  6. 赋值数组元素:
  7. int[] array=new int[3];
  8. array[0]=1;

注意事项

  1. 使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值
  2. 整数类型->0
  3. 浮点数类型->0.0
  4. 字符类型->\u0000
  5. 布尔类型->false
  6. 引用类型->null
  7. 例如
  8. int[] array = new int[3];
  9. System.out.println(array[0]);输出结果->0

数组的内存分配(可以更好理解数组)

  1. java的内存需要划分5个部分,先了解前3
  2. 1.栈(stack):存放方法中的局部变量(如数组)[方法运行在栈中]
  3. 2.堆(Heap):存放new出来的东西
  4. 3.方法体(Method Area):存储.class相关信息
  5. (至于本地方法栈和寄存器先放一下)
  6. public class Demo01{
  7. public static void main(String[] args){//分配到方法区
  8. int[] array = new int[3];/*int[] array分配到栈中 同时分配内存地址0x666 new int[3]分配到堆中(内存地址中)*/
  9. System.out.println(array);//查找int[] array 查找输出内存地址0x666
  10. System.out.println(array[0]);//查找int[] array 找到0x666 根据0x666在堆中找到默认值0 输出0
  11. }
  12. }

数组长度

  1. 格式:数据类型。length
  2. 遍历数组:
  3. public class Demo02{//创建类 可以理解为固定格式 Demo02为类名
  4. public static void main(String[] args){//程序运行的固定语法
  5. int[] array=new int[5];
  6. for(int i=0;i<array.length;i++){
  7. system.out.println(array[i]);
  8. }
  9. }
  10. }

总结

关于java数组的内容就到这里了(写这些文章也主要是代码审计,所以本文写的都是比较偏利用,有些觉得没什么毕要就没写(我jdk都没装) ),所以如果里面有错误或者理解不对的话还请指正。写完深夜了,又变得多愁善感。很多时候问自己为什么要努力,回答都是不知道,只是习惯了前行,停下来会觉得浪费生命不太对罢了。或许有一天能到达山顶,有力量去做一些事情的时候,能够找到这个问题的答案吧。与君共勉。

打赏我,让我更有动力~

0 Reply   |  Until 2020-7-25 | 1086 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.