自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱写Bug

欢迎关注微信公众号:爱写Bug

  • 博客(31)
  • 收藏
  • 关注

原创 字符处理类Reader&Writer

1 、Reader与 Writer继承架构 针对字符数据的读取, Java SE提供了java.io. Reader类,其抽象化了字符数据读入的来源。针对字符数据的写入,则提供了java.io. Writer类,其抽象化了数据写出的目的地。如果想从来源读入字符数据,或将字符数据写至目的地,都可以使用下面的 CharUtil.dump()方法:package intoutput;impor...

2018-04-30 21:00:58 283

原创 InputStrem与OutputStrem

通用dump方法(BufferedInputStream改写更好):package intoutput;import java.io.*;public class IO { private static void dump(InputStream src, OutputStream dest) throws IOException { try (InputStr...

2018-04-30 20:16:31 341

原创 键值对应Map

Map(支持泛型)架构: 实际上还有Properties继承HashTable。 常用Map操作类有Java.util.HashMap与Java.util.TreeMap。HashTable不建议用,但子类Properties常用。 1、HashMap 建立Map操作对象时,可以使用泛型语法指定键与值的类型。要建立键值对应,可以使用put()方法,第一个自变量是键,第二个自变量是值。对...

2018-04-30 16:12:02 1977

原创 泛型、Lambda简介

泛型: 在使用Collection收集对象时,由于事先不知道被收集对象的形态,因此内部操作时都是使用 Object来参考被收集的对象,取回对象时也是以 Object类型返回。由于取回对象时会以 object类型返回,若想针对某类定义的行为操作时,必须告诉编译程序,让对象重新扮演该类型。例如 List names = Arrays. aslist("Justin","Monica","Ir...

2018-04-30 13:08:55 2047

原创 C语言数组求鞍点(行列最大数)(字符串连接、数组排序查找)

C语言数组求鞍点:#include <stdio.h>#include <time.h>void main() { int i, j, m = 0, n = 0, a[5][5]; srand(time(0)); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j...

2018-04-29 15:26:05 427

原创 sort()排序(Comparable、Comparator)

在收集对象之后,对对象进行排序是常用的动作。不用亲自操作排序算法Java.util. Collections提供有sort()方法。由于必须有索引才能进行排序,因此 Collections的sort()方法接受List操作对象。例如:package coll_map;import java.util.*;public class SortDemo { public stat...

2018-04-24 18:08:01 4831

原创 收集对象(Collection@List、Set、Queue)

在 Java SE中,提供了数个收集对象的类,可以直接取用这些类,而不用重新打造类似的API。1、Collection架构Java SE提供了满足各种需求的API,在使用些API前,建议先了解其继承与接口操作架构,才能了解何时该采用哪个类,以及类之间如何彼此合作,而不会沦于死背API或抄写范例的窘境。 针对收集对象的需求, Java SE提供了 Collection API: ...

2018-04-22 21:35:11 192

原创 异常与资源管理(自动关闭资源细节)

程序中因错误而抛出异常时,原本的执行流程就会中断,抛出异常处之后的程序代码就不会被执行,如果程序开启了相关资源,使用完毕后应当关闭资源。若因错误而抛出异常,应当考虑是否还能正确地关闭资源。1、使用 finally 如果创建 FileInputstream实例就会开启文档,不使用时,应该调用 close()关闭文档。 Fileutil中是通过 Scanner搭配 FileInputstream...

2018-04-22 10:56:31 563

原创 Java语法与架构中的异常处理(assert断言、堆栈追踪)

程序中总有些意想不到的状况所引发的错误,Java中的错误也以对象方式呈现为java.lang.Throwable的各种子类实例。只要你能捕捉包装错误的对象,就可以针对该错误做一些处理,例如,试恢复正常流程、进行日志( Logging)记录、以某种形式提醒用户等1、使用try、catch 如下小程序,用户可以连续输入整数最后输入0结束后会显示输入数的平均值package errorD...

2018-04-21 21:57:32 2284

原创 匿名内部类联机实例

在撰写Java程序时,经常会有临时继承某个类或操作某个接口并建立实例的需求。由于这类子类或接口操作类只使用一次,不需要为这些类定义名称,这时可以使用匿名内部类( Anonymous Inner Class)来解决这个需求。匿名内部类的语法为:new 父类()|接口(){//类本体操作}Object obj=new Object() { @Override ...

2018-04-21 17:16:43 145

原创 C语言数组循环后移4次&&输入字符串中数字后移

1、C语言数组循环后移4次int a[9]={1,2,3,4,5,6,7,8,9},i,j,k,tmp;void main(){ for (i = 0; i < 4; i++) { tmp=a[0]; for (j = 0; j < 8; j++) { a[j] = a[j+1]; } ...

2018-04-21 15:26:36 3040

原创 接口语法细节(枚举常数)

1、接口的默认 在Java中,可使用 interface来定义抽象的行为外观,如接口中的方法可声明为 public abstract。例如:public interface Swimmer{ public abstract void swim();}接口中的方法没有操作时,一定得是公开且抽象,为了方便,你也可以省略public abstract。public int...

2018-04-15 21:10:18 465 1

原创 接口与多态

一个海洋乐园游戏,当中所有东西都会游泳。知道继承可以运用多态,定义fish类,类中有个swim()的行为:package hello;public abstract class Fish { protected String name; public Fish(String name) { this.name=name; } public...

2018-04-15 20:24:44 640

原创 Java中关于垃圾收集和抽象类

创建对象会占据内存,如果程序执行流程中已无法再使用某个对象,该对象就只是徒耗内存的垃圾。对于不再有用的对象,JVM有垃圾收集( Garbage Collection,GC)机制,收集到的垃圾对象所占据的内存空间,会被垃圾收集器释放。那么,哪些会被JVM认定为垃圾对象?简单地说,执行流程中,无法通过变量参考的对象,就是GC认定的垃圾对象 执行流程具体来说就是线程( Thread)如main()程序...

2018-04-15 18:53:33 134

原创 java.lang.Object(数组收集对象&重新定义)

在Java中,子类只能继承一个父类,如果定义类时没有使用 extends关键字指定继承任何类,那一定是继承java.lang. object也就是说,如果这样定义类:public class Some{...}那就相当于撰写:public class Some extends Object{}因此在Java中,任何类追溯至最上层父类一定就是java.lang. Object,...

2018-04-15 17:42:28 4370

原创 继承与多态

面向对象中,子类继承( Inherit)父类,避免重复的行为定义,不过并非为了避免重复定义行为就使用继承,滥用继承而导致程序维护上的问题时有所闻。如何正确判断使用继承的时机,以及继承之后如何活用多态,才是学习继承时的重点。 1、继承共同行为 继承基本上就是避免多个类间重复定义共同行为。以实际的例子来说明比较清楚,假设你正在开发一款RPG(Role- Playing Game)游戏,一开始设定的...

2018-04-15 16:11:52 368

转载 Eclipse快捷键

Eclipse 常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。 2. 【Ctrl+O】 显示类中方法和属性...

2018-04-15 13:36:04 114

原创 不定程度自变量&(匿名)内部类&传值调用

不定长度自变量 在调用方法时,若方法的自变量个数事先无法决定该如何处理,例如 System. out. printf () 方法就无法事先决定自变量个数: Sys tem. out. printf("&d",10)i System. out. printf("%d%d", 10, 20); system. out. printf("%d %d %d", 10, 20, 30);...

2018-04-14 16:47:43 194

原创 构造函数与方法重载

构造函数: 在定义类时,可以使用构造函数定义对象建立的初始流程。构造函数是与类名称同名,无须声明返回类型的方法。例如:package hello;public class LoadDemo { private int a; private String txt; public LoadDemo(int a,String txt) { this...

2018-04-14 15:16:00 1844

原创 C语言查找素数的几种实现方法及代码的优化

#include <stdio.h>void main() { int x=1,i,j,k=0; printf("700到800之间的素数有:\n"); for (i = 700; i <= 800; i++) { for (j = 2; j < i; j++) { if ((i%j )!= 0) {...

2018-04-14 01:25:17 17759 3

原创 统计字母数字空格及其他字符&数组数据排序&二分查找法

1.编程从键盘输入若干字符,直到输入字符’*’为止,统计其中的字母字符、数字字符、空格符及其他字符的个数并输出统计结果。#include <stdio.h>#include <string.h> void main(){ char str[30]; int i,space=0,strings=0,other=0,nu...

2018-04-12 18:23:26 1306

原创 Java重要关键字

权限关键字private权限修饰 声明为 private的成员表示为类私有,用户无法在其他类的程序代码中直接存取。如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是“包范围权限”。如果不同包的类程序代码中,想要直接存取就会出现错误信息。如:public class CashCard { private int balance; public ...

2018-04-09 18:11:29 296

原创 Java的封装

何谓封装定义类并不等于做好了面向对象中封装(Encapsulation)的概念,那么到底什么才有封装的含义?你必须以对象的角度来思考问题。 封装对象初始流程 假设要写个可以管理储值卡的应用程序,首先得定义储值卡会记录哪些数据,像是储值卡号码、余额、红利点数,在Java中可使用 class关键字进行定义public class CashCard { String number...

2018-04-09 16:54:01 218

原创 Java字符串对象及减少效能损耗

字符串对象 在Java中,字符串本质是打包字符数组的对象,是java.lang.string类的实例。同样地,前面讨论过的对象操作特性,字符串也都拥有,不过在Java中基于效能考虑,给予字符串某些特别且必须注意的性质. 字符串基础 由字符组成的文字符号称为字符串。例如," Hello"字符串由’H’、’e’、’l’、’l’、’o’五个字符组成,在某些程序语言中,字符串是以字符数组的方式存在,...

2018-04-07 21:40:37 309

原创 Java数组(深层)复制

了解数组是对象,就应该知道,以下这个并非数组复制: int[] scores1={1,2,3,4,5,6,7,8,9,0}; int[] scores2 = scores1; scores2[0]=99;//scores2第一个数改为99 for(int x:scores1) { System.out....

2018-04-07 20:37:18 405

原创 Java增强式for循环&数组是对象

int [][] cords= { {1,2,3,4}, {5,6,7,8} };//cords有两个索引cords.length=2for(int i=0;i<cords.length;i++) { for(int j=0;j<cords[i].length;j...

2018-04-07 19:47:22 1488

原创 自动装箱拆箱注意事项、了解Integer类缓存机制的“bug”

自动装箱、拆箱的内幕:自动装箱与拆箱的功能事实上是编译程序蜜糖( Compiler Sugar),也就是编译程序让你撰写程序时吃点甜头,编译时期根据所撰写的语法,决定是否进行装箱或拆箱动作。 Integer num=1;//自动装箱,编译程序自动展开为: Integer localInteger=Integer.valueOf(1); int foo=num;...

2018-04-05 00:34:04 268

原创 E754浮点数运算误差用Bigdecimal解决

java.math. Bigdecimaldouble类型:1.0-0.8的结果不是0.2,而是0.19999999999999996所以常用if(abs(result)<(pow(1,-6)))判断为相等你使用别的程序语言(如 Javascript.、 Python等)也有可能显示这个结果。简单来说,Java(包括其他程序语言)遵守E754浮点数运算( Floating- -Point A...

2018-04-04 00:38:29 232

原创 JRE与JDK的区别

看一段程序代码System. out. printin("Hello World")Java是个标准, System、out、 println都是标准中规范的名称。实际上必须要有人根据标准撰写出 System.java,编译为 System. .class,,这样这些名称才能在撰写第一个Java程序时,使用 System:类( Class)上out对象( Object)的 println方法(Me...

2018-04-02 00:22:54 541

原创 JVM深入认识JVM是什么

Java Virtual Machine(JVM)会架构在 Solaris、 LLINUX、 Windows各种操作系统平台之上。许多Java的书都会告诉你,JVM让ava可以跨平台,但是跨平台是怎么一回事在这之前,得先了解不能跨平台是怎么一回事。对于计算机而言,只认识一种语言,也就是0、1序列组成的机器指令。当使用C/C+等高级语言撰写程序时,其实这些语言,是比较贴近人类可阅读的文法,也就是比较...

2018-04-02 00:16:58 265

转载 Java学习注意项

1.深入了解JVM/JRE/JDK许多书籍对于 JVM/ JRE/JDK的说明,通常以极短的篇幅介绍,就是在短短几页中,请使用者依书中步骤安装与设定PATH、 CLASSPATH后,就开始介绍Java程序语言,而许多人到了业界后就开始使用IDE( Integrated Development Environment,代劳所有JDK细节。这么做的结果就是,在IDE中遇到与JDK相关的问题,就完全不知...

2018-04-02 00:05:38 147

空空如也

空空如也

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

TA关注的人

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