20页 编辑HTML文件
28页 基本数据类型,直接量和变量。
java基本数据类型只有8种。即布尔值(boolean),字符(char),字节(byte),短整数(short),整数(int),长整数(long),单精度浮点(float)、双精度浮点(double)。
null直接量
标示空的引用值,不指向任何对象。
变量
java的变量一般有四个基本属性:变量名、数据类型、储存单元、变量值。
变量名和数据类型没啥好说的。
每一个变量都拥有一个存储单元。存储单元的大小由数据类型决定。在变量的纯粗单元中存放的事该变量的变量值。
如果变量值的数据类型是基本数据类型,那么该变量的储存的是具体的数值。
如果变量值的数据类型是引用数据类型,则在变量的存储单元中存放的事引用值。引用值指向的是一个具体的变量。
java在使用一个变量之前,必须线定义该变量。
定义后需要对变量进行初始化。
初始化之前,该变量的存储单元中存放的内容是该变量的初始值。引用类型的变量初始值是null。
37页 布尔逻辑运算符
布尔逻辑运算符包括:&&、&、||、|、!和^ 操作数要求是布尔类型数据。布尔运算的结果是布尔类型值。采用枚举的方法列出布尔运算所有可能输入和输出结果的表格称为真值表。如下图
计算1到100的和.
int counter = 1;
int sun = 0 ;
while (counter<=100){
sun += counter;
counter++;
}//while循环结束
System.out.println("counter="+counter+",sun="+sun);
68页 实例对象生命周期的例程。
类的实例化对象的生命周期包括实例对象的创建、使用、废弃以及垃圾的回收,
class J_book{
public int m_id; //书的编号
public J_Book(int i){
m_id = i;
} //J_Book的构造方法结束
protected void finalize(){
switch (m_id){
case 1:
System.out.println("《飘》");
break;
case 2:
System.out.println("《java程序设计教程》");
break;
case 3:
System.out.println("《罗马假日》");
break;
default:
System.out.println("未知书籍");
break;
} //switch 语句结束
System.out.println("所对应的实例对象存储单元被回收");
} //方法finalize结束
} //类J_Book 结束
77页 动态多态性
动态多态性指的是在子类和父类的类体中均定义了具有基本相同声明的非静态成员方法。
96页 3.8 内部类
面向对象程序设计中,可以在一个类的内部定义另一个类。嵌套类分为两种,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。内部类是JAVA语言的主要附加部分。内部类几乎可以处于一个类内部任何位置,可以与实例变量处于同一级,或处于方法之内,甚至是一个表达式的一部分。
122页 多维数组。
一维数组给出的结论:数组元素的类型可以是Java语言允许的任何数据类型。当数组元素的类型是数组类型时,就构成了多维数组,多维数组变量的声明格式是:
(1)数组元素的数据类型[ ] [ ] .....[ ] 变量名;
(2)数组元素的数据类型 变量名 [ ] [ ] .....[ ] ;
其中方括号的个数即为数组的维数。例如:
int [ ] [ ] matrix;
上面的语句声明了二维数组变量matrix。
140+页 StringBuffer字符串缓冲区
StringBuffer是一个容器,且长度可变,
可以直接操作多个数据类型,数组只能操作一种
最终结果为字符串
字符串的原理就是通过该类实现的1.添加 2.删除 3.获取 4.修改
StringBuffer(字符串缓冲区) - 小艾斯 - 博客园
153页 创建哈希表实例对象
。。。。。。
163页 泛型
public class GenericTest {
public static void main(String[] args) {
List list = new ArrayList();
list.add("qqyumidi");
list.add("corn");
list.add(100);
for (int i = 0; i < list.size(); i++) {
String name = (String) list.get(i); // 1
System.out.println("name:" + name);
}
}
}
定义了一个List类型的集合,先向其中加入了两个字符串类型的值,随后加入一个Integer类型的值。这是完全允许的,因为此时list默认的类型为Object类型。在之后的循环中,由于忘记了之前在list中也加入了Integer类型的值或其他编码原因,很容易出现类似于//1中的错误。因为编译阶段正常,而运行时会出现“java.lang.ClassCastException”异常。因此,导致此类错误编码过程中不易发现。
在如上的编码过程中,我们发现主要存在两个问题:
1.当我们将一个对象放入集合中,集合不会记住此对象的类型,当再次从集合中取出此对象时,改对象的编译类型变成了Object类型,但其运行时类型任然为其本身类型。
2.因此,//1处取出集合元素时需要人为的强制类型转化到具体的目标类型,且很容易出现“java.lang.ClassCastException”异常。
网友评论