首页 > 编程语言 >java学习笔记25

java学习笔记25

时间:2022-09-22 14:15:33浏览次数:55  
标签:25 java nums int 笔记 初始化 数组 new 10

java数组

数组的定义

数组是相同类型数据的有序集合。

数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。

其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。

数组声明创建

首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法:

dataType[] arrayRefVar;//首选方法

int[] nums;//定义

dataType arrayRefVar[]//效果相同

int nums2[];

 

java语言使用new操作符来创建数组,语法如下:

dataType[] arrayRefVar =new dataType[arraysize];

nums = new int[10];//这里可以存放10个int类型的数字

 

数组的元素是通过索引访问的,数组索引从0开始

获得数组长度 arrays.length

public class Demo01 {
   public static void main(String[] args) {
       int[] nums;//1.声明一个数组
       nums = new int[10];//2.创建一个数组

       //3.给数组元素中赋值
       nums[0] = 1;
       nums[1] = 2;
       nums[2] = 3;
       nums[3] = 4;
       nums[4] = 5;
       nums[5] = 6;
       nums[6] = 7;
       nums[7] = 8;
       nums[8] = 9;

       //计算所有元素的和
       int sum = 0;
       for (int i = 0; i < nums.length; i++) {
           sum = sum + nums[i];

      }
       System.out.println("总和为:"+sum);
  }

java内存分析

 

三种初始化

静态初始化

//静态初始化 创建+赋值
int[] a = {1,2,3,4,5,6,7,8,9,10};
System.out.println(a[0]);

Man[] mans = {new Man(1,1),new Man(2,2)};

动态初始化

//动态初始化 包含默认初始化(不赋值都为0)
int[] b = new int[10];
b[0] = 10;
System.out.println(b[0]);
System.out.println(b[1]);
10
0

数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

 

数组的四个基本点

1.其长度是确定的。数组一旦被创建,它的大小就是不可改变的。

 

2.1其元素必须是相同类型,不允许出现混合类型。

 

3.数组中的元素可以是任何数据类型,包括基本类型和引用类型

 

4.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

 

数组边界

下标的合法区间:【0,length-1】如果越界就会报错;、

int[] b = new int[10];
b[0] = 10;
System.out.println(b[10]);

ArrayIndexOutOfBoundsException:数组下标越界异常!

小结:

1.数组是相同数据类型(可为任意类型)的有序集合

2.数组也是对象。数组元素相当于对象的成员变量

3.数组长度是确定的,不可改变的。如果越界则报错ArrayIndexOutOfBoundsException

标签:25,java,nums,int,笔记,初始化,数组,new,10
From: https://www.cnblogs.com/12345ssdlh/p/16719025.html

相关文章

  • java学习笔记26
    java数组数组的使用普通的for循环publicclassDemo03{  publicstaticvoidmain(String[]args){    int[]arrays={1,2,3,4,5};    //打印......
  • java - @Async 具体使用
    1.开启  @Async异步能力添加注解 @EnableAsync,可以放在启动类上,也可以在任意配置类上,因为我是需要配置自定义线程池,因此放在配置类上importorg.springframework.c......
  • JAVA常用工具类
    java开发常用工具类java正则表达式的匹配包括:邮箱,手机,姓名,昵称,身份证号,银行卡号等;生成6位随机数;对url中字符串进行编码和解码;获取客户端ip地址;获取系统当前时间;生......
  • java中String的常用方法
    1、length()字符串的长度例:charchars[]={'a','b'.'c'};Strings=newString(chars);intlen=s.length();2、charAt()截取一个字符例:charch......
  • JAVA中容器设计的进化史:从白盒到黑盒,再到跻身为设计模式之一的迭代器
    大家好,又见面了。在我们的项目编码中,不可避免的会用到一些容器类,我们可以直接使用List、Map、Set、Array等类型。当然,为了体现业务层面的含义,我们也会根据实际需要自行封......
  • Java SE 19 新增特性
    JavaSE19新增特性作者:Grey原文地址:博客园:JavaSE19新增特性CSDN:JavaSE19新增特性源码源仓库:Github:java_new_features镜像仓库:GitCode:java_new_features......
  • JavaScript 函数定义
    JavaScript使用关键字 function 定义函数。函数可以通过声明定义,也可以是一个表达式。函数声明:函数声明后不会立即执行,会在我们需要的时候调用到。functionmyFunct......
  • 学习Java Day1
    Markdown学习Day1笔记划线层级标题+空格井号的多少表示层级的大小字体粗体为文字前后输入各两个“星号”——**斜体为文字前后输入各一个“星号”——*斜体......
  • 无旋树堆(FHQ-Treap)学习笔记
    简介无旋树堆(一般统称\(\text{FHQ-Treap}\)),是一种平衡树。可以用很少的代码达到很优秀的复杂度。前置知识:二叉搜索树\(\text{BST}\)\(\text{Treap}\)基本知识......
  • 第七章读书笔记
    第七章读书笔记7.1文件操作级别硬件级别fdisk:将硬盘、U盘或SDC盘分区mkfs:格式化磁盘分区,为系统做好准备fsck∶检查和维修系统碎片整理∶压缩文件系统中的文件操......