Java从入门到精通复习

第一篇:Java基础

unit1 初识Java

定义:面向对象,跨平台,可编程,语言

概要:JVM-Java虚拟机     JRE-Java运行环境   JDK-Java程序开发工具包

版本:SE   EE    ME

搭建:JDK下载-配置环境-测试

 

unit2 熟悉Eclipse

添加断点:双击前面

程序调试:F6单步跳过  F5单步跳入

 

unit3 Java语言基础

主类:psvm----主方法  PS:先调用再执行

基本数据类型:byte  short int long       float double        char         boolean

变量常量:声明常量--final    成员变量:static     局部变量

标识符关键字:user_name

运算符:赋值,算数,比较,自增自减,逻辑,位运算符,三元运算符

  赋值=    相等==     三元:条件式?值1: 值2

数据类型转换:隐式:byte<shourt<int<long<float<double,低-----》高

        显式:int a = (int) 12.3;   强制性

注释://   /*    */  /**    */

添加注释:Window->Preference->Java->Code Style->Code Template ,然后展开Comments节点就是所有需设置注释的元素了!

(1)输入“/**”并回车。
(2)用快捷键 Alt+Shift+J(先选中某个方法、类名或变量名)。
(3)在右键菜单中选择“Source > Generate ElementComment”。

 

unit4 流程控制

复合语句

条件语句:if(*){

      &}else{

      &

     }     

           switch(*){

      case 常量值1:

        语句块1

        [break;]     

      default;   

        语句块n+1:

        [break;]

      }   

循环语句:初始化表达式1;

      while(布尔表达式2){

        循环体3;

        步进表达式4;

      }  //类似for循环 

      while     do{&}while(*);        for(a;b;c){&}      foreach(*){&}

 

unit5 字符串

String类:char[]型数组    byte[]型数组

    字符串常量池:String Pool  ,放在堆里

    连接字符串--获取字符串信息--indexOf()  lastIndexOf()  charAt()

String操作:substring(截取子字符串)     trim(去除空格)      str.replace(替换)    startsWith(判断)    endsWith(替换)

      equals(判断地址相同)       equalsIgnoreCase(忽略大小写)    split(分割)     format(格式化)

正则表达式:检测某一个字符串是否满足某一格式

字符串生成器:append()    insert()   delect()

IDEAL快捷键:CTRL+空格    Eclipse快捷键:

 

unit6 数组

定义:引用数据类型

运用:先声明,再new,再访问

格式:int arr[];   int brr[] = new int [6];

二维数组创建:int crr[][] = {{1,2},{3,4}};

操作:遍历,for循环:

    int drr[] = {{1},{2,3},{4,5,6}};

  填充fill    排序sort  复制copyOf  查询binarySearch

排序算法:冒泡排序   直接选择  P115

 

unit7 类和对象

面向对象:类:模板,抽象      对象:实体,具体

    成员方法,成员变量     动态行为,静态属性

    类实质上是封装对象属性和行为的载体

特征:封装,继承(复用)--->多态(抽象类和接口)

类:成员变量private      成员方法没有static   局部变量

  权限修饰符:private   protected     public

类的构造方法:用来创建对象,每当类实例化一个对象的时候,类就会自动调用构造方法

静态变量,常量,方法。。

对象:导包--创建--使用,Preson p = new Person();      p.eat();

this关键字:this.name = name;   用this可以调用成员变量和成员方法,因为局部变量可能会掩盖了成员变量

 

unit8 包装类,Number

Integer,Boolean,Byte,Character,Double,Number   

 

unit9 数字处理类,NumberFormat

Math,Math.random()随机数

 

第二篇 :Java核心

unit 10 接口,继承,多态

继承:extends,父类的拓展,添加新方法

  super关键字:调用父类的构造方法和成员方法

  局部变量    本类成员变量    父类成员变量

  num                     this,num      super.num

Object类:鼻祖!!  getClass()  toString()  equals()

对象类型转换:向上转换              向下转换

      父类引用指向字类对象,安全      将父类对象还原成原本的字类对象,不安全

      Animal animal = new Cat();       Cat cat = new Cat();

instanceof操作符:判断对象类型,my instanceof peroson

方法重载:Overload,同名不同参数

多态:父类引用指向字类对象,”我“既是学生,也是父母的孩子

抽象类:abstract,必须由字类覆盖重写父类才有意义

接口:interface,公共的规范标准

 

unit11 类的高级特性

Java类包:import导包

final变量:他一般定义常量,全局常量:public static final   final方法:不可以覆盖  final类:没有字类,不可以extends

内部类:内用外随意访问,反之一定要借助内部类对象才🆗,内部类向上转型为接口

局部内部类:P208,没写!!!

匿名内部类:

静态内部类:

 

unit12 异常处理

try {&} catch(Exception e) {&},记录到日志中去

throws Exception {&}

finally语句块:用于资源释放回收

补充:Java异常类结构

1 try、catch、finally语句中,在如果try语句有return语句,则返回的之后当前try中变量此时对应的值,此后对变量做任何的修改,都不影响try中return的返回值

2 如果finally块中有return 语句,则返回try或catch中的返回语句忽略。

3 如果finally块中抛出异常,则整个try、catch、finally块中抛出异常

 

unit 13 Swing程序设计

Swing + AWT = 图形用户界面

监听事件:事件源+事件+监听程序        addXXListener()    removeXXListener()

 动作事件监听器      焦点事件监听器

 

unit14 集合类,util包下

遍历集合:采用迭代器iterator ,

  Collection<String> list = new ArrayList<>();//实例化集合类对象
  Iterator<String> it = list.iterator();//创建迭代器

Collection接口:层次接口 的根节点

List集合:get()     set()

Set集合:Collection对象不可以重复

Map集合:Map<K, V>

 

unit15 I/O输入输出------io包下

Java IO中,流是一个核心的概念。流从概念上来说是一个连续的数据流。你既可以从流中读取数据,也可以往流中写数据。流与数据源或者数据流向的媒介相关联。在Java IO中流既可以是字节流(以字节为单位进行读写),也可以是字符流(以字符为单位进行读写)。

类InputStream, OutputStream, Reader 和Writer

File类:唯一代表磁盘文件本身的

Buffer:带缓存

 

unit16 反射

访问,检测,修改描述Java对象本身的信息

访问构造方法:Constructor  访问成员变量:Field  访问方法:Method  

@Annotation,注解注释,定义用@interface,@Target,@Retention(访问)

 

unit18 枚举类型与泛型

枚举:取代以往编译常量的方式,在编译时候可以检查程序

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的

public static fianl = public enum

numSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。

成员方法:values数组,valueOf枚举实例, compareTo比较,ordinal位置索引

构造方法:加private

泛型:广泛的类型,向上转型向下转型

定义:类名<T>   ,所以说泛型只是一种类型的规范,在代码编写阶段起一种限制。

class 类名<T extends anyClass>   extends是约束了泛型是向下继承的

<?>通配符<T>区别是<?>在你不知道泛型类型的时候,可以用<?>通配符来定义,类型通配符

 

unit19 多线程

多线程,并发思想

n个线程=一个进程,类似于任务管理器

继承Thread类, extends Thread{&}           public  void run(){&}     

Runnable接口, extends Object implements Runnable{&}

线程生命周期:出生----就绪----执行-----等待----休眠----阻塞---死亡

线程同步机制:线程安全,线程同步机制,synchronized(锁对象){可能出现线程安全问题的代码,里面可以try catch一下}

 

unit20 网络通信

IP协议,本机IP地址;  TCP,UDP协议

端口大于套接字socket

查看端口连接状态:cmd下的“netstat -an”

 

unit21 数据库操作

数据库类型:层次型,网状型,面向对象型,关系型

SQL语句:Structure Query Language

  DDL:Definition,定义,create,alter,drop

  DML:Manipulation,操纵,select,insert,update,delete

  DCL:Control,控制,grant,revoke

  TCL:Transaction Control Language,事务控制语言,commit,rollback

例子:select * from sys_user where sex='女' order by age;

     insert into sys_user values(2,'小明','男','销售部');

      update  sys_user set age=23 where id=2;

        delete from sys_user where id=2;

JDBC:接口+纽带,Java-----JDBC---JDBC驱动程序------数据库

几个接口:Connection,Statement,PreparedStatement,DriverManager,ResultSet

连接数据库:1.加载数据库驱动程序  2。创建Connection对象  3.执行SQL语句  4.操作完成销毁对象,释放与数据库的连接

发送SQL语句:Statement sql = con.createStatement();

处理查询结果集:ResultSet res = sql.executeQuery("select * from sys_user");

顺序查询,模糊查询:%代替0或多个字符,_代替一个字符,通配符%

预处理语句:对于JDBC,通过Connection对象的preparedStatement(String sql)方法对SQL语句进行预处理,生成数据库底层的内部命令,并将该命令封装在preparedStatement对象之中,通过调用该对象的相应方法执行底层数据库命令

 

补充:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

 

unit1 06 断点调试与数据加密

1.运行:右键 -- Debug as -- Java Application

2.看什么:F6----》Debug,Variables,ForDemo,Console

3.step into:F5             step   over:F6  step return:F7  resume恢复执行:F8

4.方法进入的第一条有效语句加断点

5.数据加密:arr[x] += 5;

6.键盘录入:Scanner sc =  new Scanner(System.in);

    接收数据:int number = sc.nextInt();

 

unit2 19 异常处理

1.Throwable是Java 语言中所有错误或异常的超类,即祖宗类。

2.子类:Error,Exception,       子子类:RuntimeException

3.如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行并且还终止了程序,异常后面的代码将不在执行

4.

   

 5.Throwable常用方法:

String getMessage()  返回此 throwable 的详细消息字符串

String toString()  返回此 throwable 的简短描述

void printStackTrace()  打印异常的堆栈的跟踪信息

6.finally:组合try catch,用于释放资源等收尾工作

 7.异常分类:

A: 编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理

B:RuntimeException和他的所有子类异常,都属于运行时期异常。NullPointerException,ArrayIndexOutOfBoundsException等都属于运行时期异常.

8.自定义异常:

* throws:处理异常的一种方式,把异常抛出,由调用者来处理:

public static void checkScore(int score) throws Exception {

 * throw:制造异常的方式,并且结束方法:throw new RuntimeException("考试成绩不符合要求"

如果抛出(throw)的是编译时期异常,必须在方法声明处抛出(throws)

source---generate construction from superclass(根据父类生成构造)

 * 如何自定义一个异常类呢?

 * 非常简单,写一个类去继承Exception或者RuntimeException,然后实现多个构造即可

 

unit3 补充:递归

1.递归,指在当前方法内调用自己的这种现象

2.

posted @ 2020-02-01 23:25  only~~  阅读(363)  评论(0编辑  收藏  举报