首页 > 编程语言 >JAVA基础--数组--2022年8月21日

JAVA基础--数组--2022年8月21日

时间:2022-08-22 12:33:45浏览次数:72  
标签:JAVA 2022 -- 冒泡排序 int length arrs 内存 数组

第一节 数组静态定义方式

  1、数组的静态初始化的写法和特点是什么样的?

    

 

   2、数组属于什么类型,数组变量中存储的是什么?

    引用数据类型,存储的是数组在内存中的地址信息

第二节  数组的访问

  1、如何访问数组的元素

    数组名称[索引]

  2、如何访问数组的长度

    数组名称.length

  3、数组的最大索引怎么获取

    数组名称[数组名称.length - 1]

第三节  数组的注意事项

  1、数据类型[] 数据名称    也可以写成     数据类型  数据名[]          两者完全一致

  2、什么类型的数组存储什么类型的数据,否则报错

  3、数组一旦定义出来,程序执行的过程中,数组的长度、类型就固定了

第四节  数组动态定义

  1、动态初始化的写法是什么样的

    数组类型[] 数组名称 = new 数组类型[长度]

    int[] ages = new int[3];

  2、两种数组定义时的特点和场景有什么区别

    当前已经知道存入的元素值,用静态初始化

    当前还不清楚要存入哪些数据,用动态初始化

第五节  数组的默认值规则

  

 第六节  数组的遍历

  1、什么事数组的遍历

    一个一个的把数据访问一遍

  2、如何遍历数组

    

 int[] money = {16,32,8,100,78};
 for (int i = 0; i < money.length; i++) {
       System.out.println(money[i]);
 }

 

 第七节  冒泡排序

  1、冒泡排序的思想

    从头开始两两比较,把较大的元素与较小的元素进行交换

    每轮把当前最大的一个元素存入到数组当前的末尾

  2、冒泡排序的实现步骤

    定义一个外部循环控制循环的轮数(数组长度-1)

    定义一个内部循环控制本轮循环的次数以及站位(数组长度-轮数-1)

    如果前一个元素大于后一个元素,交换

 public static void main(String[] args){
        //冒泡排序是每次找最大的放在最后面
        int[] arrs = {11,23,43,98,32};
        //先确定轮数  冒泡排序轮数是数组长度-1
        for (int i = 0; i < arrs.length-1; i++) {
            // i == 1  比较的次数4  j = 0 1 2 3
            // i == 2  比较的次数3  j = 0 1 2
            // i == 3  比较的次数2  j = 0 1
            // i == 4  比较的次数1  j = 0
            //确定每轮排序次数以及站位
            for (int j = 0; j < arrs.length-i-1 ; j++) {
                if(arrs[j]>arrs[j+1]){
                    int temp = arrs[j+1];
                    arrs[j+1] = arrs[j];
                    arrs[j] = temp;
                }
            }
        }

        for (int i = 0; i < arrs.length; i++) {
            System.out.print(arrs[i]+" ");
        }
    }

第八节  java内存分配、数组内存图

  1、java内存分配

 

   2、数组内存图

 

 

 

 第九节  Debug工具的使用

 

标签:JAVA,2022,--,冒泡排序,int,length,arrs,内存,数组
From: https://www.cnblogs.com/Flower--Dance/p/16610503.html

相关文章

  • Learn Dijkstra For The Last Time
    博客链接:https://www.codein.icu/learn-dijkstra/IntroductionDijkstra算法是用于求解非负权图单源最短路的经典算法。市面上的大部分教程都仅仅停留在「如何实现Dijk......
  • ABC 265
    E-Warp(计数、枚举、DP)Problem在一个二维平面上,你从原点开始,可以移动\(N\)次,每次可以进行下面三种移动,假设当前位置是\((x,y)\)\((x,y)\rightarrow(x+A,y+B)\)\((......
  • 从 InfluxDB 到 TDengine,阳光氢能为什么会做出这个选择?
    小 T 导读:为了更好地支持阳光氢能PEM绿电制氢系统,本文作者所在的部门需要寻找一套满足业务和性能需求、而且具有国产知识产权的时序数据库,来替代原本使用的InfluxDB......
  • 自己de搭建博客记录
    自己de搭建博客记录因为奇奇怪怪的原因所以开始学着自己搭建一个博客了但是估计搭好了也不会常更新,连博客园都咕了一个月了先水水免得自己忘记了,要学的还有挺多突然发......
  • HDU2022 第一场
    Backpack我不打但我能补题。明显设\(f_j\)表示容量为j的背包的异或的最大值。但是这样的状态难以进行转移。考虑设\(f_{j,k}\)表示容量为j异或为k是否可行。这样状态......
  • Nginx的基本运行原理及基本配置文件
     Nginx基本请求流程    Nginx配置文件说明 worker_processes 1;#允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多......
  • js去除字符串空格(空白符)
    使用js去除字符串内所带有空格,有以下两种种方法:(1)replace正则匹配方法去除字符串内所有的空格:str=str.replace(/\s*/g,"");去除字符串内两头的空格:str=......
  • 如何做好分支管理,保证高效CI/CD?
    摘要:一文讲述git分支管理策略。本文分享自华为云社区《如何做好分支管理,保证高效CICD?》,作者:华为云PaaS服务小智。引言CI/CD是DevOps的基础核心,做好CI/CD是保证能够频繁......
  • 并发编程学习
    SemaphoreSemaphore可以允许多个线程访问一个临界区。应用:实现线程池CountDownLatch应用:业务原始状态:一个线程执行查询订单,查询派送单,对比差异,写入数据库优化后:......
  • dedecms支持pdf自动导入
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,......