Java的函数必须定义在类的内部,成为类的成员。定义一个函数,要像这样写:
<返回类型> <方法名称>(<参数表>) {
<方法体>
}
返回类型是这个函数运行结束时要返回给调用者的数据的类型,函数可以返回基本数据类型、对象或者void。返回void表示这个函数不返回任何值。函数名称是一个Java名字,一样要遵循和变量一样的命名规则。参数表是0个或1个或多个参数定义,用逗号’,’分隔。
在这个阶段,我们要在所有的函数的返回类型前面加上关键字“static”。static表示这个函数属于这个类,而不属于这个类的任何对象,因此我们才可以不制造这个类的对象,而直接从main()函数中调用它。
当一个函数被调用时,程序就转到这个函数中去运行,函数体里的语句就一条一条地被调用。一旦函数运行结束,就又回到调用它的地方去继续运行。
代码复制是程序质量不良的表现。
目前为止,写的所有函数前面都要有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);
}
//调用方式
函数名(参数值)
//圆括号起到了表示函数调用的重要作用;
//即使没有参数也要加圆括号
//如果有参数则要给出正确的数量和顺序
函数总能记住自己从哪里出来,该回到哪里去;
//return停止函数的执行,并送回一个值
//有两种retrurn方式
return;//1.不返回任何值
return 表达式;//2.具有返回值的return
//一个函数里可以出现多个return语句,单视保持单一出口是好的做法;
char-->int--->double
(int)5.0
Java语言在调用函数时,只能传值。
函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量。
定义在函数内部的变量就为本地变量。
参数也是本地变量。
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+/ 加标注
Scanner in = new Scanner(System.in);
int x= in.nextInt();
String s=in.nextLine();//由User自定义输入
System.out.println(x+"不在其中");