zoukankan      html  css  js  c++  java
  • 第五天笔记

                    黑马程序员  第五天笔记 

                <a href="http://www.itheima.com" target="blank">java培训</a>

    1.重载(很重要)

    同一个方法,允许同名方法。只要参数列表不相同。重载个数,类型,顺序,有一个不同,就是重载。

    判断是不是重载:只看参数名字和方法名字,其他情况不考虑。

    练习:打印99乘法表

    代码演示:

     

    结果:

    2.数组的概述

    为了方便存储很多的数据,简单操作,方便计算

    数组就是一个容器,就是存储多个变量(这些变量的数据类型必须一致)。

    数组中存储的数据类型单一,解决数据过多的问题。

    数组可以存储基本数据类型,也可以存储引用类型。

    3.数组的定义格式:

    A.数据类型[] 数组名

    数据类型:数组中存储数据的类型

    []:表示定义了一个数组

    数组名:标识符

    B. 数据类型 数组名[]

    注:定义完数据,数组中没有数据,java中的数组必须进行初始化才能用。必须规定数组中存储数据的个数,数组中存储数据的个数,必须写在中括号

    代码演示:

     

    结果:

     

    4.数组的动态初始化:

    动态初始化:定义数组的时候只规定存储的个数,具体数据不指定

         动态初始化的格式:

    数据类型[] 数组名=new 数据类型[存储个数];

    =左边 数据类型是数组中存储类型

    []:表示数组

    名字:标识符

    =右边

     New :关键字 创建容器实体

    数据类型:欧诺个存储数据的类型

    []: 表示数组

    存储个数:数组中元素的个数

    代码演示:

    结果:

     

    5.数组的索引 index

    称为下标,角标

    数组对于存储进来的每一个数据,都有一个自动编号,编号为int类型

    从0开始计算,自动的变哈,数组的索引

    数组名[索引]

    最小是,最大存储的个数-1

    6.JAVA程序中的内存分配,数组的内存

      运行时期的事情,JVM会在你的内存中划分出一个区域自己使用

      

    JVM划分的5个区域:

       寄存器:   操作与cpu有关的内容

       本地方法栈:JVM调用windows中的功能使用

       方法区:    存储方法的 ,class文件

    栈:    运行方法的

    堆:凡是new出来的,存储的是实体容器,

    7.数组的内存

      数组在堆中存数,数组中有默认值

      定义变量arr,属于main的局部变量,很碎main方法在栈内存

      数组创建完毕后,JVM会将数组的首地址传递给

       引用型变量为null,则不再引用空间。

    8.数组的静态初始化:

    创建数组的时候,直接对数组中的元素赋值

    长度是

    格式1:

    数据类型 [] 变量名=new 数据类型[不能写长度]{存储的数据,多个数据用,隔开}

    格式2:

    数据类型 [] 变量名= {存储的数据};

    代码演示:

     

    演示结果:

     

    9.数组的长度属性

      数组创建成功以后,JVM会自动的给数组创建一个属性

      属性属于数组自己的特性

      属于运算结果是int类型,表示数组的长度就是存储数据的个数

       写法:数组名.Length

    Int length=arr.length

    代码演示:

     

    演示结果:

     

    10.数组操作的常见问题

      A.数组下标越界异常,你访问了数组中没有的下标,错误信息,只出现在运行时期。

       

    B.空指针异常,引用变量已经没有具体的内存指向,还要访问这个数组,错误信息,只出现在运行时期:

     

    数组=null时,不在保留数组的内存地址

    11.数组的常见应用

    A.数组的遍历

       遍历:把数组中的存储的所有元素一一获取出来

       为什么存储char类型的数组在,输出语句的时候,看到的是每个字符,不是地址。原因:只有使用char数组的时候,println方法自己进行了遍历

    代码演示:

     

    演示结果:

     

    B.获取数组中的最值

    在一个数组中,找出最大值和最小值

    代码演示:

       

    演示结果:

     

    12.数组的翻转(reverse)

    实现数组遍历的原理:最远端换位

    下标思想:2个变量表示下标,一个是0,一个是length-1;

    代码演示:

     

    演示结果:

     

    13.数组查表法

    数组中采用的存储的元素和下标一一对应的方式

    数组查找法(根据键盘录入索引,查找对应星期)

    代码演示:

      

    演示结果:

     

    14.查找数组中的元素

      要求数组中,找元素,第一次出现的索引,出现即可,后面没有不考虑

      运算结果是出现的索引值

      如果没出现呢,凡是找索引十位,如果没有找到,返回结果必须是负数,小于0即可

    代码演示:

     

    结果演示:

     

    15.二维数组

       就是数组中的数组

       定义格式1:

            int [] []  arr = new  int  [3] [2]

       =左边

    Int存储数据类型

    [][]二维变量

    Arr 变量名

    =右边

    New 创建实体容器

    [3] 二维数组中包含了三个小数组

    [2] 每个小数组中有2个元素

    定义格式2:

    Int[] [] arr=new int[3][]

    二维数组中,包含三个一维数组,但是每个一维数组中存储多少元素,没有定义

    定义格式3:

               int[][] arr = new int[][]{ {1,2,3},{4,5} };

                  定义二维数组,二维中2个小数组,第一个小数组存储1,2,3,第二个小数组存储4,5

      代码演示:

     

    结果显示:

     

    16.遍历二维数组

     实现思想和遍历一维数组,是一样的,数组中的数组

           先遍历大数组,遍历大数组的过程中,遍历小数组

           嵌套循环for

           外循环,遍历大数组

           内循环,遍历小数组

    代码演示:见15.

      

  • 相关阅读:
    ubuntu安装php的 mongodb扩展
    ubuntu安装php的 redis扩展
    Ubuntu14.04下安装Composer
    编译安装php
    RabbitMQ PHP扩展安装
    编译安装opssl
    安装卸载nginx
    本地VM安装虚拟机,使用xshell连接
    下载并破解IntelliJ IDEA(2017)
    symfony框架中使用service
  • 原文地址:https://www.cnblogs.com/liman/p/4348734.html
Copyright © 2011-2022 走看看