文档章节

方法与数组

凹凸凸
 凹凸凸
发布于 06/24 22:34
字数 1154
阅读 13
收藏 0

方法

        方法就是完成特定功能的代码块;在很多语言里面都有函数的定义,函数在Java中被称为方法

        格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) throws  异常{

                                函数体;

                               return 返回值;

                             }

详解

修饰符: 比如public、protected、默认、private、static、abstract

返回值类型: 基本数据类型、引用数据类型、void等

方法名: 符合命名规则的标识符,驼峰命名

参数: 实际参数与形式参数;实际参数:就是实际参与运算的;形式参数: 就是定义在方法上的,用于接收实际参数

参数类型: 基本数据类型、引用数据类型

参数名: 变量名

函数体: 也叫方法体,完成功能的代码

return: 结束当前方法

返回值: 返回给调用者的结果

//第一步 程序从main方法开始执行
public static void main(String[] args) {
    // 第二步 定义两个int类型的变量
    int first = 10;
    int second = 20;
    // 第三步 调用方法
    int subValue = sub(first, second);
    // 第七步 输出方法返回的结果
    System.out.println(subValue);
}

// 第四步 把实参传递给形参
public static int sub(int one, int two) {
    // 第五步 计算结果
    // 第六步 返回结果
    return one - two;
}

方法注意事项

        方法不调用不执行

        方法与方法是平级关系,不能嵌套定义

        方法定义的时候参数之间用逗号隔开

        方法调用的时候不用在传递数据类型

        如果方法有明确的返回值,一定要有return返回值

方法重载

        在一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者类型不同

        特点: 与返回值无关,只看方法名和参数列表

                   在调用时,虚拟机通过参数列表的不同来区分同名方法

数组

        数组是存储同一种数据类型多个元素的集合(容器);数组可以存储基本数据类型,也可以存储引用数据类型

        格式

                 数据类型[] 数组名;或者 数据类型 数组名[];

数组的初始化

        Java中的数组必须先初始化,然后才能使用

        为数组中的数组元素分配内存空间,并为每个数组元素赋值

初始化方式

        动态初始化 初始化时只指定数组长度,自动分配初始值

        格式:数据类型[] 数组名 = new 数据类型[数组长度]

        例如: String[] strs = new String[10];定义了一个String类型的数组,这个数组中可以存放10个String类型的值

        静态初始化 初始化时指定数组元素的初始值,由系统决定数组长度

       静态初始化

        初始化时指定每个数组元素的初始值,自动分配长度

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

        例如: String[] strs = new String[]{“a”, “b”, “c”, “d”}或者String[] strs ={“a”, “b”, “c”, “d”}            定义了一个string类型的数组,这个数组中可以存放4个String类型的值

数组常见的抛出异常

        数组索引越界 ArrayIndexOutOfBoundsException 访问到数组不存的索引时

        空指针异常    NullPointerException 数组引用没有指向实体,却在操作实体中的元素时

Java中的内存分配

        栈 存储局部变量(定义在方法中或者方法声明上的变量)

        堆 存储new出来的东西

        方法区

        本地方法区 和系统相关

        寄存器 CPU使用

堆内存的特点:

        1 每一个new出来的东西都有地址值

        2 每个变量都有默认值 byte、short、int、long ---0;float、double---0.0;char---‘\u0000’;boolean---false; 引用类型---null

        3 使用完后就变成了垃圾,没有立即回收,会在垃圾回收器空闲的时候回收

// 逆序
public static void main(String[] args) {
    int[] arr = {12, 13,14,15,16};
   arrToString(arr);
   reverse(arr);
   arrToString(arr);
}

public static void arrToString(int[] arrs) {
   String print = "{";
    for (int i = 0; i < arrs.length ; i++) {
        if (arrs.length - 1 == i) {
            print += arrs[i] + "}";
            System.out.println(print);
            return;
        }
        print += arrs[i] + ",";
    }
}
public static void reverse(int[] arrS){
    for (int i = 0; i < arrS.length / 2; i++) {
        int temp = arrS[i];
        arrS[i] = arrS[arrS.length - 1 - i];
        arrS[arrS.length - 1 - i] = temp;
    }
}

 

© 著作权归作者所有

上一篇: 类、变量、封装
下一篇: 选择、循环结构
凹凸凸
粉丝 1
博文 32
码字总数 27007
作品 0
成都
私信 提问
慎用JS中的slice()、concat()和assign()方法来复制数组

一、原数组里的数据不包含引用类型 1、使用 slice() 方法 拷贝数组: 修改经过 slice() 拷贝过的新数组: 结论:使用 slice() 方法拷贝数组,然后修改新数组,不会影响到旧数组的值。 2、使用...

隔壁张小二
2018/07/31
0
0
Js基础系列--数组(Array类型)操作

JavaScript中的数组相关的操作真的是 太重要,太重要,太重要了 ··· 本文总结了es5和es6中出现的程序中经常用到的数组操作方法。 创建数组 检测数组 转换方法 方法会返回由数组中每个值的...

上古神鹏
05/17
0
0
五分钟快速了解arrayLike(类数组)

我在从性能优化角度探讨浏览器重绘与重排的过程一文中提到过采用DOM提供的选择器API,方法要比诸如这类的方法在不同浏览器中的性能高出2~6倍,原因是方法返回的是一个(一个包含了所匹配到的节...

小白师兄
2018/07/31
0
0
Array对象目录 总览概括

目录 构造函数 是JavaScript的内置对象,同时也是一个构造函数,可以用它生成新的数组。 上面代码中,构造函数的参数,表示生成一个两个成员的数组,每个位置都是空值。 如果没有使用,运行结...

sinat_34719507
2017/07/10
0
0
五分钟快速了解ArrayLike(类数组)

我在从性能优化角度探讨浏览器重绘与重排的过程一文中提到过采用DOM提供的选择器API,方法要比诸如这类的方法在不同浏览器中的性能高出2~6倍,原因是方法返回的是一个(一个包含了所匹配到的节...

bs123
2018/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

掌握生成对抗网络(GANs),召唤专属二次元老婆(老公)不是梦

全文共6706字,预计学习时长12分钟或更长 近日,《狮子王》热映,其逼真的外形,几乎可以以假乱真,让观众不禁大呼:awsl,这也太真实了吧! 实体模型、CGI动画、实景拍摄、VR等技术娴熟运用...

读芯术
26分钟前
1
0
C#经典面试题100道

1. .NET和C#有什么区别 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。 C#是一种编程语言,可以基于.NET平台的应用。 2.一列数的规则如下: 1、1、2、3、5、8、13、21、34......

元歌
29分钟前
0
0
重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native C...

阿里云云栖社区
31分钟前
1
0
LeetCode 160: 相交链表 Intersection of Two Linked Lists

爱写Bug(ID:iCodeBugs) 编写一个程序,找到两个单链表相交的起始节点。 Write a program to find the node at which the intersection of two singly linked lists begins. 如下面的两个链...

iCodeBugs
33分钟前
2
0
hadoop yarn漏洞 8088端口进入挖矿病毒处理记录

早上发现服务器cpu使用异常 进程如图所示 按照挖矿病毒的套路 肯定是定时任务不停地执行脚本 遂查看定时任务 进入/var/spool/cron 查看定时任务 发现里面有一个root文件 定时任务每分钟执行一...

詹姆斯-高斯林
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部