时隔几天,这几天光往下学习新的知识了忘了写博客了,今天继续让我们来回顾一下基础知识.
今天我们要将的是函数:
之前我们写代码的时候基本上都把代码放在了 **public static void main(String[] args){
}**里面,那这是一个什么东西?下面我们就来介绍一下;
这其实就是一个方法或者叫一个函数,就像在数学里学的函数一样,比如f(x)是数学函数的一种规范,那么上面的也是java里的一个规范,那这个规范到底是什么样子的呢?
(补充:
上面的一串代码我们一般称为程序的入口(主函数)或(主入口)是由程序在运行时由JVM自己去调用的,跟我们没有直接关系,我们只需要会使用即可)
函数或方法一般由 修饰符,返回值类型,方法名,小括号,参数,和大括号组成:
格式:
访问权限修饰符 修饰符 返回值类型 方法名(参数){
return 返回值类型;
}
下面我们来写一个加法运算的实例:
public static int add(int x,int y){
return x+y;
}
我们来跟主方法比较一下
public static void main(String[] args){
}
你会发现这两个方法差不多
那么 有的地方一样有的地方为什么长得不同呢
下面我们就详细的来解析一下
在写函数的时候第一个访问修饰符一帮我们常用的有public private 默认 protected,那么他们有什么区别呢(Y为yes,N为no)
访问权限为修饰符对方法和属性的访问限制
同类中 | 同一个包(没父子类关系) | 同一个包(有父子类关系) | 不同包(有父子类关系) | 不同包(没父子类关系) |
private | Y | N | N | N |
默认 | Y | Y | Y | N |
protected | Y | Y | Y | Y |
public | Y | Y | Y | Y |
四种访问权限修饰符的作用范围
在类上的权限修饰我们一般定义成public的,方法大多数是public的(使用一些设计模式可能使用protected获得private),属性绝大多数是private
第二个属性一般为static(静态)和默认 写了static就需要包名.方法名去调用,一般我们称为静态方法.
第三个为返回值类型,那么这个我们的详细聊一聊
通过上面的图我们可以清楚的看见java的数据类型有这么多,但是有8种我们之前见到额到那就是基本数据类型,后面的引用类型在以后我会详细讲解.
看到这张图那就好办了
public static ~~void~~ main(String[] args){
}
这个东西的地方放的就是返回值类型,那么为么他没有return呢!
其实他是有的只不过java可省略不写的(重点看下面)
public static void main (String[] args){
return ;(注意return后面啥也不写也是一条返回语句,那么我们以后看到void的返回值类型,就可以省略楼)
}
在这里返回值类型的那么我们就必须返回它对应的类型与之对应,不然会报错的.
简单的写几个:
public static void add(int x,int y){
System.out.println(x+"+"+ y +"=" + (x+y));
}
public static double (int x,int y){
double z = x * y;//能自动转换
return z;
}
private boolean is(int age1,int age2){
return age1>age2?ture:false;
}
好了方法和函数就说到这里(大括号里又称为方法体可以放我们想要写的代码)
小编回头看之前的代码 有很多知识点没有补充在这里补充一下
形参和实参的理解:
- 形参:方法定义中的参数
等同于变量定义格式
//这里 age1 和 age2 是形参
private boolean is(int age1,int age2){
return age1>age2?ture:false;
}
- 实参:方法调用中的参数
等同于使用变量或常量
public class demo{
public static void main(String[] args){
//这里的1 和 2 是 实参 即实际参数
is(1,2);
}
private static boolean is(int age1,int age2){
return age1>age2?ture:false;
}
}