发表于: 2017-10-09 22:11:47

1 790


今日完成的事情:

学习简单语法基础说几个内容多的吧

方法:用来解决一类问题的代码的有序组合,是一个功能模块。

1、访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

2、返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

3、方法名:定义的方法的名字,必须使用合法的标识符

4、参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开

根据方法是否带参、是否带返回值,可将方法分为四类:无参无返回值方法;无参带返回值方法;带参无返回值方法;带参带返回值方法。

无参无返回值没什么好说的直接调创建对象调用


    public static void main(String[] args)
   {
//       main 方法中调用 print方法
//      先创建类的对象,然后通过对象名.方法名()
       Hello4 test = new Hello4();
       test.print();
   }
//  定义了一个方法名为 print 的方法,实现输出信息功能
   private void print()
   {
//      方法体放在一对大括号中,实现特定的操作
       System.out.println("Hello World");
   }


 

无参带返回值的调用,因为方法执行后会返回一个结果,所以一般都会接收其返回值并进行处理。

 

 public static void main(String[] args)
   {
       // 创建名为hello的对象
       Hello6 hello = new Hello6();
       // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg
       double avg = hello.calcAvg();
       System.out.println("平均成绩为:" + avg);
   }
//  定义一个返回值为double类型的方法
   public double calcAvg()
   {
       double java = 92.5;
       double php = 83.0;
       double avg = (java + php) / 2; // 计算平均值
//      使用return返回值
       return avg;


带参无返回值的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据(就像做饭需要加入材料)

这里还涉及到参数的概念,把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

 

  /*
* 功能:计算两门课程考试成绩的平均分并输出平均分
* 定义一个包含两个参数的方法,用来传入两门课程的成绩
*
*/
 public void calcAvg(int a,int b)
 {
     double c =(a + b)/2;
     System.out.println("平均成绩:" + c);
 }
 public static void main(String[] args)
 {
     // 创建对象,对象名为hello
     Hello8 hello = new Hello8();
     // 调用方法,传入两门课程的成绩
     hello.calcAvg(94, 81);


带参带返回值


  Hello9 hello = new Hello9();
   int[] scores = {79, 52, 98, 81};
   //调用方法,传入成绩数组,并获取成绩的个数
   int count = hello.sort(scores);
   System.out.println("共有" + count + "个成绩信息!");
}
/*
* 功能:将考试成绩排序并输出,返回成绩的个数
* 定义一个包含整型数组参数的方法,传入成绩数组
* 使用Arrays类对成绩数组进行排序并输出
* 方法执行后返回数组中元素的个数
*/
public int sort(int[] scores)
{
   Arrays.sort(scores);
   System.out.println(Arrays.toString(scores));
   //返回数组中元素的个数
   return scores.length;


方法重载:如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了(与方法的修饰符或返回值没有关系)。

        Hello10 hello = new Hello10();
       // 调用无参的方法
       hello.print();
       // 调用带有一个字符串参数的方法
       hello.print("java");
       // 调用带有一个整型参数的方法
       hello.print(67);
//        带参带返回值
       int treasures = hello.print(89, 99);
       System.out.println("我的宝藏:" + treasures);
   }

   public void print()
   {
       System.out.println("无参的print方法");
   }

   public void print(String name)
   {
       System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
   }

   public void print(int age)
   {
       System.out.println("带有一个整型参数的print方法,参数值为:" + age);
   }

顺手打个小练习‍,真绕

  int[] scores = {89, -23, 64, 91, 119, 52, 73};
       Hello12 hello = new Hello12();//创建对象
       System.out.println("前三名是:");
       hello.showTop3(scores);//调用方法
}
public void showTop3(int[] scores)
{
//      array方法排序数组
       Arrays.sort(scores);
//      保存成绩数量
       int num = 0;
//       倒数最大三个
       for (int i = scores.length - 1; i >= 0; i--)
{
if (scores[i] < 0 || scores[i] > 100)
{
continue;//成绩无效则跳出循环
}
num++;//有效数加一
if (num > 3)
{
break;
}
System.out.println(scores[i]);
}


 

明日计划的事情:

进一步学习语法基础


遇到的问题及解决方法:

还可以语法基础都是概念,看起来有些枯燥吧,不过看一会打打代码,也能进行下去,偶尔看不太懂犯困。。。。


收获:

底层补基础感觉有眉目了,有收获感觉可以,明天加快进度。




返回列表 返回列表
评论

    分享到