Java笔记-方法
1.何谓方法
2.方法的定义和调用
package src.method;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//这里创建了一个scanner的对象来接受键盘数据
System.out.println("请输入数字a和数字b");
if(scanner.hasNextInt()){//因为是两个数字比较大小,所以用了hasNextInt
int c = scanner.nextInt();
int d = scanner.nextInt();//把键盘接受的值赋值给两个变量
int realmax = max(c,d);//把上面两个变量的值传递给方法来比较大小,然后将值传递给realmax
System.out.println(realmax);
}
}
public static int max(int a,int b) {//定义了一个比大小的方法
int resault = 1;
if(a==b){
System.out.println("两个数相等");
return 0;//这行代码有 终止方法的作用
}
if(ab){
resault = a;//不能直接在这里return a ,因为return要在方法的末尾,所以定义一个变量来接受a的值然后在方法的末尾return
}else {
resault = b;
}
return resault;
}
}
拓展:值传递(Java),引用传递
3.方法重载
就拿简单的比大小来说,可以创建两个比大小的方法,方法名完全相同,但是一个可以是double类型,一个是int类型,这样就构成了方法的重载,也就是形参的类型不同。或者说两个方法都是int类型,但是一个比较三个数的大小,一个比较两个数的大小,这也是方法的重载。程序会根据你输入的参数类型,个数等调用相对应的方法。
4.命令行传参
package src.method;
public class Demo03 {
public static void main(String[] args) {
for(int i=0;i args.length;i++){
System.out.println("args["+i+"]"+args[i]);
}
}
}
运行的时候需要加上完整的包名
运行结果如下
5.可变参数
package src.method;
public class Demo04 {
public static void main(String[] args) {
printMax(3,4,5,6,1);
printMax(new double[]{1,2,5,10});//这里就可以说明可变参数实质上是一个数组
}
public static void printMax(double...number){//可变参数,不确定有多少个的情况下就可以用可变参数
if(number.length==0){
System.out.println("无");
return;
}
double result = number[0];
for(int i=1;inumber.length;i++){//排序
if (number[i]result){
result = number[i];
}
}
System.out.println("最大值为:"+result);
}
}
//输出结果
最大值为:6.0
最大值为:10.0
6.递归
这个递归没有递归头
package src.method;
public class Demo05 {
public static void main(String[] args) {
// 6! = 6*5*4*3*2*1 阶乘
System.out.println(f(3));
}
public static int f(int i){
if(i==1){
return 1;
}else {
return i*f(i-1);
}
}
}
// 输出结果
6
递归要少用,而且一点数字比小来用
Java笔记-方法 相关文章
java基础课堂随记5
输入scanner的时候结尾要关闭,我今天输的时候输成了Scanner.close();了,结果提示java: 无法从静态上下文中引用非静态 方法 close() 对比了一下才发现应该是scanner.close();关闭的是scanner。 java流程控制:Scanner的进阶使用 package scanner;import ja
Java笔记-流程控制
1.何谓方法 2.方法的定义和调用 package src.method;import java.util.Scanner;public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//这里创建了一个scanner的对象来接受键盘数据 System.out.printl
[BJ United Round #3] 押韵 [学习笔记]
[BJ United Round #3] 押韵 先%%%%%%%%%%%%%%%%% EI \[\ \] \[\ \] 下文默认模数为\(P\) 简要题意:求:用\(k\)种元素,每种元素使用\(d\)的倍数次,排成一个长度为\(nd\)的序列 的方案数 这个题目的设定就让人想到两个离不开的元素 : (模数暗示了) 指数型
Java并发包源码学习系列:阻塞队列实现之DelayQueue源码解析
目录 DelayQueue概述 类图及重要字段 Delayed接口 Delayed元素案例 构造器 void put(E e) E take() first = null 有什么用 总结 参考阅读 系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源
javascript 的应用方式
我所认识的只有三种 1、在元素的事件中应用 2、在script中应用 3、使用script引入外部的js !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" meta name="viewport" content="width=device-width, initial-scale=1.0" titleDocument/title/headbody scr
UGUI学习笔记之ScrollView以及ScrollRect和Mask组件
一、ScrollView介绍 ScrollView是滚动视图,当我们要呈现的内容长宽大于显示区域时,就可以用到ScrollView,用户可以在指定区域内拖拽而查看内容的全貌(如下图)。 (ScrollView例子) 举个实例,游戏“守望先锋”当中有很多设置,都通过同一个界面显示,在Un
docker使用笔记
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/14349287.html 本文用到的符号说明: container 容器名,形如 tiangolo/nginx-rtmp 或 nginx 等 img 镜像名,形如 ubuntu:16.04 或 ubuntu 等 container_id 容器 id,形如 8648e3731
Redis 学习笔记系列文章之 Redis 的安装与配置 (一)
1. 介绍 Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. 这是官方的定义。说它是一个数据库,且是把数据存到内存中,能用作cache(缓存)和消息队列。说到数据库,可能大家用得最多的
JavaScript对象
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... 此外,JavaScript 允许自定义对象。 所有事物都是对象 JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。 布尔型可以是一个对象。 数字
JavaScript如何比较两个数组的内容是否相同
相等的。 alert([]==[]); // falsealert([]===[]); // false 以上两句代码都会弹出false。 因为JavaScript里面Array是对象,==或===操作符只能比较两个对象是否是同一个实例,也就是是否是同一个对象引用。目前JavaScript没有内置的操作符判断对象的内容是否