1. 基本数据类型的包装类

byte   Byte

short   Short

int    Integer

long  Long

float  Float

double  Double

boolean   Boolean

char   Character

<------------------------------------------------------------------------------------------------->

2. 字符串和数值的互转

Integer integer = new Integer(10);

String str = "120";

//字符串转数值

int b = Integer.valueOf(str);//

int c = Integer.parseInt(str);//

//数值转字符串

String re =  integer.toString();

String re2 = 10+"";

String re3 = String.valueOf(10);

<------------------------------------------------------------------------------------------------->

3. 基本数据类型和包装类的区别

  1. 包装类提供了方法
  2. 初始值不一样,int  0,    Interger  null.

<------------------------------------------------------------------------------------------------->

4. 自动装箱和自动拆箱

Jdk1.5

Integer a = 10;//自动装箱(把基本数据类型装成对象)

// Integer a = new Integer(10);

Integer a = new Integer(10);

int b = a;//自动拆箱(把对象拆成基本数据类型)

<------------------------------------------------------------------------------------------------->

5. ==和equals()

== 比较基本数据类型,比较的是值

==比较引用数据类型,比较的是地址

equals()用来比较引用数据类型,如果没有重写,比较的是地址

如果重写了,那就按照重写的方式去比较。

比如String类重写了equals()方法,比较的是字符串内容

<------------------------------------------------------------------------------------------------->

6. 异常

对于程序运行出现的不正常情况,称为异常。

描述不正常情况的类为异常类,不同的异常对应了不同的异常类,

所有的异常类组成了异常体系。

异常体系结构

Throwable(可抛出的)

--Error:通常是值jvm的严重性问题,不可处理的,比如内存溢出。

--Exception:可处理的,非严重性问题

--checkedException(检查性异常)

在编译时会检测异常(比如文件找不到,中断异常)

必须要通过throws或try..catch处理

--uncheckedException(非检查性异常,运行时异常)

在运行时出现的异常(比如空指针异常,越界异常。。)

可处理,也可不处理

<------------------------------------------------------------------------------------------------->

7. 异常处理机制

trycatchfinallythrowthrows

try{

//可能出现异常的代码

}catch(){

//捕获异常,出现异常情况的处理代码

}finally{

//总是会执行的代码(不管是否 出现异常)

}

打开资源---》进行操作---》关闭资源

注意:可以写多个catch,先写子类,再写父类。代码出现异常,从第一个catch开始匹配,依次往下,直到某个catch匹配到。如果最终都没有匹配到,程序会中断。

throws  声明异常

public static void show() throws ArithmeticException,NullPointerException{

System.out.println(10/0);

}

throw  手动抛出异常

//手动抛出一个空指针异常

throw new NullPointerException();

<------------------------------------------------------------------------------------------------->

8. 自定义异常

如果自定义的异常是继承RuntimeException,自定义的异常是运行时异常

如果自定义的异常是继承Exception ,自定义的异常是检查性异常

<------------------------------------------------------------------------------------------------->

9. 日志:

 主要用来记录系统运行中一些重要操作信息

 便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因

 日志分类

 SQL日志、异常日志、业务日志

<------------------------------------------------------------------------------------------------->

10. 如何使用log4j记录日志

1. 导包,将log4j相关jar包添加到项目中

2. 配置log4j.properties文件

3. 获取日志记录器,使用。

优先级从高到低分别是ERRORWARNINFODEBUG

在此处,如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出

<------------------------------------------------------------------------------------------------->

11. 集合

List:有序可重复

--ArrayList:可变数组,在内存中是连续的空间保存元素。查询效率高,删除添加效率低

-- LinkedList:链表结构,由存储元素的节点连接而成,每个节点包含前一个节点的引用,和下一个节点的引用以及节点存储的值。当新节点插入时,只需要修改其中保持先后关系的节点引用即可。查询效率低,删除添加效率高

Set :无序不可重复

--HashSet:哈希表结构

如何保证唯一性的?

先调用两个对象的hashCode()方法,判断hashCode是否一样,如果不一样,两个对象都可以存入HashSet,如果一样,再调用equals方法比较,如果equals比较的结果是true,不存入。为false,则存入。

--TreeSet:二叉树结构

TreeSet:

注意:添加到treeSet集合中的对象必须具备比较能力(要实现Comparable接口);

TreeSet里保存的元素具有自然顺序。

如何保证唯一性?

通过compareTo()方法比较,比较是结果是0,表示一样,不存。比较结果是1,表示不一样,存入。

Map 键值对   key – value

键不可以重复,值可以重复

如果键是重复的,相当是修改这个键所对应的值。

HashMap  key和value都可以为null

<------------------------------------------------------------------------------------------------->

12. 泛型   jdk1.5

在定义类、接口、方法时,不局限地指定类型,而是让使用者传入类型。

泛型的好处:避免强转,把问题暴露在编译期

<? super T>  类型的下界(必须是T,或T的父类)

<? extends T> 类型的上界(必须是T,或T的子类)

Collections  是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

自定义一个泛型的类,属性有:未知类型的对象,保存未知类型对象的List

<------------------------------------------------------------------------------------------------->

13. 反射:

在运行状态中,对于任意一个类都知道这个类的属性和方法,都能够调用任意一个方法和属性,这种动态获取信息以及动态调用对象方法的功能就是java反射机制。

<------------------------------------------------------------------------------------------------->

14. Class 是一个类,描述类的类

一个类中有属性,方法,比如person类,animal类,这些都是不同的类,现在需要用一个类来描述这些类,这个类就是Class。

    Class  api

