Java Day2(下)
Java learning_Day2(下)
本人学习视频用的是马士兵的,也在这里献上
<链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA>
提取码:fobs
方法
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,格式如下
[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表) {
Java语句;… … …
}
形式参数:在方法被调用时用于接收外界输入的数据。
实参:吊桶方法是实际给方法的数据。
返回值:方法在执行完毕后返回给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,无返回值为void。
Java语言中形式调用方法: 对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。
return语句终止方法的运行并指定要返回的数据。
Java中进行函数调用中传递参数时,遵循值传递的原则:
- 基本类型传递的是该数据本身。
- 引用类型传递的是对象的引用,非对象本身。
递归
在一个方法内部,对自身进行调用。
例如:求Fibonacci数列:1,1,2,3,5,8,…第40个数的值。数列满足地推公式:
图解递归调用:
递归调用代码:
public class Day2_Test3 {
//Fibonacci数列:1,1,2,3,5,8,…第40个数的值
public static void main(String[] args) {
System.out.println(fib(40));
}
public static int fib(int num) { //使用递归方法
if (num == 1 || num == 2) {
return 1;
} else {
return fib(num-1) + fib(num-2);
}
}
}
对比非递归方法:
public class Day2_Test4 {
//Fibonacci数列:1,1,2,3,5,8,…第40个数的值
public static void main(String[] args) {
System.out.println(fib(40));
}
public static int fib(int num) { //使用非递归方法
if (num == 1 || num == 2) {
return 1;
} else {
int sum = 0;
for (int pre1 = 1, pre2 = 1, i = 3; i <= num; i++) {
sum = pre1+pre2;
pre1 = pre2;
pre2 = sum;
}
return sum;
}
}
}
Java Day2(下)的更多相关文章
- java util 下的concurrent包
------------------------------------------java util 下的concurrent包--------并发包--------------------.jav ...
- 从零开始学 Java - Windows 下安装 Tomcat
谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...
- 从零开始学 Java - Windows 下安装 JDK
关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...
- 从零开始学 Java - CentOS 下安装 Nginx
早上下起了暴雨 闹钟还未响起就听到雨滴哗啦啦击打窗户的声音,被吵醒了.起床上班,在楼下的十字路口,暴雨大到完全看不清对面,两个穿着雨衣的交警站在路口中间指挥着过往的车辆,大家都慌慌张张.急急忙忙的打着 ...
- NLPIR分词工具的使用(java环境下)
一.NLPIR是什么? NLPIR(汉语分词系统)由中科大张华平博士团队开发,主要功能包括:中文分词,词性标注,命名实体识别,用户词典功能,详情见官网:http://ictclas.nlpir.org ...
- Java 环境下使用 AES 加密的特殊问题处理
在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 ...
- Java JDBC下执行SQL的不同方式、参数化预编译防御
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...
- 《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端
1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...
- 深入理解Java虚拟机--下
深入理解Java虚拟机--下 参考:https://www.zybuluo.com/jewes/note/57352 第10章 早期(编译期)优化 10.1 概述 Java语言的"编译期&q ...
随机推荐
- 谈下slot-scope
Vue里有个slot插槽的概念,常用的一般是命名的slot和默认的slot, 这里谈下slot-scope,Vue2.6后改成v-slot slot-scope场景是父组件用子组件的数据,但是样式自己 ...
- codewars--js--Two Joggers--求最小公倍数、最大公约数
问题描述: Two Joggers Description Bob and Charles are meeting for their weekly jogging tour. They both s ...
- Caliburn.Micro框架之Bindings
新建一个WPF项目,将其命名为Caliburn.Micro.BindingsDemo 其次安装Caliburn.Micro,安装Caliburn.Micro的同时也会安装Caliburn.Micro. ...
- java开发学生宿舍管理系统源码
开发环境: Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MySQL 运行效果图
- 二进制、十六进制理解及int类型二进制存储方式
二进制 0000 0000 0000 0000 0000 0000 0000 0001 // 2^0 0000 0000 0000 0000 0000 0000 0000 0010 // 2^1 00 ...
- transition 过渡的兼容性处理
transition兼容性: 封装一个js来验证浏览器是否兼容transition,以及选择兼容的写法 以下是transition.js (function(){ //判断transition属性是否 ...
- CSS中元素的显示模式
在CSS中,根据元素显示模式的不同元素标签被分为了两类:行内元素(inline-level).块级元素(block-level). 1,首先介绍什么是行内元素,什么又是块级元素? 1.1,行内元素就 ...
- ES6 - 基础学习(4): 模板字符串和字符串新增方法
模板字符串 模板字符串:我理解为将字符串格式化.模板化,将字符串加强处理,此处的模板有动词的意思. 字符串模板基本格式: `xxxxxx`(前后都用反引号[tab键上面按键]引起来).除了作为普通字符 ...
- Windows Server 2012 R2的安装(GUI桌面版本)
镜像:cn_windows_server_2012_r2_x64_dvd_2707961.iso 1.将安装光盘插入服务器,开机会读取到Windows安装程序,点击下一步 2.点击现在安装 3 ...
- mybatis实体为什么要提供一个无参的构造函数
提问:Mybatis查询结果映射到实体类的时候,实体类为什么必须有一个空的构造函数? 类中如果没有构造函数,隐藏是无参构造函数,方便实体类需要通过Mybatis进行动态反射生成.如果实体类中一旦声明构 ...