JAVASE
王一一的博客
人生若只如初见,当时只道是寻常。当你的才华还撑不起你的野心时,你就应该静下心来好好学习。
展开
-
JAVA-IO流-FileInputStream
//每次读取一个字节try { //文件输入流的对象一旦生成,那么这个流就是打开的。 FileInputStream fis = new FileInputStream("1.txt"); //每次只能读取一个字节 也有一个类似游标的东西。 //如果read 方法返回的是-1 表明该流读到末尾了。 byte temp[] = new byte[4]; ...原创 2018-03-24 15:20:03 · 307 阅读 · 0 评论 -
JAVA-StringBuffer
它是一个增强的String类,在长度可变上增强了。长度和内容都可变。 String是不可变的类型,即创建一个String对象后,就不能修改这个String,平常使用的”aa”+”bb”生成”aabb”这个过程中,实际是创建了三个String对象:”aa”, “bb”, “aabb”StringBuffer是相对于String的一个可变的类型,StringBuffer可以在原对象上进行加长或缩短等原创 2017-12-17 11:39:02 · 380 阅读 · 0 评论 -
JAVA-字符串String“”==“”的判断
关于字符串==判断 String a = “a”; String b = “b”; String c = “ab”;//方法区 直接赋值的方式 最多产生一个对象在方法区, 如果方法区中已经有了该字符串常量,那么只会把该常量的引用返回给c ,而不会创建新的对象。这种方式会产生0-1个字符串对象。 String d = a+b;//堆中 String e = “a” + “b”;//对于字符串原创 2017-12-17 11:36:27 · 2768 阅读 · 0 评论 -
JAVA-String类
string类型表示Unicode字符的字符串。 StringBuilder 类类似于string类型,但是功能更强。虽然String类功能很强,但是它也是不可改变的。这就是说一旦创建String对象,就不能够修改。表面看来能够修改字符串的所有方法实际上不能够修改。它们实际上返回一个根据所调用的方法修改的新的String。当需要大量的修改时,可使用StringBuilder类是一个final 修饰原创 2017-12-17 11:33:43 · 318 阅读 · 0 评论 -
JAVA-包装类
一、八种数据类型对应的包装类 关系: 自动封箱就是:自动将基本数据类型转换为包装器类型 自动拆箱就是:自动将包装器类型转换为基本数据类型从 jdk 1.5 出现之后自动封箱和自动拆箱,就有编译器帮助完成!Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个原创 2017-12-17 11:25:49 · 172 阅读 · 0 评论 -
JAVA-垃圾回收
heap 中都是对象。如果一个对象没有任何的引用在指向它,那么我们称之为垃圾内存。 jvm的垃圾回收器 GC 会根据jvm的内部算法在合适的时间对于那些垃圾内存进行回收,垃圾回收的工作具有一定的随机性。调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。 调用gc 方法等效于执行下面的代码:Runtime.getRuntime().gc(原创 2017-10-01 14:00:27 · 167 阅读 · 0 评论 -
JAVA-Exception异常
java 一共分两个阶段,编译期,运行期。 Object-Throwable Throwable是所有异常的根类,它有两个直接的子类,一个是Error(错误)(一般指比较严重的错误出现,比如系统崩溃等,不需要过多的关注) 另外的一个直接子类 Exception(异常)。Exception异常分为两大类: 1:RuntimeException 运行时异常,,只有在运行的时候才会检测是否会发生异原创 2017-10-01 13:59:41 · 253 阅读 · 0 评论 -
JAVA-比较器
Arrays.sort(Object[] objs);Comparable(可比、堪比、可比较的)接口 我们俗称之为 内部比较器 接口中只有一个方法 int compareTo(Object o) 只要我们某个类实现了该方法,我们自定义类的对象就具备了比较的功能。就可以使用Arrays.sort(Object[] os)进行排序了。 返回值是一个大于0 或者小于0 或者等于0 的值,,原创 2017-10-01 13:57:48 · 1171 阅读 · 0 评论 -
JAVA-数组
一、数组 数组:一组有顺序(指的是每一个元素都有一个编号–下标–索引)的数据,可以保存若干个数据。每一个数据我们称之为元素 一旦开辟空间之后。所有的元素都会由系统分配一个默认值。整数型:0,浮点型:0.0 boolean:false char 0 复合数据类型的:null 数组只能保存一种数据类型,数据类型可以是任意的类型 数组:有顺序,下标的顺序,从0开始,最大下标为length-1。原创 2017-10-01 13:54:20 · 175 阅读 · 0 评论 -
JAVA-多态
面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用) 实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的原创 2017-09-30 08:38:46 · 203 阅读 · 0 评论 -
JAVA-封装
权限修饰符: public 公开的 整个项目下 protected 受保护的 不同包下的子类 default 默认的 当前包下 private 私有的 当前类中private只是封装的一种手段而已,并不是private就是封装。封装:在你权限够不到的地方进行访问,对你来说都是封装。属性:一般原创 2017-09-30 08:34:10 · 329 阅读 · 0 评论 -
JAVA-StringBuffer与StringBuilder的区别
Stringbuilder非线程安全的。执行效率比较高 重效率,轻安全。StringBuffer和StringBuilder的共同点和区别 共同点: 1:都是对字符串做操作的。 2:都是可变的字符串序列。 3:底层都是使用char[]数组实现。 4:API(application program interface(方法))是兼容的不同点: 1:出现的时间不同StringBuffer原创 2017-12-17 11:41:23 · 206 阅读 · 0 评论 -
JAVA-日期类
1.Date时间Date date = new Date();System.out.println(date);System.out.println(date.toLocaleString());//过时的方法System.out.println(date.getDate());//当前的日期 一个月的第几天System.out.println(date.getDay());//星期几 返原创 2017-12-17 11:43:23 · 2677 阅读 · 0 评论 -
JAVA-多线程-线程控制
1.线程优先级 优先级最大值为10,最小值为1,默认为5,设置线程的优先级,不要超过它的取值范围,不然会抛出异常。 优先级高的线程,会优先得到 cup 的时间片的控制权。 RabbitThread rabbitThread = new RabbitThread(); rabbitThread.start(); rabbitThread.setPriority(Thread...原创 2018-03-24 15:14:39 · 542 阅读 · 0 评论 -
JAVA-多线程-生命周期
1:新建 当一个线程TicktThread1 thread1 = new TicktThread1(“窗口1”, ticket); 被new 出来的时候。线程就是一个新建的状态。2:就绪状态:当调用了start 方法之后。进入就绪状态。 就绪状态是什么状态:某一个时刻cpu 只能处理一个线程的事物。把时间片分配给需要执行的进程中的线程。 线程就绪状态之后,进入等待队列,等待cpu 的时间...原创 2018-03-24 15:13:06 · 202 阅读 · 0 评论 -
JAVA-多线程-线程与进程
1:程序:是一个静态的概念。可以理解为一个计算机指令的集合。2:进程:程序的一次执行就是一个进程。会向cpu 申请相应的资源,申请内存地址。 每个进程都是独立的。多个进程并发执行。(并发只是我们宏观上的感受,微观上是线性的。) 进程是向cpu申请资源的基本单位。3:线程:进程中(线程依赖于进程)一个完整的执行路径。线程一般可以称为轻量级的进程。 线程是生存在进程中的。如果进程结束...原创 2018-03-24 14:14:22 · 198 阅读 · 0 评论 -
JAVA-IO流
1:根据流的流向分为2类:输入流(InputStream,Reader),输出流(OutputStream,Writer) 2:根据流处理的数据的单元不同分为2类:字节流(只能以字节的方式去处理流中的数据,字节流的功能更强大 InputStream,OutputStream), 字符流(以字符为单位处理数据,只能处理文本 Reader Writer)。 3:根据处理的数据源的不同的分类:直...原创 2018-03-24 14:13:05 · 190 阅读 · 0 评论 -
JAVA-集合学习整理
collection(收藏) 作用:用来处理程序中各种类型的对象集合的。Iterator 迭代器 在集合框架中,我们可以通过Iterator 容器的迭代器对容器中的元素进行遍历。 所有可以使用Iterator进行迭代的集合,都必须实现Iterable接口。也就是说,实现了Iterable接口的容器具备了可以被迭代的功能。 该接口只有一个方法。iterator()得到当前容器的迭代器的...原创 2018-03-24 13:59:02 · 232 阅读 · 0 评论 -
JAVA-集合
集合框架:collection framework作用:用来处理程序中各种类型的对象集合的。数组的缺点: 定长,删除增加数组中的元素很不方便。 数组没有提供相应的接口更加方便快捷的操作数组的元素。集合框架提供了一套完整的解决方案。可以更加方便快捷的处理一组对象。封装了对不同类型对象的各种操作,比如,插入,删除,添加。集合框架中的类称为容器类。这些类都定义在java.util包中。原创 2018-01-10 17:54:21 · 170 阅读 · 0 评论 -
JAVA-Enum
枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用。用户通常利用枚举类型定义程序中需要使用的一组相关的符号常量。枚举类型的定义格式为: enum { }; 它是一条枚举类型定义语句,该语句以enum保留字开始,接着为枚举类型名,它是用户命名的一个标识符,以后就直接使用它表示该类型,枚举类型名后为该类型的定义体,它是由一对花括号和其中的枚举表所组原创 2018-01-01 12:34:59 · 248 阅读 · 0 评论 -
JAVA-System类
系统类,包含了一些和系统相关的一些操作的方法。currentTimeMillis() 获取当前系统时间。 重点 exit(int status) 退出jvm 如果参数是0表示正常退出jvm,非0表示异常退出jvm。 gc() 建议jvm赶快启动垃圾回收期回收垃圾。 getenv(String name) 根据环境变量的名字获取环境变量。 getProperty(key) 根据系统的属性名获原创 2018-01-01 12:30:35 · 187 阅读 · 0 评论 -
JAVA-Random
Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。常用方法random原创 2018-01-01 12:27:10 · 1462 阅读 · 0 评论 -
JAVA-Math类
关于数学相关的一个类,主要包含了一些数学公式,求绝对值,最大值最小值,和堆角度的操作的方法。(Math.cbrt(27));//立方根double result = 0;result = Math.ceil(2.2);//天花板,返回大于等于实际参数的正整数的值result = Math.floor(2.6);//地板,返回小于等于实际参数的正整数的值求最大值Math.max(1.0,原创 2017-12-17 11:45:18 · 175 阅读 · 0 评论 -
JAVA-equals方法
public boolean equals(Object obj){ if(obj instanceof Cat){//A instanceof B 判断 A对象 是不是 B类 的一个对象(实例) Cat c=(Cat)obj; if(c.furColor==this.furColor&&c.sex==this.sex&&c.we原创 2017-09-30 08:29:57 · 200 阅读 · 0 评论 -
JAVA-toString方法
toString() 方法可把一个逻辑值转换为字符串,并返回结果。 我们可以重写toString方法 让他显示我们想要的样式@Override public String toString() { return "Person [name=" + name + ", age=" + age + ", sex=" + sex + ", get原创 2017-09-27 11:20:24 · 204 阅读 · 0 评论 -
JAVA-继承
直接上代码 没有继承前的代码:public class Father { String name; int age; double height; public void eat(){ System.out.println("我要吃饭。。"); } public void sleep(){ System.out.prin原创 2017-09-18 14:53:30 · 333 阅读 · 0 评论 -
JAVA-while循环语句
while循环语句用法比for语句用起来简单,格式也对的简单;while(判断条件){ 循环体 }public class WhileTest { public static void main(String[] args) { int i=1; while (i<=10) { System.out.println("你好"原创 2017-01-17 10:14:14 · 66276 阅读 · 6 评论 -
JAVA-for循环语句
JAVA中如果一件事反复重复,就可以使用循环语句进行循环遍历。 for循环有二重和多重循环,一般情况下使用三重循环就已经可以解决问题了。格式: for(变量初始化;条件判断;迭代){ 循环体; }变量初始化:可以任意,如;i=0 、j=0 …… 条件判断:就是设置什么条件结束循环,如;i<=10,当 i 循环10次后就会终止循环 迭代:可以设置变量初始化是增加还是减少,如;i++、i–原创 2017-01-16 17:33:10 · 825 阅读 · 0 评论 -
JAVA-switch 选择语句
switch的用法和if的大体作用是一样的,但是在细节方面不一样,if语句主要用做范围性的判断选择,而switch判断的比较准确,类似于等值判断。用法: switch(判断条件){ case 与判断条件进行比较:判断成功执行;break(break的作用是执行完成后跳出); ……(可以写很多比较的case) case 与判断条件进行比较:判断成功执行;break; }switch的案例:p原创 2017-01-14 12:44:55 · 10260 阅读 · 0 评论 -
JAVA-if 选择语句
java中的 if 语句说白了就是进行判断,进行判断是否满足条件,如果满足条件就执行满足条件里的代码。 if语句又分为单分支、双分支、多分支。单分支: if(判断条件){ 执行代码 }双分支: if(判断条件){ 执行代码 }else{ 不满足第一个就执行此处代码 }多分支: if(判原创 2017-01-14 11:15:42 · 4700 阅读 · 4 评论 -
JAVA-Scanner扫描器
Scanner是一个用于扫描输入文本的实用程序。最常用的就是接收控制台输入的信息,还可以扫描文件输出信息等,实用的没有几个。 用法如下:package com.bjsxt.test;import java.util.Scanner;public class scannerTest { public static void main(String[] args) { //定义原创 2016-12-28 22:37:31 · 6544 阅读 · 0 评论 -
JAVA-基本数据类型
一、数据类型 常量是有数据类型的 变量必须声明其数据类型 (1)划分: 1.基本数据类型(四类八种) 数值型: 整数型:bute、short、int、long 浮点型:float、double 字符型:char 布尔型:boolean 2.引用数据类型:除基本数据类型外的所有都是基本数据类型数值型: 类型 所占空间 取值范围原创 2016-12-26 21:37:37 · 478 阅读 · 0 评论 -
JAVA-变量和常量
Java的变量和常量,但从字面意思来看就是变量是会变化的,常量感觉不会变,这只是从字面来看的。呢么到底是什么样的呢?举一个“栗子”!!!比如说一个人的年龄;今年我的年龄是20岁,明年我的年龄是21岁,呢么年龄就是变量,而今年的20岁,明年的21岁就是常量。变量就是随时会变化的,常量就是变量在变化时候某一阶段固定的呢个值。如; public static void main(String[] arg原创 2016-12-25 14:17:57 · 442 阅读 · 0 评论 -
JAVA-标识符、关键字、与编程风格
首先说说java的编程风格吧,在编写java程序时要遵守一定的规范,这个规范不是规定一定要遵守的,而是约定俗成的大家公认执行的。为的是能更好的管理、修改、阅读编写的代码。比如编写的代码注意缩进,就是人得体的穿着一样,这样有助于代码的阅读 ,不至于一眼望去感觉很混乱,头都大了。如:而不是像这样,这只是一点点的代码,可能还感觉不是很明显 再来说说Java的标识符是什么吧。Java的标识符也可以叫做标志原创 2016-12-24 16:01:53 · 491 阅读 · 0 评论 -
JAVA-API解释说明
Java-API分为两个意思;一种是应用程序接口,API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。另外一种意思就是本文所说的是一种对API应用程序接口的解释、说明,便于我们使用里面的接口、类和方法。JAVA API文档原创 2016-12-22 23:56:42 · 5475 阅读 · 1 评论 -
JAVA-注释详解
在编写Java代码时一定要写注释,注释是什么呢?注释就是对当前编写的代码或方法的一种解释说明,说明它的作用,方便后期修改维护时能快速的明白之前编写的是什么,作用是什么。 除了自己方便阅读,更为别人更好理解自己的程序,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。因为注释的代码或文字不会在程序编译运行时起作用,所以可以将不想使用但又不想删除的代码给注释起来,方便下次使用。注释分原创 2016-12-24 00:28:10 · 769 阅读 · 0 评论 -
JAVA-break、continue、return 的区别?
在Java中的break用来结束最近的循环,跳出循环语句。不管是for 循环还是while循环都可以使用。例如;public class Escape { public static void main(String[] args) { //break测试 int sum=0; for(int num=1;num<=100;num++){原创 2017-01-17 11:45:54 · 799 阅读 · 0 评论 -
JAVA-递归-斐波那契数列
程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件原创 2017-01-23 10:28:54 · 24923 阅读 · 6 评论 -
JAVA-abstract关键字
如果说父类中某些方法的实现没有任何的意义,那么方法体可以省略,参数列表后添加分号。该方法称为【抽象方法】。语法: [权限修饰符] abstract 返回类型 方法名 参数列表注:抽象方法没有方法体。如果一个类中有一个或者多个方法是抽象方法,那么该类必须被声明成 【抽象类】。语法: [权限修饰符] abstract class 类名 {}关于抽象类: 1:首先这是一个类,仍然是用来描述一系列对原创 2017-09-18 14:43:23 · 548 阅读 · 0 评论 -
JAVA-Interface关键字
接口: interface。 语法: 和定义类的语法很类似。把class 关键字换成interface 关键字即可 public interface Test{ }特点: 1:接口中所有的方法都是抽象方法。abstract关键字可以省略的。 2:所有的方法都是public修饰,也可以省略。 3:接口内的成员变量,只能是public static final 类型的。 4:接口不能有原创 2017-09-18 14:38:56 · 1927 阅读 · 0 评论