Java学习笔记之方法
前言:如果把所有代码都写到main方法中,后果是什么?
1,结构混乱 不清晰
2,不能重用
方法:
规则:方法写在类中,不能写在其它方法中。方法不能嵌套方法
如何定义方法:
访问修饰符 返回值类型 方法名(参数列表){
方法体;
}
返回值类型:输出
参数列表:输入
形参 -实参:要一一对应 (个数,顺序,类型)
方法名:小驼峰,见名知意
调用 :方法名([参数值]);
实参:实际上的参数
int i = sum(3,2,1);
int x = sum(4,5,6);
形参:形式上的参数
public static int sum(int a,int b,int c){
int i = a+b+c ;
return i;
}
可变参数:参数列表中可以为任意个参数
public static void he(int ... a ){
System.out.println("可变参数的方法.....");
// 此时把a当做数组使用
int sum = 0 ;
for(int i=0;i<a.length;i++){
sum+=a[i] ;
}
System.out.println(sum);
}
递归
递归:一定要有终止条件,牺牲了空间为代价
/**
* 求i的累加和
* @param i
* @return 累加和的结果
*/
public static int sum(int i){ //终止条件
if(i==1){
return 1 ;
}
int a = sum(i-1)+i ;
return a ;
}
补充:
new :是指在堆内存中重新申请新的空间
String :内容是不能更改的。只要改变内容自带new,然后标识符指向新new的地址
return:方法的返回值,并且代表程序的终止,不会继续往下执行
Java学习笔记之方法的更多相关文章
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- 0019 Java学习笔记-面向对象-方法
方法属于谁 方法要么属于类,要么属于对象 static修饰的方法属于类 没有static修饰的方法属于对象 方法只能定义在类里面,不能独立定义 不能独立的执行方法,要么通过类调用,要么通过方法调用 一 ...
- Java学习笔记之方法重载,动态方法调度和抽象类
一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...
- 【原】Java学习笔记008 - 方法(函数)
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 方法/函数 Met ...
- Java学习笔记之方法重载
被重载的方法必须具有不同的参数列表.不能基于不同修饰符或返回值类型来重载方法. package welcome; public class TestMethodOverloading { public ...
- Java学习笔记之——方法重载
方法重载: overload 1. 方法签名 组成:方法名(参数列表) 参数列表不同分为哪些情况? (1)有无参数 (2)参数的类型 (3)参数的个数 (4)参数的顺序(前提是类型不一样) 2.方法重 ...
- java学习笔记5(方法)
方法: 1.如何创建方法 修饰符 返回值类型 方法名(参数){被封装的代码段} 2.方法的定义和使用的注意事项: a:方法不能定义在另一个方法里面: b:方法 名字和方法的参数列表,定义和调用时 ...
- Java学习笔记day05_方法重载
1.方法的重载overload 在同一个类中, 允许出现同名的方法, 只要方法的参数列表不同即可. 参数列表不同: 参数个数不同, 参数类型不同, 顺序不同. public class MethodO ...
- Java 学习笔记之 方法内的临时变量是线程安全
方法内的临时变量是线程安全: 方法内部的私有变量,是线程安全的. public class HasSelfPrivateNum { public void addI(String username) ...
随机推荐
- Protostuff序列化问题
最近在开发中遇到一个Protostuff序列化问题,在这记录一下问题的根源:分析一下Protostuff序列化和反序列化原理:以及怎么样避免改bug. 1. 问题描述 有一个push业务用到了mq,m ...
- 安全性测试:OWASP ZAP 2.8 使用指南(二):ZAP基础操作
ZAP桌面应用 ZAP桌面应用由以下元素组成: 1. 菜单栏 – 提供多种自动化和手动工具的访问 2. 工具栏 – 提供快速访问最常用组件的用户接口 3. 树结构窗口 – 展示被测网站树结构和脚 ...
- 是时候让大家看看你用django写出来的博客了(内含部署教程视频)
作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 博客的基础功能已经开发的差不多了,虽然还有很多地方可以完善,但我们还是希望早点把博客部 ...
- 第二次实验报告:使用Packet Tracer分析应用层协议
个人信息: • 姓名:李微微 • 班级:计算1811 • 学号:201821121001 一.摘要 本文描述使用Packet Tracer,正确配置网络参数,抓 ...
- 跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境
1. 容器化 Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题.对于运维 ...
- 一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器
一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...
- 在vue项目中使用less
1.安装 less 和 less-loader. 命令: npm install less less-loader --save-dev 2.打开 build/webpack.ba ...
- Build step 'Invoke top-level Maven targets' marked build as failure Finished解决
最近用法 jenkins部署maven项目时候,突然出现Build step 'Invoke top-level Maven targets' marked build as failure Fini ...
- Mysql INSTR函数
在Mysql中,可以使用INSTR(str,substr)函数,用于在一个字符串(str)中搜索指定的字符(substr),返回找到指定的字符的第一个位置(index),index是从1开始计算,如果 ...
- thymeleaf 语法
一.语法: 1. 简单表达式 (simple expressions) ${...} 变量表达式 *{...} 选择变量表达式 #{...} 消息表达式 @{...} 链接url表达式 2.字 ...