学习java SE快一个月了 也快两个月了,天天大量的敲代码生活,慢慢习惯了。兴趣也越来越大。总之,慢慢对java方向的很多东西都感兴趣起来,总结一下这两个月的知识吧。也算是自己的一个知识回顾。主要最近在做网站原型,就是不用框架先熟悉熟悉。天天敲代码,晚上就想放松一下,回顾回顾知识点。
首先是javaSE,是java知识的一个基础。俗话说,学好数理化,走遍天下都不怕。所以,学好j2SE 是非常重要的。
每一门语言都有历史,简单说以下: java是有SUN公司开发,后来SUN公司被Oracle公司收购。 然后就是我们的IDE,eclipse。是IBM公司的。
接着,计算机语言普遍都有 变量,常量 数据类型 运算符 流程控制语句, 循环 嵌套循环 函数 等等
java也不例外。首先变量必须在使用前赋值(最好在初始化的时候赋值)
数据类型java分为两大类: 1.基本数据类型一共有8个(每一个基本数据类型都有其对应的包装类)2.应用数据类型(对象类型)
(double这个数据类型,在计算机中其实只会近似相等,不会完全相等,因为亲精度不同),数据类型当中有类型转换(自动转换和强制转换)
其中强制转换在以后的编程当中会经常用到。
java中的运算符 有 +-*/ % 赋值运算符 自增 自减 逻辑运算符 条件运算符 还有 三元表达式 等等 (漏掉的还望补充 :-D
流程控制语句 if。。else 什么的就不说了,反正以后会经常用到的
然后就是循环结构: for循环 while循环 do...while 循环。 forecah循环 这个很总要感觉,底层有迭代器的原理,用来遍历集合什么的非常的方便
嵌套循环: 就是两重循环及以上, 经典例子: 在控制台输出如下形状
*
**
***
****
*****
代码如下:
for (inti = 1; i <=5;i++) {
for (intj = 0; j <i; j++) {
System.out.print("*");
}
System.out.println(" ");
}
函数:在java中也叫方法,非常的重要。细节就不回顾了,反正就是学好函数,对以后非常有帮助。函数的递归调用,以后写控制台的程序,会时常用到。、当时,就是基于控制台,写了一个图书管理系统。感觉递归非常的重要, 重点: 递归 不能忘记 return 。
数组: 在没有数据库之前,就是用数组来存数据写的图书管理系统。数组当中就有很多算法, 什么查找算法 冒泡排序,快速排序等等。多练习一下,我觉得
对算法的帮助还是有的。
这个系统 我是用相当于是用MVC 当中的M层写的,后说面向对象的时候回提到这个系统的具体实现
面向对象: java当中我觉得吃透面向对象,类是非常重要的,万物接对象,对象就是一个具体的东西, 有特征和行为(也就是属性和方法)
当时我还没学面向对象的时候,就写过一个简单基于控制台的图书管理系统,后面学过面向对象之后,用面向对象的思想,重新写了一遍图书管理系统2.0
就会觉得确实: 面向过程编程重复的代码非常多,而且代码的重用性很低。所以说:虽然面向对象普遍认为理解比较难(但是不乏有那些大神一看就懂的,
这里就略过了哈 ) 但是不能不说面向对象编程优点是真的大于缺点
面向对象 三大特性: 封装 继承 多态 。非常的重要,刚开始的时候我也是不能清晰的理解。知道写完图书管理系统后,对面向对象有了新的认识,也熟悉了、
他的特性; 刚才说到,我是用的MVC当中的M层写的。(用了JDBC的,数据不是再用数组存了,而是放在数据库当中的了) 也就是把代码块分为
数据访问层 dao daoImp 实体层 entity 业务逻辑层 service serviceImp (有Imp的是具体事实现,没有的表示写的接口)。所以说,java理解面向对象是非常重要的。
面向对象设计原则:
1. 单一职责:保证每个的类有一项职责
2. 里氏替换:子类能替换父类,但是父类不能替换子类
3. 依赖置换:多使用抽象函数
4. 接口分离:尽量保证接口细化
5. 开闭原则:只允许运行扩展不允许修改,
6. 迪米特:降低耦合,提高内聚
7. 组合复用:尽量多组合,少继承
然后就是各种API : 学习API 首选就是要学会看帮助手册!! 这一点也非常重要。
API类的构造函数呀 方法呀 方法的返回值, 方法的参数列表 等等。 其中比较常用的有 Math类 String 类 StringBuffer StringBuilder
I/O输入输出类!! 等等
处理异常: 有两种, 1. 直接在函数后面 抛出异常 使用throws关键字 2. 有try 。。。catch 捕捉异常。
集合框架: 这个非常的重要,来一张结构图:
看图回顾知识点,就会很清晰。
数组:用于存储一组相同数据类型的容器,数据类型固定,长度固定
集合:存储多个数据,数据类型不固定,长度也不固定
泛型集合:存储一组相同数据类型的数据,数据类型固定,长度不固定
/**
* 迭代算法 ,foreach 底层的算法就是迭代算法
*/
使用迭代器对算法进行迭代
Iteratorit = hash.iterator(); //迭代器
while(it.hasNext()){ //判断是否有下一个元素
Object o = it.next(); //获取下一个元素
System.out.println(o);
}
多线程:
使用多线程:有两种方式
1. 继承方式
a) 创建线程类,继承thread类
b) 重写run()
c) 在主函数中创建子函数
2. 实现方式:接口 Runnable
a) 创建实现接口Runnable
b) 重写run
c) 在主线程将类对象作为参数,创建线程对象。然后让线程对象调用start()
线程有五个状态: 创建 就绪 运行 阻塞 结束
一般多线程用于处理异步的过程,或者是处理时间比较长的代码
JDBC :这个不用说,重点, !!
然后就是java web :简单回顾一下: 知识点: HTML5 CSS JS 要了解
JSP ;内置对象9个 4个作用域 session request r esponse application page
实现分页操作 投票系统 验证码 实现购物车 cookie 等等 马上要开始 servlet 和el 表达式 JSTL 标签 ajax 技术
然后就是框架了 struts2 Hibernate Spring 等等。 路漫漫其修远兮呀 吾将java而求索。慢慢来吧,以后还有大数据等着我们。