JAVA基础--函数和数组03
一、函数的引入
- 函数的引入

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

2. 函数的概念:函数又叫方法,一段独立于代码块 直接卸载类中,实现独立的方法
3. 函数的作用:解决的代码的重用性差的问题
4. 函数的书写方式
修饰符 返回值类型 方法名(参数类型1,参数类型2,参数类型3,参数类型.....)
{
功能代码(方法体)
return 返回值的数据
}

注意
void:
表示函数不需要返回结果时的函数返回值类型;
return:
表示结束当前所在函数,同时如果函数有结果返回,就通过return将结果返回给调用者;
所有函数都是通过return结束运行的;
如果函数返回值类型是void,return可以省略不写,但是编译器会帮我们加上;
二、函数的使用
- 函数的声明

总结:声明一个函数,需要先明确两个东西:
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(){}:重载
四、数组的引入
- 定义: 数组就是容器,只能存放相同类型的数据。
- 格式 数据类型[] 数组名 = new 数据类型[数组的容量]
、
3. 数组名,其实就是一个变量名(标识符)
五、数组的使用
- 数组元素的存取&数组的索引
a. 数组中存放的数据,就是数组的元素;
所有数组中元素都有一个序号(索引、下标、角标……),都是从0开始,连续递增的(0,1,2,3,4……),最大值是数组容量减一;
数组元素的存取,都是通过数组的索引完成的;

数组元素的存放和取出,都是通过数组的索引实现的;
2. 数组的遍历&数组的length属性
数组的遍历:

b. 数组的length属性:
在生活中,容器的容量都是固定的;
一个数组一旦建立,数组的容量也是确定不变的;
要想知道数组的容量是多少,就要通过数组本身的一个属性获取:length属性;
使用方法:数组名. length;
“.”:可以读作“的”;
表示数组的长度;
c. 数组的内存图解
JAVA的内存组成


d. 引用传递和按值传递

引用类型的变量进行传参,实际传递的是保存在变量中指向堆中空间的地址,这种传参情况叫做引用传递;
如果一个引用改变了空间中的值,对所有指向这个空间的引用都有影响;
基本类型的变量进行传参,实际传递的保存在变量中的常量值,这种情况叫做值传递;如果改变一个变量的值,对其他的变量没有影响;
七、数组的第二种定义格式
数组的第一种定义格式:
数据类型[] 数组名 = new 数据类型[数组容量];
如果提前已经知道数组中应该存放的数据,就可以使用数组的第二种定义格式,简化数组创建和赋值:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,……};
简写形式:
数据类型[] 数组名 = {元素1,元素2,……};

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

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

JAVA基础--函数和数组03的更多相关文章
- Java 基础类型转换byte数组, byte数组转换基础类型
Java 基础类型转换byte数组, byte数组转换基础类型 Java类型转换 java类对象转化为byte数组
- Java基础语法(7)-数组
title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...
- Java基础语法(8)-数组中的常见排序算法
title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...
- Java基础学习之数组基本属性和方法
数组对于每一门编程语言都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.Java语言中提供的数组是用来存储固定大小的同类型元素.你可以声明一个数组变量,如 int[100] 来代替直接 ...
- java基础5 (一维)数组和二维数组
本文知识点(目录): 一维数组(一维数组的概念.优点.格式.定义.初始化.遍历.常见异常.内存分析以及常见操作(找最大值.选择排序.冒泡排序等等)) 二维数组(二维数组的遍历.排序.查找.定义. ...
- Java基础语法(数组)
第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...
- Java基础复习之数组
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
- Java基础_0306:数组的定义与使用
数组 数组指的就是一组相关变量的集合.例如:如果说现在要想定义100个整型变量,按照传统的思路,可能这样定义: int i1,i2 ,... i100,一共写100个变量. 以上的形式的确可以满足技术 ...
- java基础学习总结——数组
一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的元素可以是任何数据类型,包括基 ...
随机推荐
- javaweb 中的过滤器 包装器
过滤器要做的事情: 请求过滤器:完毕安全检查,又一次格式化请求首部或体.建立请求审计或日志 响应过滤器: 压缩响应流,追加或改动响应流创建一个全然不同的响应. 过滤器和servlet三个相似地 ...
- linux操作系统下查看某rpm包是32bit 还是x64bit的命令
[root@hosta ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep l ...
- Dos 改动IP 地址
1.改动 ip地址 子网掩码 默认网关 netsh interface ip set address "本地连接" static 192.168.1.23 255.255.255. ...
- cin,和几个get函数的用法
1.cin.get(字符变量名):用来接收字符 ch = cin.get(); cin.get(ch); 以上两者均可以 2.cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 ...
- WPF新手之如何将数据绑定到TreeView
看过许多例子,全是绑定到类的,没人说如何绑定到某个对象,偏偏我这个绝对的新手就是要绑定到一个对象,只能自己摸索了: 首先要将数据绑定到容器,有以下几个默认条件:①元数据必须包装在List或者Obser ...
- luogu2398 SUM GCD
题目大意:求sum i(1->n) (sum j(1->n) (gcd(i,j))). 对于每对(i,j)都来一次gcd很慢,但是我们知道,一个约数i在1~n范围内是n/i个数的约数.gc ...
- TFS Server 2017 自动化部署步骤
1 第一步,在服务器上安装TFS 2 第二步,安装完TFS后需要配置你的项目,选择管理代码的方式,这里我们可以选择传统的TFS 也可以选择GIT 方式,此处我选择的GIT 方式 3 第三步,设置代理. ...
- Mysql常见函数
一.单行函数 1.字符函数 concat拼接 substr截取子串 upper转换成大写 lower转换成小写 trim去前后指定的空格和字符 ltrim去左边空格 rtrim去右边空格 replac ...
- POJ2516 Minimum Cost —— 最小费用最大流
题目链接:https://vjudge.net/problem/POJ-2516 Minimum Cost Time Limit: 4000MS Memory Limit: 65536K Tota ...
- codeforces 399B. Red and Blue Balls 解题报告
题目链接:http://codeforces.com/problemset/problem/399/B 题目意思:给出 n 个只由 R 和 B 组成的字符串(由上到下排列,相当于栈),问最多可以操作多 ...