为什么要有函数的存在:函数主要解决的是那些重复的且具有独立功能的代码段
将这些具有独立功能的代码可以进行再次封装 封装出来的东西就成为是
好处:降低了代码冗余(复用函数),降低了主函数的代码量(将主函数进行适当的拆分,以便内存的优化),就是将函数模块化
函数是如何定义的:访问权限 函数类型 返回值类型 函数名(参数列表){
函数体
return 返回值;}
访问权限:指的是函数的适用范围(内部和外部)public(全局) protected 默认 private
函数类型:指的是函数的类型分类,说的就是函数的具体使用场景和场合
static(静态函数) 默认不写(成员函数) abstract(抽象函数)native(本地函数synchronized(同步函数)
函数名:程序员给这一段代码自定义的名称(标识符)
参数列表:有若干个参数类型,参数名...组成 主要用于接收外部传递给函数的一些数据
函数体:就是那些具有独立功能的代码块
return:仅仅表示结束当前函数,如果有返回值,则函数结束前将返回值
返回值:指的就是这一具有独立功能的代码块的计算结果,需要传递给外界 配合return
返回值类型:就是返回值的数据类型(可兼容)
class Test01{
/*
主函数的格式分析
public 主函数是公开权限 最大权限
static 主函数是静态函数
void 该函数没有返回值
main 主函数的名称
String[] String[] 表示的是一个字符串数组(数据类型)
args 就是这个数据类型的变量名称
番外:我们可以在执行程序的时候 给主函数传递一些参数
return:发现return不在
!!!而是因为函数没有返回值 所以return可以忽略不写 不代表不存在
!!!return本身表示结束当前函数!
!!!如果函数有返回值 return 返回值; 必须写
*/
public static void main(String[] args){
// int a=10;
// if(a>5){
// return; //在此处结束当前函数
// }
// System.out.println("来了老弟~");
// return;(函数没有返回值可省略不写)
//目前为止 定义函数的时候 只需要考虑
//返回值类型 函数名 参数列表 函数体 返回值
/*
double res=pow(2,4);
System.out.println(res);
System.out.println(pow(2,-4));
double c=pow(2,3)+10;
System.out.println(c);
show();
*/
//-------↓
int a=4;
int b=4;
double c=pow(a,b);
System.out.println(c);
}
public static double pow(double a,int b){
if(b==0){
return 1;
}
double sum=1;
//2^4
for(i