java学习笔记5(方法)
方法:
1.如何创建方法
修饰符 返回值类型 方法名(参数){被封装的代码段}
2.方法的定义和使用的注意事项:
a:方法不能定义在另一个方法里面;
b:方法 名字和方法的参数列表,定义和调用时要保持一致,不能出错;
c:方法的返回值类型为空(void)时,可以省略return不写;调用方法不能写在输出语句中;
d:返回值类型不为空时,return后的数据类型要与定义方法的返回值类型一致,return后面不能再写代码;
求和方法如下:
public class MothedDemo{
public static void main(String[] args){
int sum=sum(3,4);//调用方法sum();
System.out.println("和为"+sum);
}
public static int sum(int x,int y){//定义方法sum();
return x+y;//返回值为x+y;
}
}
3.方法的重载
重载:在同一个类中,方法名相同,参数列表不同。与返回值的类型无关。
参数列表不同包括:1.参数的个数不同;
2.参数的类型不同
重载例子:
public class MothedDemo{
public static void main(String[] args){
int sum=sum(3,4);
double sum1=sum(5,6,7);
double sum2=sum(5,4);//发生了隐式转换,将5,4转换为double类型
System.out.println("和为"+sum);
System.out.println("和为"+sum1);
System.out.println(sum2);
}
public static int sum(int x,int y){
return x+y;
}
public static double sum(double x,double y, double z){
return x+y+z;
}
public static double sum(double x,double y){
return x+y;
}
}
方法重载注意:
参数个数不一样,或者参数类型不一样。
重载和返回值类型无关,和参数名无关。
技巧:重载看方法名和参数列表
方法的参数是基本类型时传递的是值,方法的参数是引用类型时传递的时内存地址;
参数为引用类型的例子:
public class MothedDemo1{
public static void main(String[] args){
int[] arr={1,2,3};
change(arr);
int x=2;
change(x);
System.out.println(arr[1]); //输出结果66
System.out.println(x); //输出结果2
}
public static void change(int[] a){
a[1]=66;
}
/*本例中,change()方法返回值类型为空,但是change()方法的参数为引用型,因此传递的是arr数组的内存地址,
再调用change()方法时,通过地址更改了arr[1]的值,在main方法中与在change()方法中,数组的内存地址时相同的,
因此数组的值彻底改变了,main()方法输出的结果为66;为了对比,我们用一个参数为基本类型的方法来比较*/
public static void change(int x){
/*当方法的返回值类型为空,参数为基本类型时,在调用该方法时,传递的是值2,把2的值改为5,但是void并没有返回值,
因此该方法并不能把重新赋值的5传递回main方法内,main方法在输出时仍输出x原来的值,输出2*/
x=5;
}
}
4.自定义类的概述
用自定义方法实现事物的过程,就是定义类的过程。
自定义类的格式
public class 类名{
//属性定义:
修饰符 数据类型 变量名=值;
//方法定义:
修饰符 返回值类型 方法名(参数列表){
}
}
java学习笔记5(方法)的更多相关文章
- 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学习笔记day05_方法重载
1.方法的重载overload 在同一个类中, 允许出现同名的方法, 只要方法的参数列表不同即可. 参数列表不同: 参数个数不同, 参数类型不同, 顺序不同. public class MethodO ...
- Java 学习笔记之 方法内的临时变量是线程安全
方法内的临时变量是线程安全: 方法内部的私有变量,是线程安全的. public class HasSelfPrivateNum { public void addI(String username) ...
- Java学习笔记之方法
前言:如果把所有代码都写到main方法中,后果是什么? 1,结构混乱 不清晰 2,不能重用 方法:规则:方法写在类中,不能写在其它方法中.方法不能嵌套方法 如何定义方法: 访问修饰符 返 ...
随机推荐
- linux下对数据库操作
1. mysql -udev -pxxxxxxx // 备注:-u 用户名 -p 密码 2. show databases; // 查看有哪些数据库 3. use datebase; // 使用哪些数 ...
- JedisClusterMaxRedirectionsException: Too many Cluster redirections
发生环境 当时的redis集群配置:redis-trib.rb 127.0.0.1 .... redis.conf的bind是默认# 解决方案 将redis.conf的bind为局域网真实ip red ...
- 模拟数据库丢失undo表空间
数据库无事务情况下丢失undo表空间数据文件 1. 查看当前undo表空间,并删除物理undo文件 SYS@userdata>show parameter undo_tablespace; NA ...
- Buffer和Stream
Buffer JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.但在处理像TCP流或文件流时,必须使用到二进制数据. 因此在 Node.js中,定义了一个 Buffer 类,该类用 ...
- Thinkphp5 Nginx Pathinfo配置
server { listen ; server_name sui.com; root /tmmee/sad.cn/public; index index.php index.html index.h ...
- 服务器性能调优(netstat监控大量ESTABLISHED连接与Time_Wait连接问题)
netstat监控大量ESTABLISHED连接与Time_Wait连接问题 问题描述: 在不考虑系统负载.CPU.内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连 ...
- qt窗口最小化之后无法打开
转自: https://blog.csdn.net/qiangzi4646/article/details/79743604 http://www.cnblogs.com/lingdhox/p/331 ...
- @RequestParam的使用
来源:http://825635381.iteye.com/blog/2196911 @RequestParam: 一. 基本使用,获取提交的参数 后端代码: @RequestMapping(&quo ...
- memory prefix mini mono multi out _m 5
1● mini 小 迷你 2● mono 单一 ,单 3● multi 多
- Android--Android Studio 打开ADM报错
Android studio无法打开类似与eclipse的DDMS, 在android studio里点击android device monitor(点击菜单栏里的Tools->Android ...