初窥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语言是面向对象的语言,但是它的语法引入了大量的函数式编程思想.越研究越觉得函数式的编程思路可 ...
随机推荐
- AGC 014 E Blue and Red Tree [树链剖分]
传送门 思路 官方题解是倒推,这里提供一种正推的做法. 不知道你们是怎么想到倒推的--感觉正推更好想啊QwQ就是不好码 把每一条红边,将其转化为蓝树上的一条路径.为了连这条红边,需要保证这条路径仍然完 ...
- Android 组件化方案探索与思考
Android 组件化方案探索与思考 组件化项目,通过gradle脚本,实现module在编译期隔离,运行期按需加载,实现组件间解耦,高效单独调试. 本项目github地址 https://githu ...
- url加密和解密
.NET中加密和解密有两种方式 string file="文件上(传)篇.doc";string Server_UrlEncode=Server.UrlEncode(file);s ...
- Confluence 6 从外部目录中同步数据配置同步间隔
在用户目录(User Directories)界面中显示了最后的系统同步时间,包括有这次同步所花费的时间. 注意:针对 Crowd 和 Jira 目录同步时间的配置只在 Confluence 3.5 ...
- redis-cluster集群搭建
Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用 ( HA ),从3.0版本之后,官方推出了Redis Cluster,它的主要用途是实现数据分片(Data Sha ...
- 小学生都看得懂的C语言入门(2): 判别 循环的一些应用实例
1.bool 类型 定义bool类型之前需要导入#include <stdbool.h> #include <stdio.h> #include <stdbool.h&g ...
- poj2513--并查集+欧拉路+字典树
经典好题,自己不知道哪里错了交上去是RE,可能是数组开的不好吧,字典树老碰到这种问题.. 先马上别人的代码,有空对拍看看 #include <cstdio> #include <cs ...
- 基于concurrent.futures的进程池 和线程池
concurrent.futures:是关于进程池 和 线程池 的 官方文档 https://docs.python.org/dev/library/concurrent.futures.html 现 ...
- spring cloud Config--server
概述 使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spr ...
- 眼底血管分割训练函数(SVM,Adaboost)
# -*- coding: utf-8 -*- import numpy as np from sklearn import svm from sklearn.model_selection impo ...