类与对象3

类与对象3

一、API
1.1API概述

API(ApplicationProgrammingInterface):应用程序接口

编写一个机器人程序去控制机器人踢足球,程序需要向机器人发出向前跑、向后跑、射门、抢球等各种命令。

机器人厂商一定会提供一些用于控制机器人的接口类,这些类中定义好了操作机器人各种动作的方法。其实,这些接口类就是机器人厂商提供给应用程序编程的接口,大家把这些类称为API。

Java API:指的就是JDK中提供各种功能的Java类

这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

1.2如何使用帮助文档
  • 右键打开该文档

在这里插入图片描述

  • 找到索引选项卡中的输入框

在这里插入图片描述

  • 在输入框中输入Random

    在这里插入图片描述

  • 看Random类在哪个包下

    在这里插入图片描述

  • 看类的描述

    在这里插入图片描述

  • 看构造方法(无参与带参)

    在这里插入图片描述

  • 看成员方法

    在这里插入图片描述

帮助文档:

在这里插入图片描述

1.3API使用练习

需求:按照帮助文档的使用步骤学习Scanner类的使用,并实现键盘录入一个字符串,最后输出在控制台。

二、String
2.1String概述

String类在java.lang包下,所以使用的时候不需要导包。

String类代表字符串,Java程序中的所有字符串文字(例如"abc")都被实现为此类的实例,

也就是说,Java程序中所有的双引号字符串,都是String类的对象。

字符串的特点
  • 字符串不可变,它们的值在创建后不能被更改

  • 虽然String的值是不可变的,但是它们可以被共享

  • 字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

2.2String的构造方法

在这里插入图片描述

在这里插入图片描述

推荐使用直接赋值的方式得到字符串

在这里插入图片描述

2.3String对象的特点

1)通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。

在这里插入图片描述

上面的代码中,JVM会首先创建一个字符数组,然后每一次new的时候都会有一个新的地址,只不过s1和s2参考的字符串是相同的。

2)以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中进行维护。

在这里插入图片描述

在上面的代码中,针对第一行代码,JVM会建立一个String对象放在字符串池中,并给s3参考;第二行则让s4直接参考字符串池中的String对象,也就是说它们本质上是同一个对象。

在这里插入图片描述

2.4字符串的比较

使用==比较:

  • 基本类型:比较的是数据值是否相同
  • 引用类型:比较的是地址值是否相同(字符串)

字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()

  • public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串。

在这里插入图片描述

案例:用户登录

需求:已知用户名和密码,请用程序实现模拟用户登录,总共给三次机会,登录之后,给出相应的提示。

思路:

  • 已知用户名和密码,定义两个字符串表示即可
  • 键盘录入要登录的用户名和密码,用Scanner实现
  • 拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals()方法实现
  • 用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值