一、前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站前言 – 床长人工智能教程正在上传…重新上传取消https://www.cbedai.net/gkbskc正在上传…重新上传取消https://www.cbedai.net/gkbskchttps://www.cbedai.net/gkbskc
前面我们学习了数组的概念和使用,现在我们来学习Java中的方法,这个方法和c语言的
函数十分相似。
二、方法
1.方法的概述
2.方法的定义和调用
3.带参数方法的定义和调用
4.带返回值方法的定义和调用
5.方法的注意事项
6.方法重载
7方法的参数传递
1、方法的概述
方法是具有一定功能的代码段,我们通过这个来解决问题,是一段代码的集合。
(相当于c语言中的函数)
2、方法的定义和调用
方法的定义
格式1:
public static void 方法名{
//方法的内容
}
其中static说明这是静态方法。静态成员和静态方法只能访问静态成员和方法,若是要
访问非静态成员或方法,则需要通过创建对象来访问,形如 类名 标识符=new 类名();
而非静态的成员既可以访问静态成员和方法也可以访问非静态成员和方法。
(这是后期的内容,提前涉及一下)
示例图1:
示例图2:
代码1:
package com.haha;
public class test {
public static void main(String[] args) {
hello();//在同一类下,静态成员之间的访问直接通过 方法名();
}
public static void hello(){
System.out.println("好好学习,天天编程");
}
}
代码2:
package com.haha;
public class test1 {
public static void main(String[] args) {
test1 nb=new test1();//创建对象
nb.hello();//若静态方法想访问非静态方法,则得通过创建对象才能访问
}
public void hello(){//没有static表示非静态方法
System.out.println("好好学习,天天编程");
}
}
格式2:
public 返回类型 方法名(){
//方法定义的实现
}
public int haha(){
}
其实定义方法十分简单,形如c语言的函数即可,只不过在java多了一些修饰符public
、private、protected等之类的修饰符,这些修饰符作用是访问权限。
修饰符访问权限范围:
本章主要内容:
1.带参数方法的定义和调用
2.带返回值的方法定义和调用
3、带参数方法的定义和调用
方法定义:
格式1:(带static的方法定义)
public static void 方法名(参数){
//方法内容
}
示例:
public static void compare(int a,int b){
System.out.println(a>b?a:b);
}
**注意:一个程序要想运行则比须要有main方法,程序就是从main方法进入的。**所以比较完
整的写法是:
示例图:
代码:
package com.test;
public class 比较 {
public static void main(String[] args) {
compare(10,20);
}
public static void compare(int a,int b){
System.out.println(a>b?a:b);
}
}
注意**:**在定义方法时,调用中的参数要和方法中的参数一一对应,以及参数类型也要一一对
应,否则会报错。如上图中的compare(int,int)方法定义了两个int类型的方法,那么在其他方
法中(不一定是main方法)调用也要写两个int类型的参数。其实方法可以重载的,重载就是参
数个数或参数类型至少有一个不同...(下篇细讲)
错误示例1:参数类型不同
错误示例2:参数个数不同
格式2:方法中不带static
这个当main方法调用他时,则需要在main方法中先创建对象(以前讲过)
在同一类中,其他不带static方法可以直接调用其他方法(上篇讲过,不重复了)
方法调用:
格式是:方法名();
是不是超级简单,其中括号里的参数要和定义的参数一致。
如:compare(10,20);也可以通过Scanner数入参数
4、带返回值的参数方法定义和调用
仔细看是不是就只和上面那个多了返回值这三个字,实际上这定义的时候也是多这一个。
方法定义格式:
(也是分带不带static的,和上面一样,所以我就不分开讲了)
public static 返回类型 方法名(参数){
//方法体
return 数据
}
如:
public static int compare(int a,int b){
return a>b?a:b;
}
注:带返回值的方法必须要有return返回一个以上的数据,否则报错,而返回类型为
void的,可以有return,但是return后啥也不跟,直接return;即可。
示例:
代码:
package com.test;
public class 比较 {
public static void main(String[] args) {
int a=compare(10,20);
System.out.println(a);
}
public static int compare(int a,int b){
return a>b?a:b;
}
}
注:调用方法时,必须要有一个变量去接受返回类型(不接收也不会报错的),没有任何
变量去接****受返回的值是没有任何意义的
5、嵌套定义和嵌套调用
方法不能嵌套定义,但是可以嵌套调用,
什么是嵌套定义,其实就是一个方法套了另一个方法
**什么是嵌套套用,**就是各个方法的来往调用,一个方法可以调用一个或多个,
如方法a调用方法b,方法b调用了方法c、d等等。
如
错误写法:
public static void main(String[] args){
public static void getmax(int a,int b){
}
}
此时就有问题了,main方法嵌套了getmax方法。
正确的写法:
public static void main(String[] args){
}
public static void getmax(int a,int b){
}
6、方法重载
我们知道方法是java常用的,在我们写代码的过程经常会使用到,但是我们在调用同
功能的方法要传不同类型的数据时如果我们定义很多方法多有不方便,所以java中给
出了方法重载。
什么是方法重载?
重载也叫重写,他满足一下条件:
1、同一方法名
2、数据类型的种类不同或数据个数不同或顺序不同(三个满足一个或多个即可)
3、定义的方法放在同一个类下
如:初始方法的重载
public static void add(float f,int i)
以下都属于上面方法的重载:
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习