HAIHAIHEI 发表于 2022-3-27 23:31

Java学习第十三天

本帖最后由 HAIHAIHEI 于 2022-3-28 11:01 编辑

第十三天,有不对之处麻烦各位指正
方法的语法机制:
/*
方法的语法机制:
      [修饰符列表] 返回值类型 方法名(形式参数列表){
      方法体;
      }

      注意:[]叫中括号,以上中括号[]里面的内容表示不是必须的,是可选的
      方法体由Java语句构成
      方法定义之后需要去调用,不调用是不会执行的

      关于修饰符列表:
      修饰符列表不是必选项,是可选的。目前为止,统一写成:public static,后面根据个人理解来写
      关于返回值类型:
      第一:返回值类型可以是任何类型,只要是Java中的合法数据类型就行,数据类型包括基本数据类型和引用数据类型,返回值可以是其中任意
      第二:返回值一般指的是一个方法执行结束之后的结果,结果通常是一个数据,所以称为“值”。方法就是为了完成某个特定的功能,方法结束之后,大部分情况下都是有一个结果的,而体现结果的一般都是数据。数据得有类型,这就是返回值类型。
      
      main{
                //调用a方法
                a();//如果a方法执行结束之后有返回值,这个返回值返回给了main了。
                }
      方法执行结束之后的返回值实际上是给调用者了。谁调用就返回给谁
      }

      第三:当一个方法执行结束不返回任何值的时候,返回值的类型也不能空白,必须写上void关键字。所以void表示该方法执行结束后不返回任意结果
      第四:如果返回值类型不是void,那么你在方法体执行结束的时候必须使用“return 值;”这样的语句来完成值的返回,如果没用"return 值;"这样的语句,那么编译器会报错
      第五:只要有“return 值;”关键字的语句执行,当前方法必然结束。(注:不是整个程序结束)
      第六:如果返回值类型是void,那么在方法体当中不能有return 值;这样的语句,但是可以有return;语句。这个语句return;的作用就是终止当前方法的
      第七:除了void之外,剩下的必须有return 值;这样的语句

      方法名:
      方法名要见名知意。(驼峰命名方式)
      方法名要在标识符命名规范当中,要求首字母小写,后面每个单词首字母大写。只要是合法的标识符就行

      形式参数列表:(形参)
      注意:形式参数列表当中的每一个参数都是局部变量,方法结束之后内存释放
      形参的个数是:0~n个
      public static void main(){}
      public static void main(int x){}
      public static void main(int x,int y){}
      public static void main(int a,int b,double d,String s){}
      形参有多个的话,使用逗号隔开,形参的数据类型起决定性作用,形参对应的变量名是随意的
      
      方法体:
      由Java语句构成。Java语句以“;”结尾
      方法体当中编写的是业务逻辑代码,完成某个特定功能
      在方法体中的代码遵循自上而下的顺序依次逐行执行
      在方法体中处理业务逻辑代码的时候需要数据,数据来源就是这些形参

      方法定义之后调用:
      方法必须调用才能执行
      类名.方法名(实际参数列表);

      实参和形参必须一一对应,类型得对应,个数也得对应
*/
public class Test{
      //方法定义到这里可以
      //main方法执行结束之后不需要给jvm返回任何执行结果
      public static void main(String[] args){
      //调用方法
      
      //错误:不兼容类型,String不能转换成int
      //Test.divide("abc",200);//int x="abc";
      
      //错误:实际参数列表和形式参数列表长度不同
      //Test.divide();
      
      //(10,5)为实际参数列表
      Test.divide(10,5);
      
      //调用sum方法
      //使用变量来接受这个方法的返回值
      //注意:变量的定义需要指定变量的数据类型
      int jieguo = Test.sum(100,200);
      System.out.println(jieguo);//300
      
      //double是大容量,int是小容量,自动类型转换
      double jieguo2 = Test.sum(100,200);
      System.out.println(jieguo2);//300.0
      
      //对于没有返回值的方法,变量不接收
      //当一个方法有返回值的时候,也可以选择不接收
      }

      //计算两个int数据类型的和
      public static int sum(int a,int b){
      return a+b;
      }
      
      //方法定义到这里也可以,没有顺序要求
      //方法执行结束之后返回执行结果
      /*
      public static int divide(int x,int y){
      int z=x/y;
      return z;
      }
      */

      /*
      public static int divide(int x,int y){
      int z=x/y;
      return x/y;
      }//可以
      */

      /*
      public static int divide(int x,int y){
      int z=x/y;
      return;
      }//错误,缺少返回值
      */

      /*
      public static void divide(int x,int y){
      int z=x/y;
      return z;
      }//错误;不兼容类型,意外的返回值
      */

      /*
      public static void divide(int x,int y){
      int z=x/y;
      return;
      }//可以
      */

      /*
      public static void divide(int x,int y){
      }//可以
      */

      /*
      public static void divide(int x,int y){
      System.out.println(x/y);
      }//可以
      */
      
      public static void divide(int x,int y){
      System.out.println(x/y);//2
      }
      
}      

HAIHAIHEI 发表于 2022-3-27 23:32

纯手打,如果有不对之处希望各位大佬指出,感激不尽{:1_893:}

13729181580 发表于 2022-3-28 00:16

感谢分享

leroy81831 发表于 2022-3-28 00:49

写的可以

wangming5787 发表于 2022-3-28 01:48

加油 我也在学习java中了

jzx765 发表于 2022-3-28 07:52

学习一下,共同进步

chenran208 发表于 2022-3-28 08:21

坚持就是胜利

ghy197674 发表于 2022-3-28 08:23

谢谢分享

qwe12079 发表于 2022-3-28 08:30

还在学习基础语法,共同努力

daisypojie 发表于 2022-3-28 08:39

页: [1] 2 3
查看完整版本: Java学习第十三天