小结:
1、方法的格式:
修饰符 返回值类型 方法名(参数列表){代码片段… return ;}
public static void(无返回值的)add(int 1,int 5){
代码片段...
// return ;//又返回值才用
}
2、方法的作用:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。
小结:
1 、方法的目的:为了进行调用的,是为了更方便的进行开发程序。
2 、方法的使用:学会如何进行需求分析:比如求1到100之和并返回
- 首先判断返回值和参数列表 ,返回值一定是 int类型, 参数列表就是初始的计算位置 和 结束的计算位置
- 要给方法起一个非常666的名字 比如:getSum 、getTotal ,然后对参数列表的名称一定要起的有意义
- 一定要注意:我们的返回值 一定和锁定义的返回值相同
- return语句后面不允许写任何代码。return表示方法以及执行完毕了(关于定义几个return的问题,是要看实际的代码逻辑情况而定的)
- 最重要的:作为一个优秀的程序员,我们一定要认真做好每一个方法的注释,下面为例:
/**
* getTotal: 对于两个参数进行累计求和
* @param start int 初始化定义的变量 起始位置
* @param end int 结束位置
* @return int 返回累加之和
*/
public static int getTotal(int start, int end) {
int sum = 0;
for(int i = start ; i<= end; i++) {
sum += i;
}
return sum;
}
- 不能在return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
3、 方法的调用 (作业)
- 无参数并且没有返回值的方法调用 public static void print1(){ …}
//无参数并且没有返回值的方法调用
/**
* method : 对无参数的使用
*/
public static void method() {
System.out.println(" welcome to java !");
}
- 有参数并且有返回值的方法调用 public static int print2(int a , int b){ …}
//有参数并且有返回值的方法调用
/**
* method :对有参数并且有返回值的方法调用
* @param b int 任意参数
* @return 返回int类型
*/
public static int method(int b) {
return b;
//System.out.println(" 欢迎你到 java 课程来!");
}
- 有参数并且没有返回值 public static void print2(int a){ …}
//有参数并且没有返回值
/**
* method :有参数并且没有返回值
* @param a double 任意数
* @param b int 任意数
* @return 无返回值
*/
public static void method(double a,int b) {
double sum = a + b;
System.out.println(sum);
}
4、 方法的重载:
- 第一点方法的名称必须相同的情况下才构成重载
- 判断是否重载和修饰符 比如public、static 无关,和返回值无关 boolean、int、void
- 方法的重载只与:参数列表的个数、类型、顺序有关
3、经典面试题采坑记
解释:分析;s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将取值范围。大的类型赋值到取值范围小的类型。但是, s=s+1进行两次运算, += 是一个运算符,只运算一次,并带有强制转换特点,也就是说 s += 1 就是s = (short)(s + 1) 因此程序没有问题编译通过,运行结果是2
4、经典面试题采坑记
结果:编译失败
解释:分析; b3 = 1 + 2 , 1 和 2 是常量,为固定不变的数据,在编译的时候(编译器javac),已经确定了1+2 的结果并没有超过byte类型的取值范围,可以赋值给变量b3 ,因此b3=1 + 2 是正确的。反之, b4 = b2 + b3 , b2 和 b3 是变量,变量的值是可能变化的,在编译的时候,编译器javac不确定b2+b3的结果是什么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失败。
5、单词的总结:method (方法)、operator(操作)、