首页 > 编程语言 >Java编程之数组

Java编程之数组

时间:2023-05-26 21:32:07浏览次数:50  
标签:存储 Java int 编程 数据类型 --- 数组 默认值

数组(容器)

数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来,数组本身是一个引用数据类型,数组内存储的类型可以是基本类型 也可以是引用类型。

数组的特点

  1. 数组本身是一个引用数据类型
  2. 数组是在堆内存中的一串连续的地址存在
  3. 数组在初始化时必须指定长度
  4. 堆内存的数组空间长度一旦确定  不能再次发生改变
  5. 栈内存的变量中存储的是数组的地址引用
  6. 数组内部存储的类型可以是基本的 也可以是引用

1.数组的定义(声明)

数据类型[]  数组名字;
	int[] x;
	char[] y;
	boolean[] z;
	String[] m;

2.数组的赋值(初始化)

静态初始化     有长度  有元素
		int[] array = {10,20,30,40,50};
		int[] array = new int[]{10,20,30};
	动态初始化     有长度  没有元素(不是真的没有 默认值)
		int[] array = new int[5];
		整数默认值---0
		浮点数默认值---0.0
		字符型默认值---  0---char   97-a  65-A  48-'0'
		布尔型默认值---  false
		引用数据默认值--- null	String[]

3.数组元素的访问

通过元素在数组中的位置来访问
	存值/取值
	位置---->index索引
	索引是有取值范围    [从0开始-----数组长度-1]
	如果数组的索引超出了上述范围
	会出现一个运行时异常   ArrayIndexOutOfBoundsException

4.数组元素的遍历(轮询)

通过循环的方式访问数组的每一个元素
	for( ; ; ){
	}
	JDK1.5版本之后   新的特性   增强for循环  加强for   forEach
	for(自己定义的变量(接收数组内每一个元素) : 遍历的数组array){
	}
	正常的for循环以及加强的for循环都需要非常熟练

 1.正常的for   有三个必要条件  index索引  找到某一个元素的位置

     可以通过index直接访问数组的某一个位置   存值  取值都可以

     不好在于写法相对来说比较麻烦

2.增强的for   有两个条件    用来取值的变量  用来遍历的数组  没有index索引

     好处写法相对比较容易

     不好只能取值  不能存值

     没有index索引  找不到元素到底是哪一个

5.基本数据类型和引用数据类型在内存结构上的区别

所有的变量空间都存储在栈内存
变量空间可以存储基本数据类型  也可以存储引用数据类型
如果变量空间存储的是基本数据类型  存储的是值 
    一个变量的值改变  另一个不会跟着改变
如果变量空间存储的是引用数据类型  存储的是引用(地址)
    一个变量地址对应的值改变 另一个跟着改变

Java编程之数组_默认值

练习
  • 新建一个数组,把数组里的数取出来,再按照倒序的排列方式放进去
- 解析代码如下
public class We{
    public static void main (String[] agrs){
        int[] array = {1,2,3,4};
        for(int i=0;i<array.length/2;i++){//控制交换的次数 数组长度的一半
            int x = array[i];
            array[i] = array[(array.length-1)-i];
            array[(array.length-1)-i] = x;
        }
        for(int v:array){
            System.out.println(v);
        }
    }
}

运行一下看看:

Java编程之数组_数组_02

  • 各位读者可以自己试着自己编写一些小程序
  • 用程序实现一些功能
  • 我们下期再见

标签:存储,Java,int,编程,数据类型,---,数组,默认值
From: https://blog.51cto.com/u_15770393/6359148

相关文章

  • java工具类篇
    Java工具类是一种常见的编程技术,用于封装一组静态方法,提供常用功能的实现和复用。下面是几个常见的Java工具类及其示例用法:StringUtils(字符串工具类):示例用法:Stringstr="Hello,World!";booleanisEmpty=StringUtils.isEmpty(str);System.out.println("Isempty:"+isEm......
  • java中的BIO NIO AIO有什么区别?
    BIO、NIO和AIO都是Java中用于处理网络编程的技术,它们的主要区别如下:BIO:BIO(BlockingIO)阻塞式IO,指I/O的读写操作是阻塞的。当读写操作发生时,线程被阻塞,一直等到I/O完成才返回。BIO是Java最早的网络编程API,也是最常用的API。BIO的实现简单,易于理解和使用,但是由于阻塞......
  • Java--异常
    Java--异常异常异常的分类ErrorException总结编译时期异常和运行时期异常编译时期异常在编译阶段,必须要手动处理,否则代码报错.运行时期异常在编译时期不需要处理,是代码运行时出现的异常.区别......
  • 数组能形成多少数对
    给你一个下标从0开始的整数数组nums。在一步操作中,你可以执行以下步骤:从nums选出两个相等的整数从nums中移除这两个整数,形成一个数对请你在nums上多次执行此操作直到无法继续执行。返回一个下标从0开始、长度为2的整数数组answer作为答案,其中answer[0]......
  • java中常用的判断数据为空的工具
    一些工具的引入可以是的代码变得更加整洁,同时对于数据的判断会更加的全面pom文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"x......
  • 五、JUC-Java内存模型JMM
    一、一些疑问什么是Java内存模型JMMJMM与volatile他们两个之间的关系JMM有哪些特性为什么要有JMM,他们为什么出现,功能和作用是什么happens-before先行发生原则是什么二、计算机硬件存储体系计算机存储结构,从本地磁盘到主存到CPU缓存,也就是从硬盘到内存到CPU一般对应的程序......
  • Java大文件分片上传/多线程上传方案
    ​ 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。先说下要求:PC端全平台支持,要求支持Windows,Mac,Linux支持所有浏览器。支持文件批量上传支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W......
  • 学习日记——Java循环结构
    1.while循环①语法:while循环语法//参数的初始化inti=1;//循环条件while(i<10){//循环操作System.out.println("这是测试");//变更参数i++;}特点:先判断,再执行②实战案例:2.dowhile循环①语法:dowhile语法 //初始化参数inti=0;do{......
  • C#异步编程概念和使用
    异步编程要搞懂3个概念async、Task、await;async修饰符指明方法为异步方法;Task是异步方法返回类型;await是运算符,用来等待异步方法完成;当在异步方法中调用异步方法(理解为启动任务),可以在合适的时机等待任务完成,然后再使用返回的结果,这就是异步编程的优势,可以在一个过程中执行多......
  • java怎么打印一个对象的内存地址
    在Java一般使用HashCode来代表对象的地址,但是两个相同的对象就不行了,两个相同的对象的hashcode是相同的。  如果要对比两个相同的对象的地址可以使用,System.identityHashCode(传输进去的参数是一个对象)......