
java学习笔记
一JJL
这个作者很懒,什么都没留下…
展开
-
java中的八种数据类型、变量与常量
内存空间所占字节数(8位等于1字节) 数值型: 1.整数类型:byte(1)、short(2)、int(4)、long(8) 2.浮点类型:float(4)、double(8) 字符型:char(2) 布尔型:boolean(1或4) 取值范围: byte:-128-127 short:-32768-32767 在定义变量时,要注意变量的取值范围,超出相应范围就会出错,对于long类型值,若赋值大...原创 2019-03-24 20:05:44 · 1097 阅读 · 0 评论 -
java面向对象——高精度数据类型 国际化i18n的基本用法
高精度数据类型 java.math包下 高精度类型不能用equals比较 用compareTo比较 0 相等 1 前面数要大 -1 后面数要大 add 加法 divide 除法 subtract 减法 multiply 乘法 国际化 java.text包下 根据你当前的语言环境 加载不同的语言资源包 展示不同的语言环境 internationalization 国际化 简称i18n Resourc...原创 2019-04-29 08:15:22 · 610 阅读 · 0 评论 -
java高级——集合list Set Queue Stack Map、泛型
集合只能存放包装类 set可以去重,是一个无序的集合 TreeSet只能存放单一数据类型,自然排序 Collection 超类 是除了Object类的最终的父类 ArrayList类是一个有序列表,可以存放任意类型的数据,数据不能是基本数据类型, 会自动转换为包装类,不会去重,取出来的还是该顺序 TreeSet是一个无序列表,即存放进去的顺序跟拿出来的顺序不一致,会自动排序, 从小到大自然排序,自...原创 2019-05-15 10:48:03 · 308 阅读 · 0 评论 -
java高级——异常和错误 常见的十种运行时异常
异常和错误 基本的概念:都是一些具体的类和类中的方法 异常类的超类 Throwable 异常类 Exception 继承 Throwable 错误类 Error 继承Throwable 每一个异常类 都是Exception的子类 它封装了一种错误信息。 常见的运行时异常 ArithmeticException 被除数不能为0的异常 NullPointerException 空指针异常 Array...原创 2019-05-25 16:11:30 · 1274 阅读 · 0 评论 -
java高级——IO流 File 字节流 字符流 管道流和节点流 打印流 内存流 对象序列化
File 获取文件或文件夹信息,该文件可以不存在 获取一个文件的最后修改时间,精确到时分秒: File f=new File("D:\\jiu.txt"); Date d=new Date(f.lastModified()); DateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH小时mm分钟ss秒"); String format3 = df.for...原创 2019-05-23 19:05:25 · 275 阅读 · 0 评论 -
java高级——线程
线程执行的顺序是不固定的,是并行的关系 每一个线程都是相互独立的存在 守护线程就是等别的线程都死亡之后 它再死 但不代表它不会先执行 main线程不能被设为守护线程,因为守护线程需要先设置,后执行,而main线程是先执行的 守护线程必须在线程启动前调用 多个线程执行,宏观上并行,微观上串行 每一个线程在执行的时候,都会随机获取时间片,即CPU的使用时间 生产者与消费者: 分工 extends Th...原创 2019-06-01 20:58:00 · 144 阅读 · 0 评论 -
java jdk1.6的新特性 DeskTop SystemTray Console类 Compiler API Http Server API
DeskTop DeskTop类允许一个Java应用程序启动本地的另一个应用程序去处理URI或文件请求 Desktop desktop=Desktop.getDesktop(); //判断是否支持桌面 System.out.println(desktop.isDesktopSupported()); //打开一个网址 desktop.browse(new URI("http://www.baidu...原创 2019-06-08 00:11:22 · 293 阅读 · 0 评论 -
java jdk1.7新特性 二进制面值 数字变量对下划线 try-with-resourc 捕获多种异常并用改进后的类型 创建泛型时类型推断 环境变量 安全加减
二进制面值 为了开发更加简单,发明了二进制数字 例如: int a=0b00000001; 一般在前面加上0b,表示二进制数据 数字变量对下划线 long l=133_1232_2435l; 一般用于财务 switch对String的支持 在jdk1.7之后,switch里面的变量可以存放String类型 try-with-resource 用try()把代码块包起来 可以使资源管理自动完成 ...原创 2019-06-08 00:17:41 · 244 阅读 · 0 评论 -
java jdk1.8新特性 Lambda表达式 Stream流 新日期API
Lambda表达式 是替代接口的写法,只能用于接口 ()->{} 实例化接口 创建了一个LambdaEL$1的类,实现了接口 实例化LambdaEL$1的类,类会越来越多 匿名内部类 临时使用 有很多垃圾类 Lambda表达式 可以解决这个问题 Lambda表达式基于函数式编程 函数式写法 方法的参数作为自变量 所有的接口都可以实现函数式编程 可以使用函数的写法来代替接口中方法的写法 (自...原创 2019-06-08 00:21:29 · 430 阅读 · 0 评论 -
java面向对象——单元测试 maven仓库镜像下载地址 常用的正则表达式 捕获组和非捕获组 正则表达式的拆分
单元测试 单元测试的目的在于测试一个方法中的代码是否出错 如果出错则显示暗红色条 没有错误显示绿色条 为什么要使用单元测试:为了正确的检测代码有效性 以及结果的正确性 下载2个jar包 junit hamcrest //是junit的依赖包 框架 很多个jar包 jar包 工具包 如何导包 在项目中创建一个lib文件夹 将jar包拷贝到该文件夹中 Build Path->Add to...原创 2019-04-23 21:42:00 · 423 阅读 · 0 评论 -
java面向对象——普通代码块 静态代码块 构造器 内部类 包装类
普通代码块 代码块就是在类中用{}括起来的代码 相当于一个无名的普通方法,不能返回值,不能有任何的return关键字 1.代码块不能被调用 2.一般用于初始化数据,和构造器是同样的作用 3.它在实例化的时候会被自动调用,只能调用一次 4.实例化的时候,先执行代码块,再执行构造器 静态代码块 相当于静态方法 执行顺序: 静态代码块-普通代码块-构造器 静态代码块优先于main方法执行 静态资源只能调...原创 2019-04-21 20:18:56 · 196 阅读 · 0 评论 -
java面向对象—— String类 Date类 Calendar类
String类 String类和四类八种数据类型不一样 使用频率非常高 为了简化代码 String类不需要实例化 String类的数据永远存放在常量池 new String()实际上创建2个对象, 一个堆中的地址,一个常量池中真实的数据 String类不用创建,可以直接调用 toCharArray():把字符串分隔开 ...原创 2019-04-20 20:58:53 · 206 阅读 · 0 评论 -
运算符及类型转换
运算符: 赋值运算符:= 算术运算符: +、-、*、/、% 单目运算符: ++a(–a) //表示在使用变量a之前,先使a的值加(减)1 a++ (a–) //表示在使用变量a之后,使a的值加(减)1 比较运算符: <、>、==、>=、<=、!= 逻辑运算符: &&、& 逻辑与(区别:“短路”与“非短路”,&&在第一个表达...原创 2019-03-24 21:12:41 · 190 阅读 · 0 评论 -
java中常用快捷键的用法
Alt+Shift+N 创建新项目、元素或资源 Ctrl+W 关闭当前编辑器 Ctrl+Shift+W 关闭所有编辑器 Alter+Enter 打开所选元素的属性对话框原创 2019-03-23 19:12:53 · 605 阅读 · 0 评论 -
java面向对象——类的组合 JVM中内存原理 Object类的方法
类的组合 类和类之间的两种关系: 1.继承 2.组合:把一个类当作属性 例如private Tools tool; 非四类八种的全局变量 JVM在堆也会初始化为null 非四类八种的变量都只占一个字节,因为里面存放的是地址 非四类八种的数据类型,可选值只有两种,null或new 组合类一般前面加static,保证所有方法中都可以使用它 程序一运行起来,就会在堆中初始化类中的方法 ,常量池里面的方法...原创 2019-04-11 12:04:10 · 231 阅读 · 0 评论 -
数组
数组的数据存放在堆中,堆里面的数据会自动初始化 局部变量(在方法里面定义的变量)一定要初始化,不然使用这个变量就会报错 数组中变量地址永远指向栈,采用迂回的方式,通过栈的首地址找到堆,从而操作这块内存 非四类八种的变量叫引用变量,比如数组是引用变量 定义数组一定要给一个长度,一经定义,不能改变 非四类八种数据类型之外的其他数据类型在栈中只有一个字节 在堆中的数组个数是行数加一 array 栈中的地...原创 2019-04-02 13:35:20 · 117 阅读 · 0 评论 -
java面向对象——静态方法 普通方法 成员变量 局部变量 形参 使用一个方法的步骤
面向对象的概念就是封装 void也是一种返回值类型 空返回值类型 有返回值类型的方法一定要返回,哪怕这个返回值没有意义 也得返回 静态方法可以直接调用本类中其他的静态方法 静态方法不能直接调用普通方法 一定要new对象 本类的静态方法必须通过类名.静态方法去调用其他类的静态方法 本类的静态方法中调用本类的静态方法可以省略类名 普通方法中可以直接调用静态方法 普通方法中可以直接调用本类的其他普通方法...原创 2019-04-08 21:37:03 · 308 阅读 · 0 评论 -
java面向对象——继承 super this final 重载 重写 构造器
继承 本质是扩充 new时会先new父类再new子类 特殊场景 :资源同名 只要无法区分 就近原则 先找本类再找父类 静态全局变量 常量池中只有一份 后面覆盖前面的 常量池也会初始化 this表示自己 替换原则 表示调用的是自己的资源 从父类继承的也算 this只能调用普通方法 this.全局变量 this.本类的普通方法 super表示直接父类的资源 super.直接父类的全局变量 super...原创 2019-04-09 12:57:50 · 146 阅读 · 0 评论 -
java面向对象——static关键字 访问修饰符 方法类 数据类
static 可以修饰内部类 可以修饰全局变量 在常量池中 可以被所有方法使用 可以修饰方法 静态方法 访问修饰符: 4种 可以限制资源的使用场景 public 在任何地方使用 private 只能在类中只有 protected 只能在类和同包中的其他类 还有子类 default 没有修饰符就是default 只能在类和同包中的其他类 如果资源上面没有访问修饰符,默认就是defaul...原创 2019-04-09 13:23:52 · 281 阅读 · 0 评论 -
java面向对象——接口 抽象类 对象参数 单例模式 多态
接口 定义规则 (模板) (常量 抽象方法) 可以被类去实现(类和类之间是继承expends 类和接口是实现implements) 接口中全部都只能有方法签名,没有方法体 接口可以允许两种资源 常量 方法签名 接口中的常量可以不需要使用ststic final修饰 只要加了全局变量,全局变量就是常量 接口中方法只有方法的签名,不能有方法体 接口和类不同 不能被实例化 当类实现接口时,必须实现接口...原创 2019-04-16 14:38:33 · 241 阅读 · 0 评论 -
java jdk1.5的新特性——泛型 ForEach 枚举 可变参数 静态导入 线程并发库 内省
泛型 加泛型的目的 1.数据安全 一般在使用集合的时候,我们都会给它加一些泛型,限制添加数据的类型 2.少写几个类 例如在属性类中添加泛型: public class Person<T> { private int pid; private T age; private String name; } 在使用时再添加类型: Person <Integer&...原创 2019-06-03 21:21:08 · 215 阅读 · 0 评论