因为自己考试的缘故嘛,所以考前整理出一套复习资料,用于进入考场前最后一次复习用

主方法

public static void main(String[] args) {
      // 在这里输入代码
   }
}

优先级

优先级如下,优先级从高往低排列
a) ()
b) ! , ++ , -
c) * , / , %
d) + , -
e) < , > , <= , >=
f) == , !=
g) &&
h) ||
i)= , += , -= *= , /= , %=

随机数

math.random();

随机数公式:
lowValue≤ x < highValue:
double x = (highValue - lowValue) * Math.random() + lowValue;

public class 类名 {
//类的内容
}

方法

public/private + 可能有 static 关键字 + 返回值类型 + 方法名(形式参数列表){
  方法体
}

static关键字
带有static关键字定义的方法被称为静态方法(static method)实际上也被称为类方法(class method)。相反,不带有static方法的就被称为实例方法了。静态方法并不随着我们的对象的创建才能使用,静态方法是与对象无关的。静态方法能够直接通过类的调用来使用。换句话说,实例方法是面向实例,也就是对象的(对象就是类的实例),而静态方法是面向类的。

对象

类名 变量名 = new 类名();

流程控制

while 循环

while( 布尔表达式 ) {
  //循环内容
}

do…while 循环
这种循环至少会执行一次才判断布尔表达式

do {
       //代码语句
}while(布尔表达式);

for循环

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

遍历数组循环

//声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。
//表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
for(声明语句 : 表达式)
{
   //代码句子
}

break 关键字
跳出循环

break;

continue 关键字
结束当前循环,进入下一次循环

continue;

if...else

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

多态

当Java程序在执行时,具体执行多态方法的哪一种形态,则取决于,调用这一方法的对象,实际指向的对象类型(也就是在new语句后紧跟着的类型),而不是这一对象引用的对象类型(也就是在new语句中,实际对象前面的那个类型 )。
//假设getID()方法是GradStudent类中特有的一个public实例方法,没有在Student类中被定义,GradStudent类继承自Student类。

Student student = new GradStudent();
GradStudent gradstudent = new GradStudent();
Student student2 = new Student();
int x = student.getID(); //编译时错误
int y = gradstudent.getID(); //正常运行
int z = student2.getID();//正确student对象无getID() 方法,这不是多态 无法调用

接口

//创建接口
public interface 接口名
{
  //内容
}

//实现接口
public class 类名 implements 接口名{
//类的内容
}

Object类

toString()
//把对象内容以String型返回的方法。

equals()
//比较内容的方法

Sring类

int length()
//以int型返回字符串的长度。

String substring(int startIndex)
//抽取startIndex位置到字符串末尾的字符串

String substring(int startIndex, int endIndex)
//抽取startIndex位置到endIndex的字符串(包括startIndex位置的字母,不包括endIndex位置的字母)

int indexOf(String str)
//该方法的作用是,返回一个子字符串的第一个字符在原字符串中的位置。

compareTo()
//该方法用于按字典顺序比较两个字符串。
//先比较对应字符的大小(ASCII编码),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较
//如果参数字符串等于此字符串,则返回值 0; 如果此字符串小于字符串参数,则返回一个小于 0 的值; 如果此字符串大于字符串参数,则返回一个大于 0 的值。

瀑布模型

1.程序需求分析
2.程序设计
3.程序编写
4.调试和测试

bug类型

编译错误(compile-time error) 指的是在编译时的错误。比如语言使用错误,调用错误,缺少符号等。
运行错误(run-time error) 是指编译时未报错,但是运行时出现的错误。比如子类函数在调用父类函数时出现的问题,数据中分母为0,无限循环.在Java中,这些错误都会以Exception的方式抛出(throws)。
逻辑错误(intent or logic error) 是并没有明显提示,程序可以正常运行。但结果并不是我们想要的。

开发方式

自下而上开发(bottom-up):写多个零散的代码块,再逐渐组合连接关系。
自上而下开发(top-down):写出主体块,再分解为多个零散的代码。

数组

//定义数组
double data[];
double[] data;
//赋值
data = new double[15];
//定义并赋值
double[] data = new double[15];
//数组长度
arrayName.length

动态数组

//构建
ArrayList<E> name = new ArrayList<E>();

//增加数据
boolean add(E obj);

int size();
//返回list中的元素数量

E get(int index);
//返回在index的元素

E set(int index, E element);
//把在index位置的元素换成element,返回原先在index的元素

void add(int index,E element);
//在index处加入element,把index处及其之后的元素都会向后移动1个位置。List的大小增加1。

E remove(int index)
//删除在index位置的元素,返回原来index位置的元素。在index位置后的元素会向前移动1个位置。List的大小减一。

二维数组

E[][] name = new E[a][b];
//其中,E是类型名,a、b是数组的长度。

name[r][c];
//r代表row行,c代表列。

包装类

//声明一个Integer对象
Integer num = 10;
//以上声明就是使用了自动封包,等价于:
Integer num = new Integer(10);

词汇表

英文 中文
Assume 假设
Expression 表达
represents 代表
correct 正确
executing 实施
parameters 参数
evaluating 估计
segment 分割
declaration 声明
private 私有的
protected 受保护的
public 公共的
abstract 声明抽象
class
extends 继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
new 新,创建
static 静态
break 跳出循环
continue 继续
else 否则
for 循环
if 如果
instanceof 实例
return 返回
while 循环
import 引入
package
boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
super 父类
this 本类
void 无返回值
null

信任是利益的武器,捅伤别人,保护自己。