Java 异常、包装类及字符串
异常在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常。
异常分类
Error(错误)
Exception(异常)
注意:
对于可查异常必须捕获或者声明抛出。
允许忽略不可查的RuntimeException(含子类)和Error(含子类)。
异常处理五个关键字:try、catch、finally、throw、throws
捕获异常:try、catch、finally
声明异常:throws
抛出异常:throw
try-catch-finallytry块后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
1234567try{ // 捕获异常}catch(){ // 处理异常}finally{ // 最后必执行这里的代码}
System.exit(1):终止当前程序。
throw和throws
throws:在方法定义时声明该方法要抛出的异常类型
123public void method() throws Exception1,Exce ...
Java 面向对象之单例模式及多态
基础
基本数据类型(8个)
byte
short
int
long
float
double
char
boolen
引用数据类型
String
类
数组
注解
按照运行机制分类
源码注解:如@Override等
编译时注解:如@NotNull等
运行时注解:如@Autowired等
按照来源分类
来自JDK
第三方
自己定义
设计模式
单例设计(提高性能,节省内存空间,解决多重占用)
饿汉式(空间换时间,线程安全)
在类中创建私有构造方法
创建私有静态该实例对象
在创建过程中实例化对象
创建公有静态方法提供实例对象
将该实例化返回
懒汉式(时间换空间,存在线程风险)
在类中创建私有构造方法
创建私有静态该实例对象
在创建过程中不用实例化对象
创建公有静态方法提供实例对象
判断该对象是否实例化,没有实例化则实例化,有则直接返回。
….
多态(多种形态)理解:对同一消息做出不同的反应。如动物类中的一个“叫声”方法,子类兔子和狗引用重写该方法时不同。
类型(两种)
编译时多态(方法重载)
运行时多态
必要条件
满足 ...
Java数组随笔
数组内存分析
内存区域名字
作用
寄存器
CPU存储区域,给CPU使用
本地方法栈
JVM虚拟机操控电脑系统
方法区
存储和运行class文件(.java文件编译成class文件)
堆
对象和数组存储的区域,new出来的对象都在这个区域
方法栈
方法运行的时候进入内存,比如main方法进入方法栈区
##堆区和栈区存储讲解图
Java随笔
Java八大数据类型
byte short int long
char
boolean
double float
String是用引用类型
构造代码块和构造方法
在new一个对象时,会先执行该类中的构造代码块,再执行无参构造方法。
123456789101112class Person{ int age; String name; //构造代码块 { System.out.println("构造代码块....."); } //无参构造方法 public Person(){ System.out.println("测试人员...."); }
局部变量和成员变量
局部变量就是变量的作用域
成员变量是定义在实体类中大括号的后面,又叫属性
成员变量和局部变量的区别:
Git简介及简单上手
Git简介及简单上手Git简介Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git简单上手1.下载安装:去Git官网:https://git-scm.com/ 下载最新版本的Git并安装
2.环境配置:
在文件夹/空白桌面的任意位置单击鼠标右键,找到Git Bash Here并单击,出现Git控制台的界面。
设置用户名和Email地址:
设置用户名:git config –global user.name “CodeWhale”
设置Email地址:git config –global user.email “XXX@XX.com“
查看设置的用户名和Email地址:git config –listgit config –user.name
3.Git常用命令:
git init(初始化)
git clone < url >(从远程仓库克隆)使用方法:git clone + url
git status(查看文件状态) ...
解决IDEA使用Maven导包速度慢问题
IDEA使用Maven导包速度慢原因:安装的Maven使用的官网地址下载依赖包,由于国内有防火墙,所以在国内访问外网会比较慢。
解决方法:向Maven配置文件中,修改下载依赖包的路径,改为像阿里之类的下载路径即可。
具体实施:1.进入IDEA,右键单击项目,找到并点击Maven下的“Open ‘settings,xml’ ”选项,进入该配置文件。图片:2.在该配置文件中,mirrors节点增加下列下载路径代码即可:
123456789101112131415161718192021222324252627<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf></mirror><mirror> & ...
Java 字节流实现文件拷贝
利用字节流实现文件拷贝
FileOutputStream(输出流,写入信息)
FileInputStream(输入流,读取信息)
字节流图:
代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.StringReader;import java.nio.file.LinkPermission;public class demo01 { public static void main(String[] args) { testCopy(); } public static void testCopy(){ long start = 0 , ...
Java 基础类库
Scanner(接收数据)语法
1Scanner XXX = new Scanner(System.in);
Scanner两种常用方法
nextXXX:接收
hasnextXXX:判断下一个
API文档有详细方法
nextLine:接受一行
next:以空格作为分割
String字符串
StringBuffer :可变字符串(具体使用方法见API文档),append:添加字符; capacity:查看StringBuffer容量
StringBuilder :使用方法与StringBuffer相同。
不同点 StringBuffer:效率低,线程安全 StringBuilder:效率高,线程不安全
Arrays数组工具类
sort :排序
binarySearch :查找(需要先排序再进行查找)
Math数学类 常见的一些数学方法:
PI:3.1415926….
E:自然对数的底数
abs:取绝对值
round:四舍五入
sqrt:取平方根
pow:求乘方
ceil:向上取整(3.1向上取整为:4.0)
floor:向下取整(3.1向上取整为:3.0)
Ma ...
Java 集合类笔记
集合
种类:
ArrayList集合类(数据可重复、有序)
Vector集合类(数据可重复、有序)
LinkedList集合类(新增2种添加方法 (addFirst()、addLast()))
HashSet集合类(不会添加重复数据、无序)
TreeSet集合类
ArrayList 集合类
集合:相当于一个容器,用来放置任意类型的数据
基本语法1234567891011121314151617ArrayList ar = new ArrayList();//创建集合类对象ar.add("Hello World!");//把数据放进ar集合内System.out.println(ar.get(0));//获得ar集合内的数据(get(0)是一个索引,从0开始)ar.add(0,"小明");//在0位置添加一条信息ar.addAll(ar2);//把ar2集合类添加到ar集合类里ar.addAll(0,ar2);//也可以把ar2集合类放到指定的地方ar.remove(0);//删去集合类中指定位置的数据for (Object o : ar)& ...
Java 抽象类和接口
抽象类(abstract)
abStract抽象类
代码123456789101112131415class lei1 extends lei2{ public void add(){ System.out.println("我是一个完整的抽象方法"); }}abstract class lei2{ //抽象类 private int no; abstract void add();//抽象方法}public class Lei { public static void main(String[] args) { lei1 a = new lei1(); a.add(); }}
声明一个抽象类123abstract class XXX{ //抽象类 }
声明一个抽象方法1abstract void 方法名();//抽象方法,无方法体
接口(interfa ...





