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.

      

  • 相关阅读:
    Entity SQL 初入
    ObjectQuery查询及方法
    Entity Framework 的事务 DbTransaction
    Construct Binary Tree from Preorder and Inorder Traversal
    Reverse Linked List
    Best Time to Buy and Sell Stock
    Remove Duplicates from Sorted Array II
    Reverse Integer
    Implement Stack using Queues
    C++中const限定符的应用
  • 原文地址:https://www.cnblogs.com/liman/p/4348734.html
Copyright © 2011-2022 走看看