getDeclaredField(属性名) 获取指定属性

 

<------------------------------------------------------------------------------------------------->

15. io流

i:input    输入

o:output   输出

io流?输入输出流

用来处理设备之间 的数据传输

 

输入和输出是相对于内存而言。

输入流:将外设的数据读取到内存中。

输出流:将内存中的数据写到外设中。

 

java IO    java 提供api读写文件

 

字节流:操作字节,字节数组

字符流:操作字符,字符数组,字符串

字节流的两个顶层父类

InputStream  

OutputStream

字符流两个顶层父类

Reader    FileReader   BufferedReader

Writer     FileWriter   BufferedWriter

<------------------------------------------------------------------------------------------------->

16. 序列化与反序列化

序列化:将对象以字节的方式存到外设

ObjectOutputStream

反序列化:将存到外设的字节文件转成对象

ObjectInputStream

<------------------------------------------------------------------------------------------------->

16. 序列化与反序列化

序列化:将对象以字节的方式存到外设

ObjectOutputStream

反序列化:将存到外设的字节文件转成对象

ObjectInputStream

<------------------------------------------------------------------------------------------------->

17. File

Java.io.File类用来表示文件或目录 

功能:能获取文件或文件夹的信息,

对文件或文件夹操作。

获取信息:

file.getPath()  获取路径

file.getName()  获取名称

file.getParent()  获取目录,返回String

file.getParentFile() 获取目录,返回File

file.length()  获取文件大小,返回long

file.lastModified()  获取文件最后修改时间

判断:

file.exists() 判断是否存在

file.isFile() 判断是否是文件

file. isDirectory() 判断是否是文件夹

file. isHidden() 判断是否隐藏

 

创建:

file.createNewFile()  创建文件

file.mkdir() 创建文件夹  父目录必须要存在

file.mkdirs()创建文件夹,
父目录可以不存在,会连带父目录一起创建

 

 

删除:

file.delete() 删除文件或空文件夹

 

重命名:

file.renameTo(File)  重命名/剪切

 

 

列出

File[] files = File.listRoots()  列出可用的文件系统根。

File[] files = dir.listFiles() 获取指定文件夹下的所有文件和文件夹 返回的是File数组

String[] fs = dir.list()   获取指定文件夹下的所有文件和文件夹  返回String数组


1. 日志:

 主要用来记录系统运行中一些重要操作信息

 便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因

 日志分类

 SQL日志、异常日志、业务日志

Java语法知识点2的更多相关文章

  1. Java语法知识点

    1. 特殊字符 a) \n   换行符 b)  \t   制表符 <--------------------------------------------------------------- ...

  2. Java 面试知识点解析(一)——基础知识篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  3. Java 面试知识点解析(四)——版本特性篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  4. Java 面试知识点解析(六)——数据库篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  5. Java 面试知识点解析(七)——Web篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  6. Java 基础知识点小结

    小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能 ...

  7. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...

  8. Java入门知识点

    Java入门知识点   Java源代码的流程 Java程序由.java文件生成,通过JVM进行编译得到字节文件.class class HelloWorld { public static void ...

  9. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

随机推荐

  1. ActiveMQ消息可靠性-事物

    事物偏生产者,签收偏消费者 设置为true,需要手动提交    设置为false,自动提交   使用手动提交的好处就是可以回滚,当整个事物提交时,里面的某条失败了,可以事物回滚,于是保证了数据的一致性 ...

  2. STM32片上Flash容量大小命名规则

  3. Pandas | 01 数据结构

    Pandas的三种数据结构: 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构,构建在Numpy数组之上,这意味着它们很快 维数和描述 考虑这些数据结构的最好方法是 ...

  4. DIV 始终位于文档底部

    DIV 始终位于文档底部 设置body为绝对定位,最小显示高度为:100%,宽度为:100%: 设置底部显示块为绝对定位,bottom: 0,是body元素的最后一个直接子元素: 设置底部块元素同级元 ...

  5. [PHP] 一个免费、开源的基于tp5+layui2.1.5开发的快速开发框架

    推荐 一个免费.开源的基于tp5+layui2.1.5开发的快速开发框架,既可以用来学习,也可以用来实际项目的快速开发: 码云下载:https://gitee.com/eduaskcms/eduask ...

  6. 如何更新GitHub上的代码?

    更新github上的代码 一.克隆代码 1.先是把自己GitHub上的代码克隆到本地(下载到本地) 步骤1.随便创建一个新文件夹(用来存放下载下来的代码) 步骤2.在文件夹中打开cmd 输入下载指令下 ...

  7. 网络协议 18 - CDN

    到现在为止,我们基本上已经了解了网络协议中的大部分常用协议,对于整个 HTTP 请求流程也较为熟悉了.从无到有后,我们就要考虑如何优化“有”这个过程,也就是我们常见的请求优化.而现在的技术栈中,CDN ...

  8. Generator生成器函数执行过程的理解

    一个最基本的Generator函数格式如下,函数体内部要使用yield修饰符则必须在函数名前加上*号 ; function *testYield(x){ console.log('before yie ...

  9. Perl 使用perl命令批量替换文件内容

    对linux系统下面多个文本文件内容做处理,是SA经常需要完成的工作.如何高效的完成这个工作,perl应该是一个不错的语言工具.你甚至不需要编写perl脚本,用命令就可以完成上面的工作. perl 命 ...

  10. 笔记:Map(就是用来Ctrl+C,V的)

    JDK1.8:List -> Map: 1,Map<String, String> maps = userList.stream().collect(Collectors.toMap ...