递归+面向对象

一.递归函数

  1. 定义:自调函数,在函数中自己调用自己

  2. 递归头:停止自己调用自己的条件(临界条件=递归头)

  3. 递归尾:不停的调用自己

  4. 递归前进段:从开始调用自己到临界条件之间

  5. 递归后推端: 从临界条件开始,把结果返回给上一层

  6. 打印九九乘法表

public class Demo02{
    public static void main(String[] args){
        print(4);//调用方法
    }
    //使用递归实现九九乘法表
    public static void print(int i){
        //临界条件
        if(i==1){//控制行
            System.out.println("1*1=1");
            return;
        }
        print(i-1);//打印前八行
        for(int j=1;j<=i;j++){//打印列
            System.out.print(j+"X"+i+"="+i*j+"\t");
        }
        System.out.println(); //换行
    }
    
}

二.面向对象与面向过程(它们是一种考虑问题的角度)

1.面向对象:关注点在对象不在过程(找别人来做这件事,自己只要结果),但面向对象是依托于面向过程的

2.面向过程:关注过程,一步步实现解决问题

3.面向对象的特点:

  • 面向对象更贴近生活,更符合人们的思维方式(例如:办一件事找人(靠关系),让自己更快达到自己的目的)

  • 面向对象更符合生活工作中的管理者,面向过程更符合执行者的角度

  • 可以将复杂的问题简单化

4.面向对象的思维方法

  • 类:生活中事物的模板(鸟类,犬类等)

  • 对象:生活中的事物

5.自定义类

  • 创建自定义类

public class Phone03{
    //成员变量--》事物的属性,来确定这个事物的唯一性
    //颜色
    public String color;
    //品牌
    public String brand;
    //尺寸
    public double size;
    
    //成员方法--》用来实现功能
    //打电话
    public void call(){
        System.out.println("从前有一个人长得像电话,出门就被打了...");
    }
    
}
  • 使用自定义类

    /*1.导包
      2.创建类型变量|引用
      3.使用方法
    */
    public class PhoneTest04{
        public static void main(String[] args){
            //1.创建一个手机对象
            Phone03 p1=new Phone03(); //一个名字叫做p1的手机已经创建号了
            Phone03 p2=new Phone03(); //一个名字叫做p2的手机已经创建号了,与p1就是2个对象
            //给自定义类的成员变量赋值
            p1.color="黑色";
            p1.size=5.5;
            p1.brand="苹果";
            //调用方法
            p1.call();
            System.out.println(p1.color);
            
        }
    }
    /*
    new Phone03()
      出现new一定会做三件事:
         1.会在堆中开辟一个空间给创建的对象
         2.成员变量会跟随对象进入堆,并附初始值
         3.把对象在堆中的地址放回给引用
    */

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值