Java程序基本结构
一个Java程序(类)是一个函数库,或者定义了一个数据结构。
要执行一个Java程序,首先需要用javac命令编译它(生成一个.class文件,含有这个程序的字节码),然后再用java命令运行它。
原始数据类型
整型(int),浮点型(double),布尔型(Boolean),字符型(char)
每个变量都有自己的类型并存储了一个合法的值
用+,-,*,/,!,&& ,||,^等运算符来实现对各种类型的操作。
运算符是被重载过的,根据上下文,同样的运算符对不同类型会执行不同的操作。运算产生的数据类型和参与运算的数据的数据类型是相同的。(若参与运算的数据类型不同,则向上转换)
数组
数组能够顺序存储相同类型的多个数据。
数组的起始索引是0。这个习惯来源于机器语言,计算一个数组元素的地址需要将数组的起始地址加上该元素的索引,第一个元素的地址 就是数组的起始地址。
过程:
1. 声明数组。数组名是整个数组的引用。
2. 创建数组。数组一经创建,大小就是固定的。
3. 初始化数组。int默认初始值为0,double默认初始值0.0,boolean默认初始值false。
二维数组就是一维数组的数组。
二维数组可以是参差不齐的(元素数组的长度可以不一致)
二维数组经创建后的大小也是固定的,每个元素数组按顺序依次存储在存储空间上,通过行和列的下标来计算对应元素的位置。
字符串
字符串是由一串字符(char)组成的。
在创建并赋值字符串时:
String s1, s2;
s1 = new String("abc");
s2 = "abc";
s1和s2存储的区域是不同的,s1是一个对象存储在堆上,s2是一个常量存储在字符串常量池中。
变量
实例变量:为该类的对象保存了数据类型的值。作用域是整个对象。
静态变量:由static修饰,该类的所有对象所共享,是类级别的变量。作用域为类的所有对象。
参数变量:由方法的签名定义,在方法被调用时参数方法会被初始化为调用者提供的值。作用域是整个方法。
局部变量:在方法的主体中定义。作用域是从被定义之后到方法结束。
方法
方法封装了由一系列语句所描述的运算。
构造方法:名称与类名相同。作用是初始化实例变量,每个构造函数都将创建一个对象并向调用者返回一个该对象的应用。
实例方法:描述了对象的行为,可以访问和操作静态变量和实例变量。通过实例才能调用。
静态方法:由static修饰,是一组在被调用时会被顺序执行的语句。可以通过类直接调用,只能访问操作类中静态变量,不能访问实例变量。
库
库大多数是静态方法库,也有部分是数据类型的定义幷包含了一些静态方法。
可以自己定义库,也可以使用外部库。
用import导入库。
抽象数据类型
数据类型:一组值和一组对这些值的操作的集合。
数据抽象:定义和使用数据类型的过程。
Java编程的基础主要是使用class关键字构造被称为引用类型的数据类型。这种编程风格称为面向对象编程。
抽象数据类型:ADT,一种能够对使用者隐藏数据表示的数据类型。它将数据和函数的实现相关联,并将数据的表示方式隐藏起来。
数据类型定义的基础是一组值的集合,但在API可见的仅是对它们的操作,而非它们的意义。
使用Java的类(class)实现抽象数据类型。
首先要定义表示数据类型的值的实例变量。之后是实现对数据类型的值的操作的构造函数和实例方法。