计算机作为当前最被看好的一大专业领域,很多同学们在AP课程学习期间会选修AP计算机科学课程补习这门课来帮助自己打好知识基础。那么AP计算机科学课程补习有哪些知识点梳理?
1. Introductory Java Language Features
Package And Classes 类和包
public class FirstProg // file name is FirstProg.java { public static type1 method1 (parameter list) {} public static type2 method2 (parameter list) {} ...... public static void main (String[] args) {} }
All java methods must be contained in a class; all program statement must be placed in a method
The class that contains the main method does not contain many additional methods.
reserved words (Keywords): class, public, static, void, main.
public: the class or method is usable outside of the class
static: methods that will not access any objects of a class. The main method must always be static.
Types And Identifiers 标识符和类型
Identifiers 标识符
Identifier: name for a variable, parameter, constant, user-defined method, user-defined class
cannot begin with a digit
Lowercase: for variables and methods
Uppercase: separate into multiple words e.g getName, findSurfaceArea
a class name starts with a capitol letter
Built-in Types 内置类型
int - 整数 boolean - true or false double - 小数
Storage of Numbers 数值储存
Integers 整数 binary Integer.MAX_VALUE == 2^31-1 Integer.MIN_VALUE == - 2^31 Floating-Point Numbers 浮点数 float double
sign * mantissa * 2^exponent
round-off error - when floating-point numbers are converted into binary, most cannot be represented exactly
e.g 0.1*26 ne; 0.1+0.1......(26 terms)
NaN"not a number" - undefined number
Hexadecimal Numbers 十六进制数
conversion between hex and binary 5 hex = 0101 bin F hex = 1111 bin 5F hex = 01011111 bin
Final Variable Final变量
user-defined constant
keyword final
e.g. final double TAX_RATE = 0.08;
final variable can be declared without initializing it immediately, but can only be given just once
array bound
final int MAXSTUDENTS = 25;
int [] classList = new Int[MAXSTUDENTS];
Operators 运算符
Arithmetic Operators 算数运算符
+ addition - subtraction * multiplication /devision %mod(remainder)
Relational Operators 关系运算符
== equal to != not equal to > greater than < less than >= greater or equal to <= less than or equal to
Relational Operators can only be used in comparison of primitive types.
User defined types : equals, compareTo methods
floating-point should not be compared directly using relational operators.
Logical Operators 逻辑运算符
! NOT AND || OR Short-circuit evaluation evaluated from left to right evaluation automatically stops as soon as the value of the entire expression is known
Assignment Operators 赋值运算符
Compound assignment operators : = += -= *= /= %=
Increment and Decrement Operator 递增递减运算符
++ --
Operator Precedence 运算符的优先级
!, ++ , -- right to left
* , / , % left to right + , - left to right <,>, <=,>= left to right == , != left to right || =, +=, -+, *=, /=, %= right to left
Input/Output 输入输出
Escape sequences 转义字符
newline " double quot backslash
Control Structures 控制结构
Decision-Making Control Structures 条件结构
if...
if...else...
nested if
extended if (if...elseif...)
Iteration 循环结构
for loop
for (initialization; termination condition; update statement)
The termination condition is tested at the top of the loop
the update statement is performed at the bottom
loop variable should not have its value changed inside the loop body
the scope of the loop variable can be restricted to the loop body by combining the loop variable declaration with the initialization.
for-each loop
for (SomeType element : collection)
cannot be used to replace or remove elements
hides the index variable that is used with array
while loop
while (boolean test)