文章目录

  • 题目描述
  • 代码实现
    • 运行结果
  • 涉及的知识点

题目描述

定义Person类 ,里面有 name 、age 属性 ,并提供 compareTo 比较的方法 ,
用于判断是否和另一个人相等,提供测试类 TestPerson 用于测试 ,名字和年龄完全一样,就返回 true ,否则返回 false

代码实现

package TestPerson;public class TestPerson {public static void main(String[] args) {Person p1 = new Person("mary", 20);Person p2 = new Person("smith", 30);System.out.println("p1和p2比较的结果=" + p1.compareTo(p2));}
}
class Person {String name;int age;//构造器public Person(String name, int age) {this.name = name;this.age = age;}//compareTo 比较方法public boolean compareTo(Person p) {//第一种写法:
//        if (this.name.equals(p.name) && this.age == p.age) {//            return true;
//        }else {//            return false;
//        }
//第二种写法:return this.name.equals(p.name) && this.age == p.age;}
}

运行结果

涉及的知识点

this: 简单地说, 哪个对象调用 ,this 就代表哪个对象

  1. this 关键字 可以用来访问本类的属性、方法、构造器

  2. this 用于区分当前类的属性和局部变量

compareTo() 方法:

1.返回参与比较的前后两个字符串的ASCII码的差值,如果两个字符串首字母不同,则该方法返回首字母的ASCII码的差值。

2.参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值。

3.如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值。

4.返回为正数表示a1>a2, 返回为负数表示a1<a2, 返回为0表示a1==a2。

5.int型可以直接比较,所以没有用到compareTo比较,如果声明的是Date、String、Integer、或者其他的,可以直接使用compareTo比较。

Java基础练习题---this相关推荐

  1. Java基础练习题2

    Java基础练习题2 1.编写一个类实现复数运算,至少包含复数加减乘除. 2.随机输出1到100之间的10个数.. 3.利用ArrayList类创建一个对象,并向其添加若干个学生信息(包括但不限于学号 ...

  2. Java基础练习题(逢七跳过、百钱百鸡、不死神兔、复利(利滚利))

    Java练习题(逢七跳过.百钱百鸡.不死神兔.复利(利滚利)) Java学习中遇到的练习题,用自己的思路解决这几个问题,新手写法,仅供参考 逢七跳过 朋友聚会的时候可能会玩一个游戏:逢七过. 规则是: ...

  3. Java基础练习题 1-50

    转载来源:https://blog.csdn.net/qiucaijuan/article/details/6650925 [程序1] 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子 ...

  4. Java基础练习题_Random

    #Random练习题 import java.util.Random; import java.util.Scanner;public class RandomTest {/*需求:程序自动生成一个1 ...

  5. java基础练习题(for,switch,while,基本数据类型和引用数据类型的联系)

    1.打印输出字符串"HelloWorld". /*1.打印输出字符串"HelloWorld". */ public class zuoye_01 {public ...

  6. Java基础练习题_05

    第一题:看程序说结果,请不要提前运行? public class Test01_01 {public static void main(String[] args) {int x = 1,y = 1; ...

  7. Java基础练习题11--[已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数 2008 北京奥运会男足参赛国家:]

    已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组,每组4只球队.采用List集合和随机数;2008 北京奥运会男足参赛国家:科特迪瓦,阿根廷,澳大利亚,塞尔 ...

  8. JAVA集合 ==> JAVA基础练习题 - 集合练习十道题

    1.产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台. public class Test {public static void ma ...

  9. Java基础练习题7--【猜拳游戏,模拟双色球功能,统计词语次数,判断大写字母,敏感词过滤程序】

    文章目录 1.猜拳游戏 2.模拟双色球摇奖功能 3.统计某个词语的出现次数 4.判断输入的字母是否为大写字母 5.编写敏感词过滤程序 1.猜拳游戏 1表示石头,2表示剪刀,3表示布 接收用户输入的拳 ...

  10. Java基础练习题 已知长方体的长、宽、高分别是a、b、c,求其表面积和体积。

    目录 1.代码思路 2.代码实现过程 2.1.获取用户输入 2.2.计算结果并输出 3.完整代码 1.代码思路 先通过用户键盘输入获取三个数,分别为长.宽.高,然后通过长方体表面积和体积计算公式进行计 ...

最新文章

  1. IBM人工智能将“掌舵”全球首个跨大西洋自主驾驶船舶
  2. Webpack构建library时的踩坑经历
  3. 【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...
  4. python中if __name__ == __main__的解释
  5. MySQL exists后面的子查询使用
  6. 弱事件 WeakEvent
  7. linux 下删除文件夹(文件夹不为空时)
  8. nssl1231-Gift【01背包,dp】
  9. 如何在ASP.NET Core中上传文档
  10. 停车还能360全方位影像_2020款新途锐锐享版上市,智能泊车360全景影像加量不加价...
  11. 快速配置vs2012+opencv
  12. c语言名著摘抄——语法及实例
  13. SDLC - 螺旋模型
  14. UA OPTI512R 傅立叶光学导论21 菲涅尔衍射与夫琅禾费衍射的例子与图像
  15. 74ls138和与非门设计全减器_用74ls138和门电路设计1位二进制全减器
  16. 12 序列化器Serializer的使用
  17. http协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么?列举常见错误码及含义
  18. FDD与TDD的区别
  19. Vue项目实战05:18n实现多语言自动切换-浏览器语言设置
  20. 4G内存适合装哪个版本matlab,4G内存装win7 32位还是64位|单条4G内存选32位还是64位系统性能实测...

热门文章

  1. 智慧交通day02-车流量检测实现13:基于虚拟线圈法的车辆统计+视频中的车流量统计原理解析
  2. 泛微OA的http接口创建
  3. foobar2000 播放dsd 512
  4. VB脚本:快速入门教程
  5. 以企业入侵检测日志分析为场景漫谈大数据安全
  6. 世上最齐全黑链(隐藏链接)代码大全
  7. 用 Python 自动定时发微博
  8. 计算机病毒与恶意代码期末总结
  9. 友盟分享失败后有回调吗_友盟分享成功回调问题
  10. 微pe工具箱是微软的吗_微PE:装机不求人,教你制作最纯净的PE安装系统