【119天】尚学堂高琪Java300集视频精华笔记(24-30)

【119天】尚学堂高琪Java300集视频精华笔记(24-30)

第24集:方法/方法的本质/形参/实参/return语句

  1. Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:

    [修饰符1  修饰符2  …]   返回值类型    方法名(形式参数列表){
    Java语句;… … …
    }
  2. 形式参数:在方法被调用时用于接收外界输入的数据。

  3. 实参:调用方法时实际传给方法的数据。

  4. 返回值:方法在执行完毕后返还给调用它的环境的数据。

  5. 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。

  6. Java语言中使用下述形式调用方法:对象名.方法名(实参列表)

  7. 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。

  8. return 语句终止方法的运行并指定要返回的数据。

  9. Java中进行方法调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身。引用类型传递的是对对象的引用【即对象的地址】,而不是对象本身。

  10. JAVA中只有值传递。

  11. 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。 我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。


package com.test024;

public class Test024_TestMethod {
    public static void main(String[] args){
        test01(22);
    }

    public static void test01(int a){
        int oddSum = 0;
        int evenSum = 0;
        for(int i=0;i<=a;i++){
            if(i%2!=0){
                oddSum += i;
            }else {
                evenSum += i;
            }
            
        }
        System.out.println("奇数的和" + oddSum);
        System.out.println("偶数的和" + evenSum);
    }
    
    public static int add(int a,int b){
        int sum = a+b;
        if(a==3){
            return 0; //return两个作用:结束方法的运行、返回值。
        }
        System.out.println("输出");
        return sum;
    }
    
}

第25集:递归算法详解(recursion)

  1. 递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。

  2. 利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。

  3. 递归结构包括两个部分:

    1. 定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。

    2. 递归体。解答:什么时候需要调用自身方法。

  4. A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!

    package com.test025;
    
    public class Test025_TestRecursion {
    /**
     * @author wangtao
     * 
     * 
     */
    static int a = 0;
    public static void test01(){
        a++;
        System.out.println("test01 " + a);
        if(a <= 10){     //递归头
            test01();
        } else{     //递归体
            System.out.println("over");
        }
    }    
    
    
    public static int factorial(int n){
        if(n==1){
            return 1;
        }else{
            return n*factorial(n-1);
        }
    }
    
    public static void main(String[] args){
        //test01();
        int a = factorial(5);
        System.out.println(a);
    }
    }
    

第26集:package的概念/api文档/生成自己项目的api文档

package概念

  1. 为什么需要package? 

    • 为了便于管理类:合适的类位于合适的包!

    • 为了解决类之间的重名问题。

  2. package怎么用?

    • 通常是类的第一句非注释性语句。

    • 包名:域名倒着写即可,再加上模块名,便于内部管理类。

    • 其实内部实现就是靠目录结构来做到的。

  3. package示例:

    com.sun.test
    com.oracle.test
    com.bjsxt.gao.test
    com.bjsxt.gao.view
    com.bjsxt.gao.view.model
    1. 注意事项:

      1. 写项目时都要加包,不要使用默认包。

      2. com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。

  4. JDK中的主要包

    1. java.lang-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

    2. java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

    3. java.net-包含执行与网络相关的操作的类。

    4. java.io-包含能提供多种输入/输出功能的类。

    5. java.util-包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。

生成自己项目的API文档

  1. 特殊的注释:文档注释:/**

  2. 使用JAVADOC生成API文档

  3. 解决问题:代码和文档的分离

  4. 常用的java注释标签:

    • @author 作者

    • @version 版本

    • @param  参数

    • @return  返回值的含义

    • @throws 抛出异常描述

    • @deprecated 废弃。建议用户不在使用该方法

  5. 在eclipse中创建api文档的步骤

    1. 右键单击项目,选中export

      
      ![](http://a2.qpic.cn/psb?/V13aP5rZ2U5DOS/P5cYnkg93C2BrtXb8GHp5W53vnSKHI5zce.8UFsCijs!/b/dBgBAAAAAAAA&bo=nQHwAQAAAAADAEg!&rf=viewer_4)
      
    2. 见下图

      
      ![](http://a2.qpic.cn/psb?/V13aP5rZ2U5DOS/FZ084wfH2xY5e6ArxrIE6DWM3ekQqz2AhgjONpiqz.w!/b/dBgBAAAAAAAA&bo=oQEMAgAAAAADAIs!&rf=viewer_4)
      

第27集:键盘输入Scanner类的使用import简单入门

键盘输入Scanner类的使用


package com.test027;
import java.util.Scanner;

/**
 * 测试import导入Scanner类,以及Scanner类的使用,如何接收键盘的输入
 * 
 */

public class Test027_TestScanner {
    public static void test01(){
        Scanner s = new Scanner(System.in);
        String str = s.next();//程序运行到next会停止,等待输入
        System.out.println(str);
    }
    
    public static void test02(){
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个数据:");
        int a = s.nextInt();
        System.out.println("请再输入一个数据:");
        int b = s.nextInt();
        System.out.println("计算结果: "+ (a+b));
    }
    
    
    public static void main(String[] args){
        test02();
    }
}

import简单入门

  1. 为什么需要import?

     如果不使用import,我们如果用到其他包的类时:只能这样写java.util.Date,代码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。

  2. import怎么使用?

    import  java.util.Date; 
    import  java.util.*;   //导入该包下所有的类。会降低编译速度,但不会降低运行速度。
  3. 注意要点

    1. java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。

    2. 如果导入两个同名的类,只能用包名+类名来显示调用相关类:

      java.util.Date date = new java.util.Data();
  4. 静态导入

    1. static  import静态导入的作用:用于导入指定类的静态属性(JDK 1.5后增加, 了解!!!!)

    2. 如何使用?

      > import static java.lang.Math.*;//导入Math类的所有静态属性
      > import static java.lang.Math.PI;//导入Math类的PI属性
      
      > 然后,我们可以在程序中直接使用:System.out.println(PI);
      

第28集:面向对象01_面向过程和面向对象的本质区别

  1. 面向过程的思维模式

    1. 线性思维

    2. 思考问题直接陷入第一步做什么,第二步做什么的细节中。

    3. 适合处理简单事情,遇到复杂的事情困难程度指数级上升。

  2. 面向对象的思维模式

    1. 分类思维

    2. 思考问题首先解决问题需要哪些分类,然后单独对这些分类进行单独思考,最后对某个分类下的细节进行面向过程的思索。

    3. 适合处理复杂问题,进行多人协作。

第29集:面向对象02_面向对象的方式思考问题

  1. 面向对象编程(OOP)的本质是:以类的方式组织【划分】代码,以对象的方式组织(封装)数据

  2. 抽象是什么?将多个物体共同点归纳出来,抽出像的部分。

第30集:面向对象03_类和对象的关系/写出我们的第一个类

  1. 从代码运行的角度,先有类再有对象

  2. 类是对象的模板

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值