章节
第1章:认识JAVA 第二章:基础语言第三章:程序流程
第四章:数组第五章:类与对象
知识点
java语言的特点:简单,分布式,面向对象,安全性,与平台无关,健壮性
JVM的概念: JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟
机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码
时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
GC(java垃圾回收机制):当程序员创建对象时,GC就开始监控这个对象的地址、大小以及
使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确
定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有
责任回收这些内存空间。可以。程序员可以手动执行(),通知GC运行,但是Java语
JAVA程序从编写到运行:java源文件通过编译器编译生成字节码文件,再有解释器
<执行将字节码译成本地机器代码
Java常用的命令:javac ,java ,javadoc(生成javaAPI文档), ,jar(java打
JDK的配置环境:java_home=jdk路径(C:\Program Files\Java\jdk1.6.0_10;)//path=javac和java
命令所在的目录。(C:\Program Files\Java\jdk1.6.0_10\bin;)//classpath=存放字节文件的目录
dt.jar和tools.jar。(可以不配置)( C:\Program Files\Java\jdk1.6.0_10\lib\dt.jar;
C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar;))
关键字:public private,static,void。。。。。。。。
标识符:字母、数字、“-”、$,必须以字母、“-”或$开头
注释://注释内容;/*注释内容*/可以占多行;/**注释内容*/。可以占多行(javadoc)
分隔符(separator):分隔符用于分开两个语法成分,不同的语法成分使用不同的分隔符。
有空格、分号、逗号
数据类型:基本数据类型(数值型、字符型、布尔型);引用数据类型(数组、接口、类)
JAVA表达式:赋值,算术,关系,逻辑,位运算
类型转换:基本转换(由小到大);强制转换(由大到小)
熟记常用ASCII值:
顺序结构:表达式语句,空语句,复合语句
选择结构:if……else;switch
循环结构:while语句(“先判断后执行”,循环条件永远为true应避免出现死循环);do-
while语句(先执行后判段);for循环:
<;表达式1>给循环变量赋初值;
<;表达式2>给出循环条件,结果为布尔值;
<;表达式3>给出循环变量的变化规律,通常是递增或递减的
专业语句:return语句:功能是从当前方法中退出,并返回到调用该方法的语句处继续执行程
序,同时将方法中的运行结果也带回到调用方法中。 break语句 :switch中用到的(已介
绍),用来中止一个语句序列。break可以用来退出一个循环,带标号的break跳出标号表示的
循环体。continue语句:用来略过并跳到本次循环体的结尾,结束本次循环,回到循环条件,
继续判断是否执行下一次循环。 即如果想循环继续,但是要忽略本次重复剩余的循环体语句
for-each语句:逐个处理(遍历)数组或集合中的所有元素。
递归调用:自身调用自己(例如求5!)
数组可以存储基本类型,也可以存储引用类型;
数组如果没被初始化则为null,数组如果没被显式初始化,则会自动初始化。其中的值与数
组元素类型的默认初始化值相同;
数组可以有多维的,但是,一维数组要比多维的快很多。在对效率要求很高的程序中,一般
都不用多维数组,需要用的时候,也常常将多维数组转换为一维的存储方式;
数组的声明不能使用泛型,其实也没必要在数组上使用泛型;
数组初始化的方式:1.系统默认自动初始化:比如int[] a = int[3]; 实际上与int[] a= {0,0,0}相
同;2.显式指定初始化
java接口有没有构造方法int[] a= {0,0,0};int[][] a1 = {{1,2,3},{4,5,6}};3.使用工具初始化int[] c = new
int[3];Arrays.fill(c,3)
数组的运用:Arrays类是一个非常有用数组工具类,里面有很多工具方法,检索、填充、排序、比较、toString
数组的排序:冒泡排序法;快速排序法
int mp[]={9, 5 ,6, 2 ,4, 8, 7 ,3 ,1};
for (int i=0;i<9 ;i++ )
{
for (int j=0;j<9 ;j++ )
{
int temp;
if (mp[i]<mp[j])
{
temp=mp[j];
mp[j]=mp[i];
mp[i]=temp;
}
}
}
扩展 Arrays的sort快速排序(二叉树)
数组的二分法查如右图:
面向对象的核心特征:万物皆对象;程序是对象的集合,它们之间通过消息通信;每个对象都有自己的有其他对象所构成的存储;每个对象都拥有其类型;某一个特定类型的所有对象都可以接受
封装性:
并尽可能隐蔽对象的内部细节;封装的原则在软件上的反映是要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。继承性:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承,一般类为父类(superclass,超类),特殊类为子类(subclass);继承可提高代码的重用性,使用extends关键字来实现。除了构造方法之外,父类的所有方法和属性都被子类的对象继承
多态性:对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。抽象性:抽象类不能被实例化,构造方法和 static 方法不能是抽象的,类:java中的一种重要的复合数据类型,是组成java程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的原形。一个类的实现包括两个部分:类声明和类体
成员:成员变量;成员方法 (方法的实现包括两部分内容:方法声明和方法体); 方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合java中的值传递:对于简单数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。
this的用法:为了区别参数和类的成员变量,我们必须使用this,this-----用在一个方法中引用当前对象,它的值是调用该方法的对象。返回值须与返回类型一致,或者完全相同,或是其子类。当返回类型是接口时,返回值必须实现该接口
重载与重写(多态的表现):方法重载是指多个方法享有相同的名字,但是这些方法的参数必须不同;方法的重写子类和父类的方法具有相同的名称和类型,用子类对象调用子类中的重写方法,还可用hodname() 用于调用父类中的方法
构造方法:构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象,具有和类名相同的名称,而且不返回任何数据类型,重载经常用于构造方法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。