计算长方形的周长和面积(类和对象) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 设计一个长方形类Rect,计算长方形的周长与面积. 成员变量:整型.私有的数据成员length(长).width(宽): 构造方法如下: (1)Rect(int length) -- 1个整数表示正方形的边长 (2)Rect(int length, int width)--2个整数分别表示长方形长和宽 成员方法:包含求面积和周长.(可…
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实际地实现,一般的面向过程是从上往下步步求精. 例如:如果你要吃饭,那需要:“买菜-洗菜-做饭-吃饭”等等,一步一步的来设计,就是面向过程…
4类和对象 在第一章曾经简单介绍过,在面向对象的世界里,一切事物皆对象,当解决一个问题的时候,我们先会考虑这个问题会涉及到哪些事物,然后把事物抽象成类,当时还画了一张图如下: 从本章开始,我们一点一点来剖析类的世界,带领大家一起进入类的海洋. 4.1初识类和对象 4.1.1什么是类 其实在现实世界当中,类并不陌生.比如我们把自己称为人,把花花草草称为植物,把用的手机电脑称为电器,把坐的汽车地铁称为交通工具等等.这些称呼其实就是在把事物进行分类.有的时候,还会根据特定的需要,把这些事物往下进行细化…
4.3一个完整的例子带你深入类和对象 到此为止,我们基本掌握了类和对象的基础知识,并且还学会了String类的基本使用,下面我想用一个实际的小例子,逐步来讨论类和对象的一些其他知识点. 4.3.1需求及分析 大失叔比较喜欢打麻将,毕竟是国粹嘛,哈哈!因此我打算用一个“自动麻将桌”的小程序来探讨(我相信你们大多数也都会打,如果实在不会,自己百度科普下吧).需求很简单,说明如下: 一共136张麻将牌 西施.王昭君.貂蝉.杨贵妃4个人玩 座位东固定为庄家 程序开始运行后,4个人随机落座在东南西北座位,…
4.6类路径 4.6.1什么是类路径 前面我们讨论过包,知道字节码文件最终都会被放到和包名相匹配的树状结构子目录中.例如上一节的例子: 其实类还有一种存放方式,就是可以归档到一个jar文件中,jar文件其实就是把字节码文件连同子目录一同归档到一个压缩文件中.jar文件是使用zip格式压缩的,我们可以使用zip程序来查看和解压jar文件.其实Java自带的类库就是jar文件.例如JRE安装目录jre/lib和jre/lib/ext下就有很多jar.我们看一下jre/lib/rt.jar的结构: 我…
随笔:随着最近工作需要,回首需要涉及到一些精确的数据计算,就需要用到Bigdecimal,索性就趁着闲暇之余整理收集一下关于Bigdecimal的使用方法,由于时间的原因,整理的并不是特别详细,但相信一般用到的也应该的都整理到了,若是有疏漏之处,请小伙伴们提出,感谢大家的支持. 一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理…
Date类 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis()  返回值long类型参数 用于获取当前日期的毫秒值 时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 注意:时间和日期的计算,必须依赖毫秒值 //创建日期对象,把当前的毫秒值转成日期对象 Date date = new Date(1607616000000L); System.out.println(date); /…
4.2String类 这一节,我们学习第一个类:String类.String翻译成汉语就是“字符串”,是字符的序列.我们知道,在Java中,默认采用Unicode字符集,因此字符串就是Unicode字符的序列.例如字符串“Java大失叔”,就是由7个Unicode字符‘J’.‘a’.‘v’.‘a’.‘大’.‘失’.‘叔’组成.在JDK中,把字符串抽象成一个类String提供给我们使用.String类在java.lang包中. 4.2.1构造String对象 上面我们说了,想看电视得先买一台电视,…
4.4方法参数及传递 关于这个知识点,我想了很久该不该在这里阐述.因为这个知识点稍微有点晦涩,并且就算不了解也不影响用Java编写代码.不过笔者刚开始工作的时候,就是因为这块内容没有过多的关注,以至于相当于长一段时间对这块内容都模糊不清甚至误解.我相信你们都比我悟性高,因此决定还是先拿出来讨论. 我们知道,一个方法一般由修饰符.返回值.方法名和参数列表构成.这里我们主要讨论方法的参数.看一个例子: // 构造方法 public Mahjong(int type, int number) { th…
4.5包 前面我们已经听过包(package)这个概念了,比如String类在java.lang包下,Arrays类在java.util包下.那么为什么要引入包的概念呢?我们思考一个问题:java类库提供了上千个类,我们很难完全记住他们,如果我们编写了一个类,类名和类库中的某个类名字重复了怎么办? 其实一个操作系统的文件系统也会遇到类似的问题,那么windows系统如何解决的?这个你肯定知道,就是采用目录层次结构.我们把硬盘分成很多分区,例如c盘.d盘等,这个叫做根目录.然后再一级一级的建立文件…