![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AP计算机科学A
Raine_Yang
这个作者很懒,什么都没留下…
展开
-
AP计算机A自学笔记:一维数组(2)
遍历数组如果只需要顺序遍历整个数组,并不进行任何修改操作,使用foreach语句。否则使用for循环不过对于对象数组,可以使用foreach时对各个对象进行修改。例一:foreach//find all even numbersint count = 0;for (int num : arr) { if (num % 2 == 0) { count++; }}例二:for循环//change all elements to 0for (int i = 0; i < arr原创 2021-08-29 12:00:56 · 116 阅读 · 0 评论 -
AP计算机A自学笔记:一维数组
一个数组是实现一列对象的数据结构,数组中所有元素类型相同对于一个N个元素的数组,数组的索引从0到N - 1。如果索引不在范围内会抛出ArrayIndexOutOfBoundsException数组属于对象,要使用new来新建,创建后数组长度固定。但是和String对象一样,可以把该数组引用指向新数组。double[] data = new double[25];double data[] = new double[25]; //c++ 的写法,不推荐doube[] data;data = n原创 2021-08-25 09:50:56 · 156 阅读 · 0 评论 -
AP计算机A自学笔记:程序分析
验证(assertions)验证是对于一个程序在任意一点的准确描述,如果验证正确,程序在这一点工作正常先决条件(precondition)一段程序的先决条件指的是正要运行之前什么为真后置条件(postcondition)后置条件是程序刚刚执行后什么为真性能算法性能从两方面考虑:1 CPU时间:需要的机器运行时间2 内存:使用变量的数量和复杂度算法效率分为最佳情况,平均情况和最差情况。由输入数据而定...原创 2021-08-23 16:32:32 · 158 阅读 · 0 评论 -
AP计算机A自学笔记:面向对象程序设计(5)
词汇小结:以下为AP考试中本章会出现的词汇software development 软件开发 写一段程序object-oriented program 面向对象编程 在编程中构造对象,并使用对象间互动program specification 程序说明书 描述一项任务和功能program design 程序设计 写一个计划,描述各任务解决方案program implementation 程序实现 实现任务的代码test data 测试值 输入数据以测试程序·pro原创 2021-08-22 12:27:32 · 147 阅读 · 0 评论 -
AP计算机A自学笔记:面向对象程序设计(4)
例二:1确定类:技巧:找出程序说明书里面所有名词,看其中哪些应该定义为类program 告诉你要写一个程序,什么都不是teacher 老师是用户schedule 应该作为外部文件存在,而非类data, record 学生信息,应作为Student类成员变量class 属于类,应该建一个classList类构建类:GradeBook ClassList Student FileHander Display分类:基本独立类:Student FileHander Score集合类:ClassL原创 2021-08-18 09:51:23 · 102 阅读 · 0 评论 -
AP计算机A自学笔记:面向对象程序设计(3)
例题1:制作一个4位数密码检测程序,该程序允许用户输入4位密码,并检测其正确性确定类:1 IDNumber:用户输入的密码2 Display:和用户交互界面3 IDMain:驱动程序确定行为:IDNumber:1把用户输入保存为int,或String,或int数组代表各个数字2检测输入是否正确Display:1读取用户输入2告诉用户密码是否正确3可能需要构建GUIIDMain:1构造Display对象2利用Display读取输入以构造IDNumber对象3得到判断是否正确原创 2021-08-15 11:56:46 · 156 阅读 · 0 评论 -
AP计算机A自学笔记:面向对象的程序设计(2)
确定类之间的关系1继承关系(inheritance relationship):如果两个类之间有共同特点和方法,并且出现一个类“是一个”另一个类,可以考虑继承关系2组合关系(composition relationship):如果一个类的属性里面出现另一个类,及一个类里“有一个”另一个类,可以考虑组合关系UML图:UML图用于表示设计的各个类之间的关系,按以下规则编写:1以长方形方块代表类,对于接口或者抽象类要标明。2向上指的空心箭头代表继承关系,如果调用接口要标为虚线3向下指的实心箭头代原创 2021-08-14 15:34:46 · 121 阅读 · 0 评论 -
AP计算机A自学笔记:面向对象程序设计(1)
面向对象程序设计包括以下步骤:1确定类2确定类的行为(方法)3确定类之间的关系4实现各个类的接口5实现类方法1确定类:可以关注程序说明书里面的名词来确定对象一般来说要实现的类包括四部分。一个底层的基本组成,一个底层组成的集合类,一个控制类操作程序流程,一个展示类和用户进行交互2确定行为:可以关注程序说明书里面的动词来确定行为。确定哪些方法应该被哪些类实现,把一些列方法和类对应的过程叫做封装(encapsulation)...原创 2021-08-13 17:17:21 · 131 阅读 · 0 评论 -
AP计算机A自学笔记:软件开发的生命周期
瀑布模型:1程序说明书(program specification):程序说明书明确描述项目,一般基于客户(或老师)的需求。第一步应该是研究并明确说明书2程序设计:设计是解决说明书里提到的功能的具体实现,包括创建的对象,数据结构,程序要实现的功能等。设计中不包含任何实际代码3程序实现:编写程序4测试和调试:要选择合适的测试数据,要包含典型数值,还要检查对错误输入的处理方式错误类型:编译时错误(compile-time error)在编译程序时发生,意味着编译器无法把程序转换为字节码,会显示原创 2021-08-13 16:55:05 · 82 阅读 · 0 评论 -
AP计算机A自学笔记:Math类
Math类提供了运算符如绝对值,平方,开方,三角函数,对数等,还包括π和e等常数实例程序:package standardClasses;import static java.lang.Math.*;/*the statuc import construct allows you to use the static methodof a class without the class name refix */public class TheMathClass { public st原创 2021-08-08 11:41:56 · 248 阅读 · 0 评论 -
AP计算机A自学笔记:Double类
Double类是double基础数据类型的封装类。一个Double类对象只包含一个double类变量Double类方法类似于Integer类Double (double value)以一个double变量构建一个Double对象(封装)//此方法已经过时了,但AP要考double doubleValue()返回Double对象含有的double值(解封)int compareTo(Double other)如果两double值相等返回0,大于返回正数,小于返回负数boolean eq原创 2021-08-06 16:12:23 · 186 阅读 · 0 评论 -
AP计算机A自学笔记:Integer类
封装类封装一个基础数据类型或对象,并且为该类型提供一系列新方法。它可以用在需要对象作为参数的泛型,或者需要类型为对象的容器类封装类可以从一个变量构造一个对象,也可以从封装对象中检索基础数据类型变量。Integer类Integer类封装int型,一个Integer对象只保存一个int变量Integer(int value);构建一个Integer对象(封装)(此方法在第9版后已经弃用了,不过AP要考,所以不能不了解)int compareTo(Integer other);如果两个Inte原创 2021-08-02 12:04:15 · 162 阅读 · 0 评论 -
AP计算机科学A自学笔记:String类(2)
比较String对象有两种方法比较String对象:1使用String类覆盖的Object类的equals方法,返回true如果两个String对象字符串相同,否则返回falseif (string1.equals(string2))2使用compareTo方法,compareTo方法把string按照ASCII表的顺序逐字符比较,ASCII表中数字顺序先于大写字母,大写字母先于小写字母。compareTo比较时如果两个字符串的字符不相同,返回第一个不相同字符ASCII差值,如果字符相同但是长度原创 2021-07-19 09:02:34 · 153 阅读 · 0 评论 -
AP计算机自学笔记:String类
String(字符串)对象是不可改变的,意味着没有方法在构建后改变该字符串,不过可以构建一个新的String对象来替代String构建方法可以和基础数据类型一样String s = "abc";相当于String s = new String("abc");修改字符串:String s = new String("John");s = new Str等同于String s = new String("John");s = new String("Harry");这和String原创 2021-07-12 12:06:02 · 149 阅读 · 0 评论 -
AP计算机自学笔记:Object类
Object类被称为普遍超类,所有类会自动继承Object。Object里有很多方法,所有其他类都会继承。因为Object不是抽象类,其所有方法都有实现。AP考试涉及的方法:toString和equals如果直接调用默认toString方法,会输出该对象虚拟地址。要让toString有意义,必须在自己的方法里重载它。示例:public class OrderedPair { private double x; private double y; //constructor and原创 2021-07-11 12:18:55 · 175 阅读 · 0 评论 -
AP计算机A自学笔记:Comparable接口
Comparable接口用于对象的比较,任何使用Comparable接口的类必须提供compareTo方法。这个方法返回一个整数代表两个对象差值。如果相比较的两个接口类型不可比,会抛出ClassCastExceptioncompareTo应用例子package inheritanceAndPolymorphism;import java.util.*;public abstract class Shape implements Comparable{ private String name原创 2021-07-05 18:31:41 · 141 阅读 · 0 评论 -
AP计算机A自学笔记:接口
接口是一组相关方法的集合,包括实体方法和抽象方法。执行一个接口的可以说多个类,包含多个不同对象。但是接口的方法表现了这些类的一些共同功能。比如一个接口叫“飞行物”,执行这个接口的类可能有“鸟”,“飞机”, “火箭”, 他们可能有共同方法“Fly”。...原创 2021-07-05 17:55:40 · 136 阅读 · 0 评论 -
AP计算机A自学笔记:抽象类
抽象类使用关键字abstract定义,如果一个类里有任何抽象方法,此类必须定义为抽象类抽象类包括抽象方法,抽象方法没有任何实际内容,这些方法的具体功能由继承它的子类实现抽象类的子类必须把超类里的所有抽象方法全部具体化,否则此子类也要定义为抽象类例public abstract class Shape { private String name; //constructor public Shape(String shapeName) { name = sha原创 2021-03-28 23:30:25 · 150 阅读 · 0 评论 -
AP计算机A自学笔记:类型兼容性
把超类对象转换为子类对象叫做向下转换public class TyoeCompatibility { public static void main(String[] args) { // TODO Auto-generated method stub Student s = new GradStudent(); GradStudent g = new GradStudent(); /* int x = s.getID(); this method is incorrect beca原创 2021-03-28 11:11:32 · 175 阅读 · 0 评论 -
AP计算机A自学笔记:多态
在至少一个子类里重载的方法被视为多态。java程序在运行时会自动为对象选择正确的方法,这叫做动态绑定(后期绑定),而在执行之前编译器通过分析重名函数参数等特点来选择正确方法被称为静态绑定(前期绑定)...原创 2021-03-28 10:30:19 · 134 阅读 · 0 评论