javaSE和javaweb 小记

学习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 捕捉异常。


集合框架: 这个非常的重要,来一张结构图:




   javaSE和javaweb 小记_第1张图片


看图回顾知识点,就会很清晰。

数组:用于存储一组相同数据类型的容器,数据类型固定,长度固定

集合:存储多个数据,数据类型不固定,长度也不固定

泛型集合:存储一组相同数据类型的数据,数据类型固定,长度不固定

/**

* 迭代算法  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而求索。慢慢来吧,以后还有大数据等着我们。






你可能感兴趣的:(java,web)