初窥Java之五
一、方法
1、语法格式
修饰符 返回值类型 方法名(形参列表){
方法体
}
2、返回值类型
返回值类型可以时:1、void(无返回值)
2、8大基本数据类型中的任意一种
3、引用数据类型中的任意一一种
怎么判断是否需要返回值?
结合需求,该返回就返回
return:指的是返回一个值给调用方并且结束方法
3、方法签名
方法签名 = 方法名 + 形参列表
怎么判断方法是否一样?
判断方法签名是否一样
怎么判断方法签名是否一样?
1、方法名是否相同,如果相同,则看形参列表
2、看形参列表中的数据类型
3、看形参列表中的形参个数
4、看形参列表中的形参顺序
4、方法重载(overload)
指的是方法名相同,参数列表不同的方法。
1、必须在同一个类中;
2、方法名相同,形参列表不同;
3、与修饰符、返回值类型无关
简而言之,方法重载就是为了减少程序员的记忆量
5、怎么去调用方法
1. 类名.方法名() 前提:你的方法有被static所修饰
2. 对象名.方法名() 前提:你的方法没有被static所修饰
3. 直接方法名() 前提: 调用方和被调用方,都在同一个类中,要么都被static所修饰,要么都没有被static所修饰
调用方法的注意事项: 调用方法的时候,实参列表与形参列表必须一致(参数个数,参数类型,参数类型顺序)
二、数组
1、动态创建数组
语法格式:数组中数据类型[] 变量名 = new 数组中数据类型[数组的长度];
例:int[] arr = new int[5];
也可以这样写:数组中数据类型[] 变量名;
变量名 = new 数组中数据类型[数组的长度];
例:int[] arr ;
arr = new int[5];
2、静态创建数组
语法格式:数组中数据类型[] 变量名= new 数组中数据类型[]{1,3,2};或者
数组中数据类型[] 变量名= []{1,3,2};
注意:静态数组的创建必须立即赋值,不能像下面这样写:
例:数组中数据类型[] 变量名;
变量名= []{1,3,2}; 这是错误的!!!
3.数组的赋值
arr[0] = 33; 把33装进索引为0的盒子中
4.数组的取值异常
1、System.out.println(arr[0]); 取出数组索引为0的盒子中的值
2、数组特点:数组一旦创建成功,它的长度是不能更改的
3、数组:它是引用数据类型,默认值为null
4、数组常见的错误:
1.数组脚标越界
原因:
1. 索引为负数,或者超过了最大索引
2.空指针异常
原因:
- 调用方法的时候,或者调用属性的时候,对象的值已经为null了
三、堆栈内存图分析数组,方法
得出两个重要结论:
1、方法调用时其实是将实参的值复制一份赋值给形参;
引用数据类型才有堆栈内存图,基本数据类型没有,因为基本数据类型复制并赋值给形参的就是具体数据,而引用数据类型复制并赋值给形参的是内存地址,实参,形参操作的时同一个对象。
初窥Java之五的更多相关文章
- 初窥Java之六
一.二维数组 1.动态创建 数组中元素类型[] 数组名 = new 数组中元素类型[]; 例如:int[][] arr = new int[二维数组的长度][一维数组的长度]: Int[][] arr ...
- 初窥Java之三
一.基本数据类型之浮点型 每个数据它自身都有一个默认的类型,如果直接打印小数,默认类型就为double类型: float和double表示小数的精度不是特别的高,如果对于精确度要求非常的高,我们 都使 ...
- 初窥Java之二
一.java中存在三大注释: 第一大注释: 单行注释 一般用于信息量比较少的地方 第二大注释: 多行注释 一般用于信息比较多的地方 多行注释注意事项:1.多行注释的开始行与结尾行不能写注释 ...
- 初窥Java之一
一.常用的dos命令 打开命令提示符窗口的方式: ① win + R --> 输入cmd --> 回车 ② 开始 --> 搜索程序和文件的框中输入 cmd --> 回车 ③ ...
- 初窥Java之四
一.条件判断之if判断 语法格式:if(结果为布尔类型的结果值){ 功能执行语句; }else if(结果为布尔类型的结果值){ 功能执行语句; } ....{ }else{ 功能执行语句: } 注意 ...
- Java发送邮件初窥
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...
- Hadoop学习笔记(9) ——源码初窥
Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续 ...
- 初窥ElasticSearch
初窥ElasticSearch 官网上面的,不知道讲的是什么.. youtube上面有一个start with,内容是在windows以下跑这个elastic search,然后用一个fidler工具 ...
- 李洪强iOS开发之函数式 编程初窥
函数式 编程初窥 最近在学习Erlang和Python.Erlang是完全的函数式编程语言,Python语言是面向对象的语言,但是它的语法引入了大量的函数式编程思想.越研究越觉得函数式的编程思路可 ...
随机推荐
- GDOI2018 滑稽子图 [斯特林数,树形DP]
传送门并没有 思路 见到那么小的\(k\)次方,又一次想到斯特林数. \[ ans=\sum_{T} f(T)^k = \sum_{i=0}^k i!S(k,i)\sum_{T} {f(T)\choo ...
- hive学习03-求一年中的最大温度
知识点: substr.concat函数的使用: row_number() over(distribute by year sort by temp desc) #按照年分组,按照tmp去排序 需 ...
- LuoGu P1939 【模板】矩阵加速(数列)
板子传送门 矩阵快速幂学完当然要去搞一搞矩阵加速啦 (矩阵加速相对于矩阵快速幂来说就是多了一个构造矩阵的过程) 关于怎样来构造矩阵,这位大佬讲的很好呢 构造出矩阵之后,我们再去用矩阵快速幂乘出来,取[ ...
- java基础题刷题中的知识点复习
将变量转换为字符串方法:(String)待转对象..toString().String.valueOf(待转对象) 对字符串进行操作的方法,使用StringBuffer和StringBuilder定义 ...
- 将CSDN内容移过来
将CSND主要博客内容移过来 1.Linux rpm.yum.ssh.apache.Samba等讲解 https://blog.csdn.net/weixin_38834998/article/det ...
- python进行进制转换
# 10进制转为2进制 print(bin(10)) # 结果:0b1010 # 2进制转为10进制 print(int("1001", 2)) # 结果:9 # 10进制转为16 ...
- Python之argv简明详解
今日看到argv 度娘查找一番,基本都是转载的同一篇文章,总体字数不少但看了之后感觉还是稀里糊涂,自己尝试了一番简单总结如下 当我们需要在命令行执行脚本并需要在执行脚本的同时传入参数给脚本使用,那我们 ...
- springboot的创建
- Python enumerate() 函数
描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2. ...
- cPanel中添加设置附加域(Addon domain)
本文介绍cPanel设置附加域(addon domain)来实现一个空间做多个网站的方法. 附加域(addon domain) 作用:通过它可以实现添加 新的顶级域名绑定到主机,从而创建新的站点.例如 ...