Java语法知识点2

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. 基本数据类型和包装类的区别
- 包装类提供了方法
- 初始值不一样,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. 异常处理机制
try、catch、 finally、throw、throws
|
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. 获取日志记录器,使用。
优先级从高到低分别是ERROR、WARN、INFO、DEBUG
在此处,如果优先级别设为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的更多相关文章
- Java语法知识点
1. 特殊字符 a) \n 换行符 b) \t 制表符 <--------------------------------------------------------------- ...
- Java 面试知识点解析(一)——基础知识篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(四)——版本特性篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(六)——数据库篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(七)——Web篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 基础知识点小结
小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- Java入门知识点
Java入门知识点 Java源代码的流程 Java程序由.java文件生成,通过JVM进行编译得到字节文件.class class HelloWorld { public static void ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
随机推荐
- 15-cmake语法-math
math 数学表达式 math(EXPR <output variable> <math expression>) 例子: math(EXPR VAR "${VAR} ...
- (HK1-2)海康相机直接连接电脑不经过路由器设置
解决电脑无法通过网线直连海康摄像机的问题 https://blog.csdn.net/u014552102/article/details/86708371 一.现象: 通过博主的另外一篇博客h ...
- The Nth Item 南昌网络赛(递推数列,分段打表)
The Nth Item \[ Time Limit: 1000 ms \quad Memory Limit: 262144 kB \] 题意 给出递推式,求解每次 \(F[n]\) 的值,输出所有 ...
- 网络协议 18 - CDN
到现在为止,我们基本上已经了解了网络协议中的大部分常用协议,对于整个 HTTP 请求流程也较为熟悉了.从无到有后,我们就要考虑如何优化“有”这个过程,也就是我们常见的请求优化.而现在的技术栈中,CDN ...
- sass-loader使用data引入公用文件或全局变量报错
报错信息: ValidationError: Invalid options object. Sass Loader has been initialised using an options obj ...
- 接口自动化框架2-升级版(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...
- Spring Boot 知识笔记(整合Mybatis)
一.pom.xml中添加相关依赖 <!-- 引入starter--> <dependency> <groupId>org.mybatis.spring.boot&l ...
- C++2.0新特性(三)——<=default,=delete、alias(别名)、noexcept、override、final、以及和const对比>
一.=default,=delete 1.首先我们要回顾一下类默认函数的概念: C++中,当我们设计与编写一个类时,若不显著申明,则类会默认为我们提供如下几个函数: (1)构造函数(A()).(2)析 ...
- 微信小程序之简单记账本开发记录(七)
记账本已经可以实现添加和删除的功能 现在只需要将上述步骤重复一遍便可将另一个界面做出来. 大体上已制作完成,如果在细节上有变动会在这一篇更新 总体来说,这个作业让我对微信小程序的开发有了更多地认识,大 ...
- 什么是SQL Server2019大数据群集?
从SQL Server 2019(15.x)开始,SQL Server大数据群集允许您部署在Kubernetes上运行的SQL Server,Spark和HDFS容器的可伸缩群集.这些组件并排运行,使 ...