第0讲(00:34:)
1、 java se、java ee、java me
a) java面向对象编程
b) java图形界面
c) java数据库编程
d) java 文件io流
e) java网络编程
f) java 多线程
第1讲(1:04:39)
1、 java开发工具
a) 记事本:
b) Jcreateor
c) Jbuilder
d) Netbean
e) eclipse
2、 java语言的特点
a) 简单的
b) 面向对象的
c) 跨平台的
d) 高性能的
3、 JDK
a) Jre(java运行环境)
b) Java的工具包(如:java编译器、java解释执行器)
c) Java的类库(3600多个,常用150多个)--JDK API 1.6.0
d) JDK配置:PATH= ;
4、 Hello Work
a)
5、 JAVA虚拟机(JVM)
第2讲
1、 类型占用内存空间:
a) Int:4个字节;
b) Long:8个字节;
2、 一个程序就是一个世界
a) 变量
3、 java基本数据类型
a) 整数类型
i. Byte:一个字节,-128到127 ----(-2(n字节*8)次方至2(n字节*8)-1)
ii. Short:两个字节,-32768到32767
iii. Int:四个字节,
iv. Long:八个字节。
b) 小数(浮点)类型
i. Float:
ii. Double:
c) 布尔类型
i. Boolean:false or true。
d) 字符类型
i. Char:单个字符。
ii. Char char1=’q’;
iii. int test1=’a’+’b’;----转化为ASCII,再相加 97+98=195
iv. char test2=’a’+’b’;----字符‘195’在ASCII越界,输出:?。
1. 在JAVA中,对char进行运算的时候,直接当做ASCII码对应的整数对待。
v. char test3=’中’。---中方使用unicode码表示。
4、 定义变量、初始化变量、赋值。
5、 基本数据类型的转换
a) Int a=1.2;违反数据从高精度向低精度转化的原则。
i. Byte--精度从低向高。
b) float a=3.4;在java中,小数据默认为double类型。
c) int a=(int) 1.2 ;int b=(int) 1.9 。
d) int a=1;double b=4.5;a=b。
e) int a=3;int b=a+3.4
i. 当一个整数和一个double运算的时候,运算结果会向高精度转。
第3讲(49:54)
1、 a++与++a
a) int a=3;int b= ++((++a)--);
2、 三大流程控制
a) 顺序控制
b) 分支控制
i. 单分支
ii. 比分支
iii. 多分支
1. swith语句;break跳出break。
c) 循环控制
第4讲(1:00:10)
1、 swith:
a) swith中的可用数据类型主要:允许byte,short,int,char,enum等。
2、 循环控制
a) For循环
i. For(int i=0;i<10;i++)
b) whlie循环
i. while(){i++;}
c)do while循环
i. do{i++;}while(i<10)
3、 金字塔
第5讲(00:34:33)
1、 类与对象
a) 类
i. 属性
ii. 方法
b) 类和对象的区别和联系
i. 类是抽象,概念的,代表一类事物;
ii. 对象是具体的,实际的,代表一个具体事物;
iii. 类是对象的模板,对象是类的一个个体、实例。
c) 如何定义类
i. Package包名
ii. class类名
iii. extends父类
iv. interface接口名
d) 如何创建对象
2、 成员变更和成员方法
3、 构造方法
第6讲(00:53:15)
1、 如何创建对象
2、 对象存储
3、 成员方法:
a) 每调用一个方法,会新开一个栈用于新方法使用空间。
第7讲(00:44:53)
1、 类成员方法的声明:没有函数体
2、 类成员方法的定义:
3、 9*9法则;二维数组转置。
4、 构造方法
a) 方法名和类名相同
b) 没有返回值
c) 构造方法作用是完成新对象的初始化
d) 创建一个类的新对象时,系统会自动的调用该类的构造方法
e) 每一个类都有一个默认构造方法
f) 一个类可以有多个构造方法
第8讲(00:35:07)
1、 This变量:对象的成员变更,区别于成员的参数。
2、 类变量/类方法
a) 类的变量:static int total=0;
b) 所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值。
3、 面向对象-四大特征:抽象、封装、继承、多态
第9讲(01:09:08)
1、 静态区域块:static { i++;} 静态区域块,只执行一次。不管是否创建对象。
2、 类方法:public static int getTotalFee(){ return totalFee;} 调用方法为:类.类方法或者对象名.类方法。但是类.类方法 效果更高,资源更少。
3、 JAVA规则:
a) 类变量原则上用类方法去访问;
b) 类方法不能访问非静态变量(非类变量)。
4、 面向对象编程四大特征
a) 抽象
i. 事物->类的抽象
b) 封装
i. 抽象出的数据和对数据的操作封装在一起,数据被保护在内部。
ii. 访问控制修饰符
1. 公开级别:public
2. 受保护级别:protected,对子类和同一个包中的类公开;
3. 默认级别:同一个包的类公开;
4. 私有级别:private,只有类的本身可以访问。
iii. 包的必要性
1. 区分相同类
2. 管理类
3. 控制访问范围
4. 打包命令:package com.xiaoming;
5. 常用的包:
a) Java.lang.*
b) Java.util.*
c) Java.net.*
d) Java.awt.*
c) 继承
d) 多态
第10讲(01:08:10)
1、 继承
a) 解决代码复用
b) Class 子类 extends 父类
c) 继承包括:
i. Public à子类继承为public
ii. Protectedà子类继承为protected
iii. Private à子类不可继承
d) 子类只能继承一个父类
e) Java所有类都是Object类的子类
2、 方法重载(over load)
a) 只是返回类型不一样/修饰符不一样,不能构成重载;
b) 方法的参数类型,个数,顺序至少有一项不同
3、 方法覆盖
a) 子类方法不能缩小父类的访问权限。
第11讲(00:49:20)
1、 多态
第12讲(00:37:46)
1、 多态
a) 一种引用管理多个对象
b) Animal an; an = new Cat(); an=new Dog()
2、 java允许父类的引用变量引用它的子类的实例(对象)。如:Animal an; an = new Cat()。
3、 myeclipse与eclipse的区别:
a) 只有eclipse不能开发:struts+hibernate+spring+jsp+aiax
b) Eclipse+插件=myeclipse:可以开发上面内容。
c) Eclipseme:可以开发手机应用。
第13讲(00:44:41)
1、 抽象类
a) 当父类的一些方法不能确定时,可以用abstract表示抽象,但前提此类也要定义为抽象类。同时抽象方法不能在父类中实现。Abstract class Animal{}
b) Abstract public void cry();
c) 当一个类继承的父类是抽象类,需要把抽象类所有抽象方法全部实现。
d) 抽象类不能被实例化。
e) 抽象类不一定要包括抽象方法。
2、 接口
a) 接口就是给出一些没内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
b) Class 类名 implements 接口1,[接口2]….{}
c) Interface Usb{}
d) 当一个类实现了一个接口,要该类把这个接口的所有方法全部实现。
e) 使用接口,体现多态。
i. Public void useUsb(Usb usb){}
ii. Computer com=new Computer(); com.userUsb(phone);
f) 接口原则:
i. 接口不能被实例化;
ii. 接口中所有的方法不能有主体,但抽象类可有实现的方法(接口是更加抽象的抽象类);
iii. 一个类可以实现多个接口;
iv. 接口中可以有变量,但变量不能用private和protected修饰;
1. 接口中的变量,本质上都是static的,而具是final,不管你加不加static修饰;
2. 在java开发中,我们经常把常用的变更,定义在接口中,作为全局变量使用
v. 一个接口不能继承其他类,但能继承接口
g)接口体现了程序设计的多态和高内聚低偶合的设计思想。
3、 final
第14讲(01:13:30)
1、 实现接口与继承
a) 继承是继承父类的方法,但需要其他方法,就可以通过接口来实现;
b) Java继承是单继承,区别于C++中的多继承;
c) 实现接口可以看作是对继承的一种补充;
d) 实现接口可在不打破继承关系的前提下,对某个类功能扩展,非常灵活
2、 接口实现多态
a) 前期绑定:编译的时候,就确定类型
b) 后期绑定:在运行的时候,才能确定类型
3、 final
a) 可以修饰变更或者方法;
b) 当不希望父类的某个方法被子类覆盖时,可以用fianl关键字修饰;
c) 当不希望父类的某个变量被子类修改时,也可以fianl关键字修饰,同时一个变量是fianl,则必须赋值;
d) 当不希望类被继承时,可以用final修饰
e) Final修饰变量也叫常量
4、 数组
第15讲(01:08:00)
第16讲(00:56:44)
1、 维数组
a) 数组可以存放多个同一类型的数据
b) Float arr[]=new float[6];float arr[]={1,23.3f,56};对象数组在定义后,赋值时需要再次为每个对象分配空间[即:new 对象]
c) 数组大小必须事先指定
d) 数组名可以理解为指向数组首地址的引用
e) 数据组大小:arr.length
f) 对象数组
i. Dogs dogs[]=new Dog[4];
ii. dogs[0]=new Dog();
iii. dogs[0].setName(“小黄”);
2、 排序、查找
3、 多维数组
第17讲(01:06:41)
1、 排序
a) 查找最大值:maxWeight=dogs[i].getWeight();
b) 对象判断是否相等使用:equals(),而不使用“==”
c) 排序分类:
i. 内部排序:数据都加载到内存。如:交换式排序法、选择式排序法和插入排序法
ii. 外部排序:无法全部加载到内存中。如:合并排序法和直接合并排序法
d) 交换式排序法:---运用数据值比较后,依判断规则对数据位置进行交换,以达到排序的目的。
i. 冒泡排序法:
ii. 选择式排序法:
iii. 快速排序法:
e) 打印当前时间
i. Calendar cal=Calendar.getInstance();
ii. Cal.getTime();
f) 随机产机一个0-1的数据
i. Int t=(int) (Math.random()*10000);
第18讲(00:58:34)
1、 插入式排序法:
a) 把N个待排序的元素看成为有序表和一个无序表
b) 插入排序对选择排序效率更快。
2、 交换式排序法-快速排序法
a) 对冒泡排序的改正
3、 其他排序法-选堆排序法、希尔排序法、二叉权排序法
4、 查找
a) 顺序查找
b) 二分查找
5、代码存放,main主栈遇到新方法,会相应开辟新栈以提供新方法使用。
第19讲(00:18:25)
1、 多维数组-二维数组
a) Int a[][]=new int [2][3]
第20讲(00:43:27)
1、 二进制
a) 原码、反码、补码
i. 二进制的最高位是符号位,0为正,1为负;
ii. 正数的原码,反码,补码都一样;
iii. 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0);
iv. 负数的补码=它的反码+1;
v. 0的反码,补码都是0;
vi. Java没有无符号数,换言之,java中的数都是有符号的(区别于c++的unsiged)
vii.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22630256/viewspace-1033845/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22630256/viewspace-1033845/