自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (10)
  • 收藏
  • 关注

原创 java5.30学习笔记

bufferedWriter的原理: https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html 这个writer并不会立即将字符写入目标流里,而是先暂时写在一个“缓冲区”,直到如下情况,缓冲区里的内容才会输出到输出流里: 1 缓冲区满了 2 调用了BufferedWriter的flush方法 3 调用了Bu

2016-05-30 19:52:52 266

原创 java学习笔记5.29

获取当前日期:java.util.Date; 数三退一算法:/*面向对象的思路,考虑问题域中的名词作为类,然后考虑每个类需要什么属性*/public class Count3Quit3 { public static void main(String[] args) { KidCircle c = new KidCircle(500); int

2016-05-29 09:43:38 268

原创 java学习笔记继承和多态5.24

继承和多态多态多态意味着父类的变量可以指向子类的对象。

2016-05-26 09:20:53 259

原创 java45hashCode和toString

什么是Hash算法? 输入一个任意长度的数据处理后产生一个唯一的散列值。hashCode方法调用hashCode方法产生一个整数值。如果两个对象用equals比较后相等,则hashCode的散列值也应该相同。 需要根据情况重写。 toString方法: 重写使之满足使用。目的是将成员变量直接打印出来。

2016-05-25 15:41:30 255

原创 java44equals函数的作用

“==”操作符的作用判断两个引用是否指向堆内存中的同一个地址。equals作用判断两个对象的内容相等通常情况下需要复写equals函数。 1.两个对象的类型相同可以使用(instanceof操作符进行比较)。 2.两个对象成员变量的值相同。

2016-05-25 15:02:58 251

原创 java43类集框架(三)

Map和HashMap的使用方法JDK的帮助文档Map和HashMap的使用方法HashMap是Map的实现类。 映射(map):每一个元素包含一个键对象和值对象,键不可以重复值可以重复。 put(键,值):将一对键值对加入其中。 get(键):返回键对应的值如果键没有对应的值返回空。JDK的帮助文档import java.util.Map;import java.util.HashMa

2016-05-25 13:35:56 220

原创 java42类集框架(二)

Collection和Iterator接口boolean add(Object o) :向集合中加入一个对象 void clear() :删除集合中的所有对象 boolean isEmpty() :判断集合是否为空 remove (Object o) :从集合中删除一个对象的引用 int size() :返回集合中元素的数目。 上述方法都在集合,列表,映射中重

2016-05-25 10:25:54 292

原创 java41类集框架(一)

什么是类集框架集合的种类类集框架的基础结构list的使用初步什么是类集框架1.是一组类和接口 2.位于java.util包中 3.主要用于存储和管理对象 4.主要分为三大类集合、列表、映射。集合(set)中的对象不按特定方式排序并且没有重复的对象。放入和取出的顺序不同表现出无序。列表(list):集合中对象按照索引位置排序,可以有重复的对象。映射(map):集合中的每一个元素包含一

2016-05-25 09:46:57 310

原创 java40java中的数组

数组的类型数组的定义方法一维数组二维数组数组的操作方法数组的类型数组的定义方法一维数组int[] arr = {1,2,2,}; 数组的静态定义方法。 int[] arr = new int[4];动态定义法。 整形数的默认值为0,char类型的默认值为空字符。boolean为false。二维数组int[5][2] arr = {{1,3},{2,5}{4,6}{4,5}{7,9}}

2016-05-25 09:40:06 232

原创 java39深入同步语法

深入synchronized关键字思路:新建Service 类内含有fun1和fun2函数,全部用同步锁锁住 新建两个线程体分别为MyThread1和MyThread2分别运行fun1和fun2函数,然后新建Test2文件分别新建两个线程。class Service{ public void fun1(){ synchronized(this){ t

2016-05-25 09:05:10 288

原创 java38java中的线程(三)

多线程的数据安全同步线程的方法多线程的数据安全同步线程的方法

2016-05-24 23:59:32 221

原创 java37java中的线程(二)

线程的第二种控制方法线程的简单控制方法Threadsleep括号内为休眠时间单位毫秒休眠结束后进入预启动状态等待cpuThreadyield当前线程让出cpu重新争夺cpu设置线程的优先级线程的第二种控制方法class RunnableImp implements Runnable{ public void run(){ for(int i = 0;i < 100;

2016-05-24 23:04:53 260

原创 java36多线程(一)

进行和线程多进程操作系统中能同时运行多个任务(程序)多线程:同一应用程序中有多个顺序流(同时)执行。创建线程的方法:方式一:定义一个线程类,它继承类Thread并重写其中的方法run(),方法run()成为线程体。 由于java只支持但继承,用这种方法继承的类不能再继承其他类。 启动线程宜定盈要用start方法不能用其他方法。public class FirstThread extends Th

2016-05-24 22:08:24 312

原创 java35java当中内部类和匿名类

内部类class A{ calss B{ } } 定义在类内部的类编译后产生的文件为A.class和A$B.class语法外部类.内部类 对象名 = new 外部类(). new 内部类(); 内部类可以使用外部类的成员变量。每一个内部类的对象和外部类对象相关联。但是使用时发现如果外部和内部各自新建对象内部类使用外部类变量值,外部变量值为0。解决方法:直接引用外部类的对象,建立

2016-05-24 20:58:02 234

原创 java34java中的IO(三)

处理流的实例生成对象的方法装饰者Decorator模式节点流与处理流的关系处理流的实例BufferedReader属于字符流,全称字符输入处理流。 优势是一次读取一行的信息 public Sring readLine() throwsIOExceptio生成对象的方法BufferedReader in = new BufferedReader(newFileReader

2016-05-24 18:33:39 283

原创 java33java当中的IO(二)

大文件的读写方法字符流的使用方法大文件的读写方法采用循环读取的方法,当read方法返回值为-1时,说明文件全部读取完毕跳出循环while(true){int temp = fils.read(buffer,0,1024);if(temp == -1){break;}fos.write(buffer,0,temp);}关闭IO流: 关闭代码不可以放在while语句或者catch语句中,

2016-05-24 14:52:55 274

原创 java学习笔记5.23对象和面向对象的思考,继承和多态

对象面向对象的思考类的关系基本数值类型当做对象对象this的用法: this指向调用调用对象本身的引用名,谁调用指向谁。 当使用静态的变量时需要用类名来调用函数中的静态变量。赋值时this可以代替类名接受参数的传递。import java.util.*;public class TestWatch{ public static void ma

2016-05-23 11:12:24 335

原创 java学习笔记5.22多维数组以及对象和类

声明二维数组: 数据类型【】【】 数组名; 数据类型 数组名 【行数】 【列数】; list = new int[4][3]; int[][] list = { {1,5,4}, {2,3,1,}, {,,}, }; 访问数据 list[2][1] = 2;下标必须在方括号内。 数组的长度:有数组中的行来决定即第一个下标例如 list.length = 4;因为有4行, 其

2016-05-22 08:55:12 1562

原创 java学习笔记5.21(数组)

声明数组变量: 元素类型[] 数组引用变量; double[] mylist; 或者 double muylist[]; 创建数组:数组引用变量 = new 元素类型【数组大小】 合并后的结果: 元素类型【】 数组引用变量 = new 元素类型【数组大小】; 或者 元素类型 数组因引用变量【】 =new 元素类型 【数组大小】 元素赋值: 引用变量【下标】 = 值。 dou

2016-05-21 15:27:45 273

原创 java学习笔记5.20

逐步求精:自上而下将设计思路列出然后再考虑如何实现。 “flow st=>start: 开始 e=>end: 结束 op=>operation: 我的操作 cond=>condition: 确认?st->op->cond cond(yes)->e cond(no)->op

2016-05-20 09:04:42 234

原创 java学习笔记5.19

什么时候使用16进制和10进制

2016-05-19 00:18:29 482

原创 java学习笔记5.18

i++和++i运算过程都是先自身加1然后i++是将旧值返回,++i是将新的值返回。所有二元操作符都是左结合的。 优先级顺序:1.括号内优先级最高 1. 后置操作符i++/i– 2. 正负号,前置操作都++i,–I 3. 类型转换 4. !非 5. 乘除和求余* / % 6. 加减 7. 比较操作符 > = 8. 相等操作符== != 10.^ 11.与。

2016-05-18 09:59:57 406

原创 java学习笔记5.17

int i = j = k = 2;的错误之处在于,只声明了变量i,未声明j,k。 常量声明方法:final double PI =3.14159; final 是声明常量的关键字。 变量和方法遵循驼峰命名法第一个首字母小写后面单词首字母大写。 类名的首字母大写。 大写常量中的所有字母,两个单词用下划线连接。MAX_VALUE 键盘输入不同的数值: double s = y.next

2016-05-17 10:50:06 388

原创 java学习笔记5.16

java不直接支持控制台输入但是可以使用Scanner类来创建对象,读取来自System.in的输入: Scanner input = new Scanner(System.in); nextDouble()方法的作用:从Scanner的输入流,读取一个字符串,并假设这个字符串符合数字格式, 然后将它转换成双精度的浮点数 比如输入是字符串”12.9” 那么返回值就应该是 double类

2016-05-17 00:11:59 193

原创 java32java当中的IO(一)

I/O的操作目标 从数据源中读取数据,以及将数据写入到数据目的地当中。文件、屏幕、网络 输入流、输出流:stream 建立传输数据的管道。 IO的分类方法 1.输入流和输出流 2.字节流:读取数据以字节byte为单位处理 字符流: 读取数据以字符为单位读取文件和写入文件的方法 1.节点流: 2.处理流:在节点流的基础上对数据进行加工I/O的字节流核心类 InputStream—

2016-05-16 22:58:58 258

原创 java31java当中的异常(二)

throw的作用 throw + 异常对象 class User{ private int age; public void setAge(int age){ **if(age < 0){ RuntimeException e =new RuntimeException(“年龄不能为负数”); throw e; }** thi

2016-05-15 22:17:11 253

原创 java30接口的异常(一)

什么叫异常exception 中断了正常指令流的事件; 在编译过程中无问题,在运行中出现了问题! arithmetic:算数,运算 thread:线程,螺纹 异常的分类: 1.Throwable异常基本父类 2.Error虚拟机错误产生后虚拟机直接关闭 Exception:throwable的直接子类有很多异常子类。 3.异常的子类:Runt

2016-05-15 18:13:33 833

原创 java29接口的应用

为什么使用接口? 因为不同的子类对于某种方法的实现方式不同,所以需要子类自己重写接口中的函数。 接口的默认访问级别为public,对于继承他的子类,访问权限不能比接口的访问权限小,也就是要大于等于,最高权限就是public,不能再比他高了,所以只能是public。工厂方法模式 思路: 将生成对象的代码封装在一个新类中,使用时只需调用其中的方法即可。方便的对生成对象的类进行删减。 class

2016-05-15 17:46:52 358

原创 java28接口的基本语法

什么是接口? 接口就是标准,定义了接口就是定义了调用对象的标准。接口interface的语法 1.interface的定义:interface Person{}; 2.接口当中的方法都是抽象方法。 3.接口中的方法都是public权限。 interface Usb{ void read(); void wridte() } 可以省略public。接口不能生成对象。只能继承接口重写

2016-05-15 09:34:44 325

原创 java27包和访问权限(三)

访问权限和继承 //如果子类和父类不在同一个包当中,子类可以继承到父类当中的default权限的成员变量和成员函数,但由于权限问题无法使用。 package m; //如果子类和父类不在同一个包当中,子类可以继承到父类当中的default权限的成员变量和成员函数,但由于权限问题无法使用。 class Person{ String name; int age; void eat(){

2016-05-15 08:02:00 443

原创 java26包和访问权限(二)

java中的访问权限 public:公共权限:可以修饰类,成员变量和成员函数。如果类名为public权限,则类名必须和文件名相同。无限制使用。 private:私有权限:只能够修饰变量和函数,变量和函数只能在当前的类中使用。 default:包级到访问权限:不声明的话自动为default权限,可以修饰成员变量和成员函数,必须在同一包中使用。 protected:受保护权限:软件包的导入

2016-05-14 16:07:26 401

原创 java25包和访问权限(一)

什么是java的软件包? java的文件夹javac -d . 作用根据package的包名生成文件夹.* :代表当前目录* -d e:\windows 生成的文件夹放在E盘windows文件夹内。 一个类的全名应该为包名“包名“ + ”.“ + ”类名“package m;class Test0{ public static void main(String[] args){

2016-05-14 15:21:23 356

原创 java24为什么用抽象类

为什么要用抽象类:防止子类中忘记复写父类中的抽象函数。 这样忘记时程序就无法运行子类程序。 现代编程理论认为如果一段代码在语义上是有错误的那么在语法上也应该是有错误的。 当无法写出子类通用的函数时,建议在父类中将此函数设为抽象函数。

2016-05-14 14:51:04 355

原创 java23抽象类和抽象函数

1. 抽象函数的语法特征 只有函数的定义,没有函数体的函数被称为抽象函数;例如: abstract//抽象的,摘要 void fun(); 2. 抽象类的语法特性 使用abstract定义的类成为抽象类; 1.抽象类不能生成对象; 2如果一个类中含有抽象函数,那么这个类必须被声明为抽象类; 3如果一个类中没有抽象函数,那么这个类也可以被声明为抽象类。 注意:

2016-05-14 14:10:47 390

原创 java22面对对象应用(一)

本章学到的: 尽量应用extends语法减少程序中的重复代码保持程序的可延展性和可维护性

2016-05-13 22:21:51 313

原创 java21对象的转型

此章非常重要对象的向上转型:将子类的对象赋值给父类的应用。 Student s = new Student(); Person p = s;或者Person p = new Student();Created with Raphaël 2.1.0StudentStudentPersonPerson向上转型被继承一个引用能够使用哪些成员(变量和函数),取决于这个引用的类,所以对象p只能使用P

2016-05-13 20:09:48 397

原创 java20函数的复写override

复写:子类继承的父类成员函数不适合子类应用,修改的过程叫做复写。 Student1(String name ,int age, int grade){ //this.name = name; //this.age = age; super(name,age); this.grade = grade; } *

2016-05-12 21:09:27 469

原创 java19子类实例化过程

class Person1{ String name; int age; Person1(){ System.out.println(“Persom的无参数构造函数”); } Person1(String name , int age){ this.name = name; this.age =

2016-05-12 20:37:02 297

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-05-12 19:34:46 225

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除