zoukankan      html  css  js  c++  java
  • JAVA基础--函数和数组03

    一、函数的引入

    1. 函数的引入

        能把相同的代码都抽出来,放到一个地方,等到要使用的时候再去调用,如果有不同的数据,在使用的时候传递就行了;

      2. 函数的概念:函数又叫方法,一段独立于代码块 直接卸载类中,实现独立的方法

      3. 函数的作用:解决的代码的重用性差的问题

      4. 函数的书写方式

      修饰符 返回值类型 方法名(参数类型1,参数类型2,参数类型3,参数类型.....)

      {

        功能代码(方法体)

        return 返回值的数据

      }

      

      注意

      

    void:

    表示函数不需要返回结果时的函数返回值类型;

    return:

    表示结束当前所在函数,同时如果函数有结果返回,就通过return将结果返回给调用者;

    所有函数都是通过return结束运行的;

    如果函数返回值类型是void,return可以省略不写,但是编译器会帮我们加上;

    二、函数的使用

    1.  函数的声明

      

    总结:声明一个函数,需要先明确两个东西:

    1、函数的返回值类型;

    2、函数的参数列表;

      

      2. 函数的调用

      3. 函数的书写误区  

        误区:就是在函数定义的功能之外书写额外的功能;

      

      

      总结:一个函数一个功能,不属于这个函数的功能,就要新建一个函数实现;

      一般,一个函数也不要写太长,一般二三十行够了,再多,就要分解功能,写到不同函数中,在调用;

      所以以后的开发中,新功能都要新建一个函数实现,main函数中,只是写功能的调用;

      4. 函数执行内存图解

      

    总结:Java中,所有函数都是在栈内存中执行的,都是通过return关键字出栈的;

    栈内存的特点是先进后出;正在执行的函数一定是位于栈顶的函数,在栈底的函数一定是main函数;

    当main函数出栈,整个程序也将结束运行;

    三、函数的重载

      
      为什么函数可以重载

      

      1. 定义

      同一类中 可以定义方法名相同而参数列表不同的函数

          参数列表不同: a. 参数个数不同     

                    void method(int a);

                    void method(int a,int b)

                 b.不同类型的参数的顺序不同       

                    void method(int a,int b)

                    //void method(int b,int a):不算

                    void method(int a,char b);

                    void method(char a,int b);这个参数列表顺序不同

    强调:函数的重载,只和函数名以及参数列表有关系,和函数的返回值类型无关!

      

      2. 重载函数的调用

       

    总结:调用函数时,是通过函数名和参数列表共同确定的一个函数;

      3. 重载的好处 :让开发者需要记忆的函数名大大降低,提高开发效率;

      4. 练习

    已知函数:

    public static int add(int a,char b){}

    下列那些函数与之重载?

    a:public static void add(int b,char a){}: 不重载

    b:public static int add1(int a,char b){}:不重载

    c:public static void add(int a){}:重载

    d:public static void add(char a,int b){}:重载

    e:public static void add(){}:重载

    四、数组的引入

    1. 定义: 数组就是容器,只能存放相同类型的数据。
    2. 格式    数据类型[] 数组名 = new 数据类型[数组的容量]

        3. 数组名,其实就是一个变量名(标识符)

    五、数组的使用

    1. 数组元素的存取&数组的索引   

        a. 数组中存放的数据,就是数组的元素;

        所有数组中元素都有一个序号(索引、下标、角标……),都是从0开始,连续递增的(0,1,2,3,4……),最大值是数组容量减一;

        数组元素的存取,都是通过数组的索引完成的;

      

        数组元素的存放和取出,都是通过数组的索引实现的;

       

      2. 数组的遍历&数组的length属性

        数组的遍历:

       b. 数组的length属性:

        在生活中,容器的容量都是固定的;

        一个数组一旦建立,数组的容量也是确定不变的;

        要想知道数组的容量是多少,就要通过数组本身的一个属性获取:length属性;

        使用方法:数组名. length

        “.”:可以读作“的”;

        表示数组的长度;

      c. 数组的内存图解

        JAVA的内存组成

        

        

       d. 引用传递和按值传递

      

    引用类型的变量进行传参,实际传递的是保存在变量中指向堆中空间的地址,这种传参情况叫做引用传递;

    如果一个引用改变了空间中的值,对所有指向这个空间的引用都有影响;

     

    基本类型的变量进行传参,实际传递的保存在变量中的常量值,这种情况叫做值传递;如果改变一个变量的值,对其他的变量没有影响;

    七、数组的第二种定义格式 

      数组的第一种定义格式:

        数据类型[]     数组名 = new 数据类型[数组容量];

      如果提前已经知道数组中应该存放的数据,就可以使用数组的第二种定义格式,简化数组创建和赋值:

        数据类型[]     数组名 = new 数据类型[]{元素1,元素2,……};

      简写形式:

        数据类型[]     数组名 = {元素1,元素2,……};

    数据类型后面的方括号中不能写数组的容量;

    简写形式,只能和数组类型变量的声明写在一行;

         

     

        

      

  • 相关阅读:
    Android开发视频教学第一季(116集)视频&源码下载
    Android开发视频教学第一季(1734集)视频源码下载
    老罗Android开发视频教程( android解析json数据 )4集集合
    Android 亲测源码分享
    老罗Android开发视频教程 (android常用UI编程) 25集集合
    老罗Android开发视频教程 (android常用布局介绍)5集集合
    老罗Android开发视频教程 (android解析xml文件 )3集集合
    Android 开发源码分享
    基于R语言的时间序列分析预测
    .NET新手系列(六)
  • 原文地址:https://www.cnblogs.com/Kubility123/p/7571283.html
Copyright © 2011-2022 走看看