- 博客(48)
- 收藏
- 关注
原创 Java 正则表达式
参考资料[1]. 疯狂Java讲义(第三版) 李刚 使用正则表达式一旦在程序中定义了正则表达式,就可以使用Pattern和Matcher来使用正则表达式。 Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式字符串必须先被编译为Pattern对象,然后再利用该Pattern对象创建Matcher对象,执行匹配所涉及的状态保留在Matcher对象中,多个Matcher
2018-01-31 15:53:29 229
原创 Java 8 新增的日期、时间包
参考资料[1]. 疯狂Java讲义(第三版) 李刚 [2]. java8新增的日期,时间包以及格式器, http://blog.csdn.net/prlsunshine/article/details/75174563概述Java 8专门新增了一个java.time包,该包下包含了如下常用类: Clock、Duration、LocalDate、LocalTime、LocalDat
2018-01-31 15:28:31 2665
原创 Java Calendar类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Calendar类是一个抽象类,它是所有日历类的模板,并提供了一些所有日历通用的方法;但它本身不能直接实例化,程序只能创建Calendar子类的实例,Java本身提供了一个GregorianCalendar类,一个代表格里高利日历的子类,它代表了通常所说的公历。Calendar与Date类的相互转换// 创建一个默认
2018-01-31 15:22:43 1083 1
原创 Java Date类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Date类的大部分构造器、方法已经过时,不再推荐使用了,Java官方推荐使用Calendar工具类。使用示例Date d1 = new Date();// 获取当前时间之后100ms的时间Date d2 = new Date(System.currentTimeMillis() + 100);System.out.
2018-01-31 14:30:40 171
原创 Java BigDecimal类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。创建不要使用BigDecimal(double val)构造器当程序使用这个构造器创建一个BigDecimal对象时,容易出现精度问题。可以使用Big
2018-01-31 14:22:53 714 1
原创 Java 7的ThreadLocalRandom类与Random类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Random类专门用于生成一个伪随机数,它有两个构造器:一个构造器使用默认的种子(以当前时间作为种子),另一个构造器需要程序员显示传入一个long型整数的种子。 ThreadLocalRandom类是Java 7新增的一个类,它是Random的增强版。在并发访问环境下,使用ThreadLocalRandom来代替Random可
2018-01-31 14:05:09 586
原创 Java Math类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Math类提供了三角函数、对数运算、指数运算等更复杂的运算功能。 Math类里所有的方法都是静态方法。 Math类有PI和E两个类变量,分别代表了 π和e" role="presentation" style="position: relative;">π和eπ和e\pi和e使用/*---
2018-01-31 13:37:59 183
原创 StringBuilder类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述StringBuilder类是JDK 1.5新增的,StringBuffer类与StringBuilder类基本相似,不同的是StringBuffer类是线程安全的,StringBuilder类没有实现线程安全功能,所以性能略高。所以通常优先使用StringBuilder类。使用StringBuilder sb =
2018-01-31 13:26:44 154
原创 Java String类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述String类是不可变类String获取指定位置的字符串String s = new String("www.qunar.com");System.out.println(s.charAt(4));compareTo,比较字符串比较两个字符串的大小,如果两个字符串的字符序列相等,则返回0;不相等
2018-01-31 13:24:42 136
原创 Java 7新增的Object类
参考资料[1]. 疯狂Java讲义(第三版) 李刚概述Java 7新增了一个Object工具类,它提供了一些工具方法来操作对象,这些工具方法大多是“空指针”安全的。检测类方法代码如下:public class ObjectsTest{ // 定义一个obj变量,它的默认值是null static ObjectsTest obj; public
2018-01-31 11:00:45 232
原创 Java Object类
参考资料[1]. 疯狂Java讲义(第三版) 李刚Object类Object类是所有类、数组、枚举类的父类,也就是说,Java允许把任何类型的对象赋给Object类型的变量。当定义一个类时没有使用extends关键字为它显示指定父类,则该类默认继承Object父类。自定义cloneJava还提供了一个protected修饰的clone()方法,该方法用于帮助其他对象来实现“自我
2018-01-30 21:12:52 170
原创 Java Runtime类
参考资料[1]. 疯狂Java讲义(第三版) 李刚Runtime类Runtime类代表Java程序的运行时环境,每个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与其运行时环境相连。方法JVM的相关信息如处理器数量、内存信息等,代码如下:// 获取Java程序关联的运行时对象Runtime rt = Runtime.getRuntime();S
2018-01-30 20:55:02 348
原创 Java System类
参考资料[1]. 疯狂Java讲义(第三版) 李刚 System类System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些类变量和类方法,允许直接通过System类来调用这些类变量和类方法。获取系统环境变量使用System类获取当前的系统环境变量和系统的一些参数。 public static void main(Strin
2018-01-30 20:45:46 302
原创 Java Scanner 类
参考资料读取键盘输入的字符串限制输入项为数字读取文件输入参考资料[1]. 疯狂Java讲义(第三版) 李刚 [2]. Java Scanner 类, http://www.runoob.com/java/java-scanner-class.html读取键盘输入的字符串Scanner sc = new Scanner(System.in);// 增加下面一行
2018-01-30 20:24:21 191
原创 final修饰符
参考资料final修饰符final成员变量类变量的定义实例变量的定义final局部变量final修饰基本类型变量和引用类型变量的区别可执行宏替换的final变量final方法final类不可变类缓存实例的不可变类参考资料[1]. 疯狂Java讲义(第三版) 李刚final修饰符final关键字可用于修饰类、变量和方法,用于表示它修饰的类、方
2018-01-30 16:54:24 220 1
原创 Java 单例(Singleton)类
参考资料[1]. 疯狂Java讲义(第三版) 李刚单例(Singleton)类虽然Java 系统允许,但是类成员还是不要访问实例成员。 如果一个类始终只能创建一个实例,则这个类被称为单例类。 一个简单的单例类,代码如下:class Singleton{ // 使用一个类变量来缓存曾经创建的实例 private static Singleton instan
2018-01-30 15:01:09 3329
原创 Java8增强的包装类
列表内容Java8增强的包装类自动装箱和自动拆箱使用包装类实现基本类型变量和字符串之间的转换Integer类Float类String类使用实现基本类型变量和字符串之间的转换数值比较包装类与数值类型的值进行比较两个包装类实例进行比较静态方法compare实例方法compareTo列表内容参考资料 [1]. 疯狂Java讲义(第三版) 李刚
2018-01-30 11:55:45 219
原创 Java初始化块
参考资料初始化块使用初始化块初始化块和构造器静态初始化块参考资料[1]. 疯狂Java讲义(第三版) 李刚初始化块初始化块与构造器作用非常类似,它也可以完成对Java对象进行初始化操作,它是在构造器之前执行。使用初始化块一个类里可以有多个初始化块,相同类型的初始化块之间按照从上向下的顺序执行。 语法如下:[static]{ // 初始化
2018-01-30 08:31:40 260
原创 Java继承与组合
参考资料[1]. 疯狂Java讲义(第三版) 李刚继承与组合继承是实现类复用的重要手段,但继承带来了一个最大的坏处,破坏封装。相比之下,组合也是实现类复用的重要方式,而采用组合方式来实现类复用则能提供更好的封装性。使用继承的注意点为了保证父类有良好的封装性,不会被子类随意改变,设计父类通常应该遵循如下规则: 1. 尽量隐藏父类的内部数据。例如成员变量使用private
2018-01-29 21:50:49 250
原创 Java多态
参考资料[1]. 疯狂Java讲义(第三版) 李刚 Java引用变量有两个类型,一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态(Polymorphism)。多态多态性因为子类其实是一种特殊的父类,因为Java允许把一个子类对象直接赋给一个父类引用变量,无须任何
2018-01-29 21:46:52 262 1
原创 Java 隐藏和封装、深入构造器、类的继承
参考资料[1]. 疯狂Java讲义(第三版) 李刚 隐藏和封装使用访问控制符访问控制级别表 范围 private default protected public 同一个类中 支持 支持 支持 支持 同一个包中 支持 支持 支持 子类中 支持 支持 全局范围中
2018-01-29 18:18:50 520
原创 Java类和对象、方法、成员变量和局部变量
参考资料[1]. 疯狂Java讲义(第三版) 李刚 类和对象定义类类(class)和对象(object,也被称为实例,instanceof),其中类是某一批对象的抽象,可以把类理解成某种观念,对象才是一个具体的实体。 普通类或抽象类的语法如下:[public] [final] [abstract] class 类名 [extends 被继承的类名,] implem
2018-01-29 11:47:34 2932
原创 Java运算符
算术运算符加法运算符减法运算符乘法运算符除法运算符求余运算符自加和自减赋值运算符位运算符按位与按位或按位非按位异或左移运算符右移运算符无符号右移运算符位移运算的其他规则扩展后的赋值运算符比较运算符逻辑运算符与不短路与或不短路或非异或三目运算符运算符的结合性和优先级算术运算符加法运算符// 当做加法
2018-01-28 18:18:34 156
原创 基本类型的类型转换
基本类型的类型转换自动类型转换自动转换示范字符串与数字相遇强制类型转换表达式类型的自动提升基本类型的类型转换自动类型转换当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换,否则就要进行强制类型转换。 自动转换示范// 因为float的表数范围比int类型大,所以变量a和f可以自动转换int a =
2018-01-27 23:04:48 391
原创 Java基本数据类型
参考资料整型基本使用byteshortintlong其他进制的使用二进制八进制十六进制字符型char基本使用拓展使用浮点型基本使用float和double在数值中使用下划线分隔布尔型直接量直接量的类型参考资料[1]. 疯狂Java讲义(第三版) 李刚 整型基本使用byte一个b
2018-01-27 10:42:29 183
原创 javadoc命令
参考资料官方文档使用下载解压打开自制文档javadoc命令案例1参考资料[1]. 疯狂Java讲义(第三版) 李刚 [2]. 官方文档下载, http://www.oracle.com/technetwork/java/javase/downloads/index.html [3]. JavaDoc生成API详解, http://blog.csdn.n
2018-01-27 09:02:41 2910
原创 JAR包的使用
参考资料[1]. 疯狂Java讲义(第三版) 李刚 [2]. idea打包jar的多种方式, https://www.cnblogs.com/qifengshi/p/6036870.html命令图
2018-01-26 20:25:31 1356
原创 对象与垃圾回收
参考资料对象在内存中的状态强制垃圾回收finalize方法对象的软弱和虚引用参考资料[1]. 疯狂Java讲义(第三版) 李刚 [2]. 对象在内存中的状态, http://blog.csdn.net/jiawei6212130/article/details/52263392 [3]. 疯狂Java笔记之Java的内存与回收, https://www.jiansh
2018-01-26 19:36:51 140
原创 枚举类
参考资料定义一个枚举类不设置枚举的默认值为枚举类设置一个临时值不加限制版为枚举类设置一个临时值增加限制版为枚举类设置一个固定值使用枚举类实现一个接口包含抽象方法的枚举类参考资料[1]. 疯狂Java讲义(第三版) 李刚定义一个枚举类使用关键字enum 定义一个枚举类/** * 枚举类 季节 */public enum Season
2018-01-26 14:26:50 430
原创 Java内部类
参考资料内部类非静态内部类静态内部类使用内部类在外部类内部使用内部类在外部类以外使用非静态内部类在外部类以外使用静态内部类局部内部类匿名内部类参考资料[1]. 疯狂Java讲义(第三版) 李刚内部类非静态内部类内部类因为是视同类成员,所以有四种权限,定义语法格式如下:[public|protected|private] clas
2018-01-25 19:52:31 157
原创 Java 8新增的Lambda表达式
参考资料Lambda表达式Lambda表达式入门Lambda表达式与函数式接口方法引用与构造器引用引用类方法引用特定对象的实例方法引用某类对象的实例方法引用构造器Lambda表达式与匿名内部类的联系与区别参考资料[1]. 疯狂Java讲义(第三版) 李刚Lambda表达式Lambda表达式入门允许使用更简洁的代码来创建只有一个抽象方法的接
2018-01-25 19:49:35 711
原创 Arrays方法的使用
参考资料[1]. 疯狂Java讲义(第三版) 李刚代码实例parallelSort为数组排序String[] arr1 = new String[]{"aa", "aaa", "aa", "a", "aaaaa"};// 使用Lambda表达式Arrays.parallelSort(arr1,(o1,o2) -> o1.length() - o2.length())
2018-01-25 19:26:43 1093
转载 Java UML图的资料
参考资料[1]. UML类图与类的关系详解, http://www.uml.org.cn/oobject/201104212.asp [2]. 类图(Class Diagram), https://www.cnblogs.com/hongguang-kim/p/5698710.html [3]. 看懂UML类图和时序图, http://design-patterns.readthed
2018-01-24 11:50:05 189
原创 Java抽象类
参考资料抽象类抽象方法和抽象类抽象类的作用Java 8 改进的接口Java 8中接口的定义接口的继承使用接口面向接口编程简单工厂模式命令模式参考资料[1]. 疯狂Java讲义(第三版) 李刚抽象类抽象方法和抽象类抽象类可以继承非抽象类 基本规则// 抽象类必须使用abstract修饰符来定义,即成为抽象类// 这个
2018-01-22 11:34:50 899
原创 阿里巴巴Java开发手册
参考资料[1]. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》下载, https://www.cnblogs.com/han-1034683568/p/7680354.html [2]. 《阿里巴巴Java开发手册》扫描插件正式发布–插件安装和使用分析, http://blog.csdn.net/u010648555/article/details/78
2018-01-22 09:59:34 156
原创 Java数组的解读
参考资料数组类型Java数组的一些特点定义数组数组的初始化静态初始化动态初始化使用数组foreach循环深入数组内存中的数组基本类型数组的初始化引用类型数组的初始化没有多维数组参考资料[1]. 疯狂Java讲义第三版,李刚 数组类型Java数组的一些特点Java的数组要求所有的数组元素具有相同的数据类型。因为类和类之
2018-01-18 20:33:15 222
转载 MySQL的判断使用
参考资料[1]. MySQL使用if判断, https://www.cnblogs.com/zr520/archive/2016/11/08/6044153.html [2]. MySQL的if,case语句使用总结, http://outofmemory.cn/code-snippet/1149/MySQL-if-case-statement-usage-summary
2018-01-17 14:10:13 1600
转载 okhttp的使用
参考资料[1]. 官方网站,http://square.github.io/okhttp/ [2]. GitHub下载地址,https://github.com/square/okhttp [3]. 彻底入门OkHttp使用——官方教程解析, https://m.2cto.com/net/201605/505364.html [4]. OkHttp3 最有营养的初级教程, https
2018-01-15 22:13:58 233
原创 Java 8 新增的DateTimeFormatter类
参考资料[1]. 疯狂Java讲义(第三版) 李刚使用DateTimeFormatter完成格式化DateTimeFormatter[] formatters = new DateTimeFormatter[]{ // 直接使用常量创建DateTimeFormatter格式器 DateTimeFormatter.ISO_LOCAL_DATE,
2018-01-13 09:37:53 27181 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人