Java学习笔记(三)函数——学习MOOC网翁恺老师课程记录

七、函数

7.1 函数定义与调用

​ Java的函数必须定义在类的内部,成为类的成员。定义一个函数,要像这样写:

<返回类型> <方法名称>(<参数表>) {

​ <方法体>

}

返回类型是这个函数运行结束时要返回给调用者的数据的类型,函数可以返回基本数据类型、对象或者void。返回void表示这个函数不返回任何值。函数名称是一个Java名字,一样要遵循和变量一样的命名规则。参数表是0个或1个或多个参数定义,用逗号’,’分隔。

​ 在这个阶段,我们要在所有的函数的返回类型前面加上关键字“static”。static表示这个函数属于这个类,而不属于这个类的任何对象,因此我们才可以不制造这个类的对象,而直接从main()函数中调用它。

​ 当一个函数被调用时,程序就转到这个函数中去运行,函数体里的语句就一条一条地被调用。一旦函数运行结束,就又回到调用它的地方去继续运行。

7.1.1 定义函数

代码复制是程序质量不良的表现。

目前为止,写的所有函数前面都要有public static

//函数定义举例
public static void sum(int a, int b)
{
    int i;
    int sum=0;
    for (i=a;i<=b;i++)
    {
        sum+=i;
    }
    System.out.println(a+"到"+b+"的和是"+sum);
}

7.1.2 调用函数

//调用方式
函数名(参数值)
//圆括号起到了表示函数调用的重要作用;
//即使没有参数也要加圆括号
//如果有参数则要给出正确的数量和顺序

函数总能记住自己从哪里出来,该回到哪里去;

//return停止函数的执行,并送回一个值
//有两种retrurn方式
return;//1.不返回任何值
return 表达式;//2.具有返回值的return
//一个函数里可以出现多个return语句,单视保持单一出口是好的做法;
  • 使用带返回值的return时要注意,定义函数时 void 类型 函数名(参数表)
  • 如果没有类型,则不能用带返回值的return;

7.2 函数参数与函数内变量

7.2.1 参数传递

1.调用函数

  • 如果函数有参数,调用函数时必须传递给它数量、类型正确的值;
  • 当函数期望的参数类型比调用函数时给的值的类型宽的时候,编译器能悄悄替你把类型转换好。
char-->int--->double
  • 当函数期望的参数类型比调用函数时给的值的类型窄的时候,需要你写强制类型转换。
(int)5.0

Java语言在调用函数时,只能传值。

2.传值

  • 每个函数有自己的变量空间,参数也位于这个独立空间中,和其它函数没关系。
  • 过去常把函数定义时的参数称为形参,调用时的参数称为实参,容易产生误会,更准确的说,它们是参数的关系。

7.2.2 本地变量

  • 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量

  • 定义在函数内部的变量就为本地变量

  • 参数也是本地变量。

1.变量的生存期和作用域

  • 生存期作用域是统一的,即在大括号内。
  • 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。
  • 块外面定义的变量在里面仍然有效;
  • 不能在一个块内定义同名的变量,也不能定义块外面定义过的变量;
  • 参数在进入函数的时候就被初始化了
int main()
{
    int scp1;//scp1出现了
    {
        //scp1仍然存在
        int scp2;
        //scp2出现了
        {//scp1和scp2都是存在的
            int scp3;//scp1 scp2 scp3都存在
        }
        //《--scp3不存在了
        //scp1 与 scp2还存在
    }
    //《--scp2 不存在了
    //scp1 还存在
}
void f(int k)
{
    int i=10;
    if(k>i)
    {
        int k=12;//不行
        int j=i+k;
    }
    int m=j;//不行,因为已经超出了j的作用域,j不复存在。
}

附录

一、快捷键

ctrl+F11 运行;或者直接F11也可以

ctrl+/ 加标注

二、debug的方式

  1. 先设置好断点;
  2. 选择上方任务栏的debug(一个绿色虫子的按钮);
  3. 再选择右侧栏中的debug按钮;
  4. 选择上方任务栏中的step over按钮,一行一行的运行程序,边运行边观察“变量栏”中的变量是如何变化的。a
  5. step into 是进入到所调用函数的内部;

三、常用的语句

Scanner in = new Scanner(System.in);

int x= in.nextInt();
String s=in.nextLine();//由User自定义输入

System.out.println(x+"不在其中");

你可能感兴趣的:(java)