函数的定义与调用

1.函数的定义格式如下:
java求生第七集
1) public static是什么含义我们会在进阶课程里面学到;2) 关于返回类型,如果是void类型是表明不需要返回值,其他的int,double等等都需要return一个返回值;3) 【Ⅰ】参数表也称为形参表,定义参数的时候必须说明类型,定义后的参数在函数体里面可以直接用,不需要再次定义了,其他的还需要在函数体里面再次定义;【Ⅱ】参数表里面可以没有参数,可以有很多参数,需要注意的是,就算没有参数也要加括号;【Ⅲ】参数的起名没有那么多讲究,就算在主函数中定义了一样名字的变量也没关系,只要分的比较清楚就可以了; 4) 关于函数名,就算在函数体里面定义了一个跟函数名一摸一样的变量也没有关系,就算是在主函数里面定义了一个跟函数名一样的变量也能用,只要自己能分的清楚就行(最好还是不要这么干);5) 函数体里面就是正常编程就可以了。
2.函数的调用格式:调用的时候,即使定义的那个函数没有形参,我们依然要保留括号。
java求生第七集
注意:单步调试里的step over是直接执行一个语句,不管这个语句是不是包含函数,直接执行完毕。而step into是检测到函数后,还会进函数体进行单步执行,是正真的单步调试;step return可以从函数里面直接回到调用它的地方;
3.函数类型如果是需要返回的,则必须在函数体中有“ return+表达式 ”;那如果函数类型是void,但是我们在运行函数的过程中,因为某种特殊的原因,需要提前回到调用函数的地方,我们可以使用“ return;”也就是return不加任何表达式来实现这个功能;
4.【Ⅰ】我们在调用函数进行参数传递的时候,要尽量做到类型匹配;【Ⅱ】但是在下图条件下可以实现自动类型转换,则也不会报错:比如double比int要宽,int比char要宽;(窄的能自动类型转换为宽的,这里的char单个字符类型可以自动转换成一个较小的整数,但不是unicode对应的整数编号)
java求生第七集
【Ⅲ】如果从宽的转化为窄的,则必须要强制类型转换;【Ⅳ】如果两种量毫无关系,则就算强制类型转换也不行;

函数的参数和函数内的变量

1.java语言中调用函数,进行参数传递的时候,传的只是值而已。在函数定义哪一块儿参数表中定义的a和b,和我在主函数中定义的a和b,没有任关系。如下代码也不能实现交换的功能:
java求生第七集
2.有如下说法:上面一个说法就比如刚刚函数形参表里的a、b和主函数里的a、b完全没关系。(其实这个说法不太确切,这个在后面还要延伸,这里先这么理解);下面一个是以前的说法,但是容易让我们搞混;

java求生第七集
现在可以改为这么说:把形参说成是:参数、实参说成是:
java求生第七集
3.针对刚刚那个不太确切的说法,其实正确的说法应该是这样的(比如递归调用):
java求生第七集
4.变量的生存期和作用域的定义:
java求生第七集
自我猜测:本地变量包括局部变量和全局变量
5.我们需要知道的是,本地变量不能被重复定义(自我理解:在大作用域里面定义了之后,就不能在大作用域或者大作用域下的小作用域再定义了)
6.整体的规则是:非常重要!!!!
java求生第七集

相关文章: