摘要: dbinfo.properties文件中的内容: driver oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@192.168.1.100:1521:bjpowernode username:\u5f20\u4e09 password=ti 阅读全文
posted @ 2017-08-24 16:20 ~~晴天~^.^ 阅读(350) 评论(0) 推荐(0)
摘要: 构造Class对象的三种方式: <!--WizRtf2Html Charset=0 --> 第一种方式: (1)对于系统的类,必须写全名! (2)该方式会将.Class文件装载到JVM中,会执行静态语句块! Class c1 = Class.forName("Employee"); //c1引用保存 阅读全文
posted @ 2017-08-24 16:19 ~~晴天~^.^ 阅读(120) 评论(0) 推荐(0)
摘要: 关于Java中可变长参数:见例子(4个注意点) { //m1方法有一个int类型可变长参数 public static void m1(int... a){ //m1方法在调用的时候,传递的实参可以是 0-N 个. System.out.println("Test"); } //如果可以精确匹配的方 阅读全文
posted @ 2017-08-24 16:19 ~~晴天~^.^ 阅读(130) 评论(0) 推荐(0)
摘要: 装饰者模式:用于对类扩展功能 <!--WizRtf2Html Charset=0 -->例如:对FileReader这个类的close方法进行扩展: 1.继承(不推荐,代码耦合度太高。不利于项目的扩展。) 2.装饰者模式. 1.继承(不推荐,代码耦合度太高。不利于项目的扩展。) <!--WizRtf 阅读全文
posted @ 2017-08-24 16:17 ~~晴天~^.^ 阅读(131) 评论(0) 推荐(0)
摘要: 字节流: FileInputStream FileInputStream fIn = new FileInputStream("1.avi"); FileOutputStream(默认覆盖) FileOutputStream fOut = new FileOutputStream("2.avi"); 阅读全文
posted @ 2017-08-24 16:15 ~~晴天~^.^ 阅读(174) 评论(0) 推荐(0)
摘要: Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类。 InputStreamReader类包含了一个底层输入流,可以从中读取原始字节。它根据指定的编码方式,将这些字节转换为Unicode字符。 OutputStreamWriter从运行 阅读全文
posted @ 2017-08-24 16:13 ~~晴天~^.^ 阅读(676) 评论(0) 推荐(0)
摘要: 文件路径4种写法: 相对路径,相对当前而言,在当前路径下找: String filePath = "temp01"; 绝对路径: String filePath = "D:\\course\\JavaProjects\\02-JavaSE\\chapter08\\temp01";//普通写法,需要用 阅读全文
posted @ 2017-08-24 16:12 ~~晴天~^.^ 阅读(242) 评论(0) 推荐(0)
摘要: 输入输出流概念: 字节流相关的UML继承结构图: 字符流相关的UML继承结构图: 阅读全文
posted @ 2017-08-24 16:11 ~~晴天~^.^ 阅读(178) 评论(0) 推荐(0)
摘要: 关于finally语句块 1.finally语句块可以直接和try语句块联用。 try....finally... 2.try...catch....finally 也可以. 3.在finally语句块中的代码是一定会执行的。 4.finally语句块是一定会执行的,所以通常在程序中为了保证某资源一 阅读全文
posted @ 2017-08-24 16:08 ~~晴天~^.^ 阅读(131) 评论(0) 推荐(0)
摘要: 异常机制的UML结构图: 编译时异常:发生的几率较高,程序员能预见会发生的,举例:拿着透明袋子的100万,出门会遇到抢劫事件,那么要在出门前就处理 运行时异常:发生的几率较低,程序员不能预见,如果全部处理,程序会更加安全,但是程序员会很累,举例:出门被飞机轮子砸到 使用try catch是真正处理异 阅读全文
posted @ 2017-08-24 15:38 ~~晴天~^.^ 阅读(195) 评论(0) 推荐(0)
摘要: 最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法。 很方便的,于是就简单的整理了一下。 1.1 showMessageDialog 显示一个带有OK 按钮的模态对话框。 下面是几个使用showMessageDialog 的例子: Java代码 JOption 阅读全文
posted @ 2017-08-24 15:37 ~~晴天~^.^ 阅读(414) 评论(0) 推荐(0)
摘要: 推荐使用第二种方式,编写比较器可以使数据类的程序耦合度降低,同时比较器也可以重复利用! 第一种方式:数据类实现Comparable接口,实现其中的compareTo方法 创建对象时,使用TreeSet的默认构造函数! SortedSet users = new TreeSet(); class Us 阅读全文
posted @ 2017-08-24 15:36 ~~晴天~^.^ 阅读(240) 评论(0) 推荐(0)
摘要: Collection集合选取规则:(Vector现在用的不多了所以不考虑) if(数据唯一,无序(输入顺序)){ if(需要排序){ 选用TreeSet } else{ 选用HashSet } } else{ if(查询多){ 选用ArrayList } if(增删多){ 选用LinkedList 阅读全文
posted @ 2017-08-24 15:35 ~~晴天~^.^ 阅读(296) 评论(0) 推荐(0)
摘要: 关于静态内部类 1.静态内部类可以等同看做静态变量 内部类重要的作用:可以访问外部类中私有的数据。 2.静态内部类可以直接访问外部类的静态数据,无法直接访问成员。 关于静态内部类 1.静态内部类可以等同看做静态变量 内部类重要的作用:可以访问外部类中私有的数据。 2.静态内部类可以直接访问外部类的静 阅读全文
posted @ 2017-08-24 15:34 ~~晴天~^.^ 阅读(136) 评论(0) 推荐(0)
摘要: 汉字匹配:[\u4e00-\u9fa5] 1. 邮箱 \w*@\w*\.\w*(.\w*)? abc@yahoo.com abc_adf@yahoo.com.cn 2. 固定电话号码 0\d{2,3}-\d{7,8}|\(0\d{2,3}\)-\d{7,8} 0510-1234567 (010)-1 阅读全文
posted @ 2017-08-24 15:33 ~~晴天~^.^ 阅读(270) 评论(0) 推荐(0)
摘要: 编程一定要面向抽象编程,这样可以使程序耦合度降低,可扩展能力增强! 接口作用: 1.可以使项目分层,所有层都面向接口开发,开发效率提高了。 2.接口使代码和代码之间的耦合度降低,就像内存条和主板的关系,变得“可插拔”。可以随意切换。 接口和抽象类都能完成某个功能,优先选择接口。 因为接口可以多实现, 阅读全文
posted @ 2017-08-24 15:32 ~~晴天~^.^ 阅读(159) 评论(0) 推荐(0)
摘要: 抽象类和抽象方法不能被final修饰!报错非法的组合。 1.如何定义抽象类? class关键字前加abstract 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造 方法是给子类创建对象用的。 4.抽象类中可以定义抽象方法. 抽象方法的语法:在方法的修饰符列表中添 阅读全文
posted @ 2017-08-24 15:31 ~~晴天~^.^ 阅读(110) 评论(0) 推荐(0)
摘要: Super关键字 1.super不是引用类型,super中存储的不是内存地址,super指向的不是父类对象. 2.super代表的是当前子类对象中的父类型特征。 //通过子类的构造方法去调用父类的构造方法,作用是:给当前子类对象中的父类型特征赋值。 super(...);调用了父类中的构造方法,但是 阅读全文
posted @ 2017-08-24 15:30 ~~晴天~^.^ 阅读(233) 评论(0) 推荐(0)
摘要: final表示不可改变的含义 1、采用final 修饰的类不能被继承 2、采用final 修饰的方法不能被覆盖 3、采用final 修饰的变量不能被修改 4、final修饰的变量必须显示初始化(该变量必须在构造方法运行结束之前赋上值,否则报错!) 5、如果修饰的引用,那么这个引用只能指向一个对象,也 阅读全文
posted @ 2017-08-24 15:30 ~~晴天~^.^ 阅读(156) 评论(0) 推荐(0)
摘要: 静态绑定:程序在本类和父类中查找匹配的方法执行 动态绑定:程序根据引用指向的堆中数据查找最合适的方法执行,如找不到再返回父类中查找 关于java语言中向上转型和向下转型 1.向上转型(upcasting) : 子 >父 2.向下转型(downcasting) : 父 >子 注意:无论是向上转型还是向 阅读全文
posted @ 2017-08-24 15:29 ~~晴天~^.^ 阅读(194) 评论(0) 推荐(0)
摘要: 关于继承引入类继承最基本的作用是:代码重用。 语法:[修饰符列表] class 子类名 extends 父类名{类体;} 父类,超类,基类,superclass 子类,派生类,subclass 没有显示继承其他类,默认继承SUN提供的java.lang.Object;java语言中, 类和类之间只支 阅读全文
posted @ 2017-08-24 15:28 ~~晴天~^.^ 阅读(164) 评论(0) 推荐(0)
摘要: //冒泡排序arr数组,sequence为true时,为升序排序;sequence为false时,为降序排序 for(int i = 0;i < arr.length;i++){ for(int j = 0;j < arr.length - i - 1;j++){ if(sequence && ar 阅读全文
posted @ 2017-08-24 15:27 ~~晴天~^.^ 阅读(231) 评论(0) 推荐(0)
摘要: //获得2数的最大公约数 int a = y < x ? y : x; int b = x >= y ? x : y; int c = 1, e; // 定义c为最大公约数,d为最小公倍数,e为中间变量 while (b % a != 0) { e = b  阅读全文
posted @ 2017-08-24 15:26 ~~晴天~^.^ 阅读(195) 评论(0) 推荐(0)
摘要: 单例模式要领:1.构造方法私有化2.对外提供一个公开的静态的获取当前类型对象的方法.3.提供一个当前类型的静态变量。 单例模式分为两种:饿汉式单例:在类加载阶段就创建了对象。懒汉式单例:用到对象的时候才会创建对象。 单例模式是23种设计模式中最简单的一种设计模式。 为了解决什么问题? 1. 为了保证 阅读全文
posted @ 2017-08-24 15:25 ~~晴天~^.^ 阅读(139) 评论(0) 推荐(0)
摘要: 类A的属性是另一个类B,那么这两个类是关联的,但不一定是聚合,如果在A类中创建了B类的实例(使用new!),那么B类和A类就是聚合关系,但不一定是组合关系,因为不一定在A类创建的同时去创建B类的实例,反之则B类和A类就是组合关系了! 关于判断两者关系,具体问题具体分析,最主要还是要看生命周期! 聚合 阅读全文
posted @ 2017-08-24 14:42 ~~晴天~^.^ 阅读(802) 评论(0) 推荐(0)
摘要: this用在所有方法中: 用来区分局部变量和成员变量的名字二义性! 如:在set方法中这样写:name = name; 则java会遵循“谁近谁优先”的规则,会给局部变量赋值! 因为所有的成员(方法或引用)按规范应使用“引用.”来访问,那么在成员方法中,要访问成员变量就应使用this来做引用!(th 阅读全文
posted @ 2017-08-24 14:41 ~~晴天~^.^ 阅读(178) 评论(0) 推荐(0)
摘要: java内存的主要划分:class文件加载到方法区,方法区还存放静态变量和常量,方法区开始执行程序,当调用方法时,会将该方法的栈帧压到栈区,该栈帧中存放局部变量,当方法中new出一个对象,则会在堆中开辟空间存放,使用完后由垃圾收集器回收,垃圾收集器就是针对堆区。 堆中的对象何时被回收:当堆中的对象没 阅读全文
posted @ 2017-08-24 14:27 ~~晴天~^.^ 阅读(157) 评论(0) 推荐(0)
摘要: 关于系统默认值:基本数据类型byte,short,int,long 0float,double 0.0boolean falsechar \u0000引用数据类型:null 面向过程与面向对象的区别(盖饭、蛋炒饭) 炒饭对应为面向过程,蛋和饭混为一个整体,当客户需求改变时,如客户想吃别的炒饭,则要把 阅读全文
posted @ 2017-08-24 13:57 ~~晴天~^.^ 阅读(153) 评论(0) 推荐(0)
摘要: 构造方法的作用是 第一,创建对象 第二,给成员变量赋值(初始化成员变量),因为成员变量是对象级别的,所以成员变量只有在构造方法调用时才被赋值(或者用系统默认赋值,或者用用户自己给的实参的值赋值)!!! 构造函数(构造方法,构造器,Constructor) 构造方法主要用来创建类的实例化对象, 可以完 阅读全文
posted @ 2017-08-24 13:56 ~~晴天~^.^ 阅读(333) 评论(0) 推荐(0)
摘要: 成员是对象级别的,访问成员必须用“引用.”,如果用“类名.”访问会报错!如果用空引用访问成员则会发生控空指针异常! 静态是类级别的,访问静态必须用类“类名.”,如果用“引用.”也能访问,但是底层仍使用“类名.”,并不会用到对象,如果用空引用访问静态,也不会报错,因为静态访问与对象无关! 何时使用静态 阅读全文
posted @ 2017-08-24 13:53 ~~晴天~^.^ 阅读(216) 评论(0) 推荐(0)
摘要: 1. 构造方法注入代码如下:public UserManagerImpl(UserDao userDao) { this.userDao = userDao; } set注入代码如下: public void setUserDao(UserDao userDao) { this.userDao = 阅读全文
posted @ 2017-08-24 13:52 ~~晴天~^.^ 阅读(341) 评论(0) 推荐(0)
摘要: <!--WizRtf2Html Charset=0 -->n层阶梯的楼梯,每次可以走1~2层阶梯,打印列举所有走法。 // 比如 // 走1层的可能走法 (1种) // 1 // 走2层的可能走法(2种) // 1 1 // 2 // 走3层的可能走法(3种) // 1 1 1 // 1 2 //  阅读全文
posted @ 2017-08-24 13:50 ~~晴天~^.^ 阅读(319) 评论(0) 推荐(0)
摘要: 方法(Method) 实际参数 调用者调用一个具体方法的时候,实际传递的参数 阅读全文
posted @ 2017-08-24 13:48 ~~晴天~^.^ 阅读(111) 评论(0) 推荐(0)
摘要: 资料来源:http://www.cnblogs.com/smile361/archive/2013/11/25/3441553.html 程序计数器: 当前线程所执行的字节码的行号指示器 本地方法栈: 为虚拟机使用的native方法服务 java虚拟机栈Stack: 描述java方法执行的内存模型, 阅读全文
posted @ 2017-08-24 13:46 ~~晴天~^.^ 阅读(183) 评论(0) 推荐(0)
摘要: // 1. break //break语句用于do-while while for语句时,可以是程序终止循环,而执行循环体后的语句。 //一般和一条判断语句一起使用,条件判断为真得时候,跳出循环。 // for(int i=0;i<10;i++) // { // if(i==5) // { // b 阅读全文
posted @ 2017-08-24 13:45 ~~晴天~^.^ 阅读(218) 评论(0) 推荐(0)
摘要: for循环的三个语句可以放置任何表达式,但是有个不成文的规则,for循环的3个部分应当对同一个计数器变量进行初始化,检测和更新。若不遵循这一规则,编写的循环常常晦涩难懂! 如果在循环第一部分声明了一个变量,那么该变量的作用域就是整个循环体,如果这个变量需要在循环结束后使用,那么需要在循环开始前的外部 阅读全文
posted @ 2017-08-24 13:44 ~~晴天~^.^ 阅读(153) 评论(0) 推荐(0)
摘要: while循环 while是最基本的循环,它的结构为: 只要布尔表达式为true,循环体会一直执行下去。 有时程序也需要死循环。 以上实例编译运行结果如下: do…while循环 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。 do…whil 阅读全文
posted @ 2017-08-24 13:42 ~~晴天~^.^ 阅读(182) 评论(0) 推荐(0)
摘要: switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 switch语法格式如下: switch语句有如下规则: switch语句中的变量类型只能为byte、short、int或者char。 switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。 c 阅读全文
posted @ 2017-08-24 13:39 ~~晴天~^.^ 阅读(204) 评论(0) 推荐(0)
摘要: if语句 一个if语句包含一个布尔表达式和一条或多条语句。 if语句的用语法如下: 如果布尔表达式的值为true,则执行if语句中的代码块。否则执行If语句块后面的代码。 以上代码编译运行结果如下: if...else语句 if语句后面可以跟else语句,当if语句的布尔表达式值为false时,el 阅读全文
posted @ 2017-08-24 13:38 ~~晴天~^.^ 阅读(190) 评论(0) 推荐(1)
摘要: 条件运算符也被称为三元运算符、三目运算符。 该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。 以上实例编译运行结果如下: 阅读全文
posted @ 2017-08-24 13:37 ~~晴天~^.^ 阅读(335) 评论(0) 推荐(0)
摘要: 表达式(experssion)表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。 用运算符号连接的变量/常量科称之为表达式. 如: a+b 3.14+a (x+y)*z+100 表达式中操作数运算的结果就是表达式的结果 表达式的运算顺序取决于运 阅读全文
posted @ 2017-08-24 13:36 ~~晴天~^.^ 阅读(138) 评论(0) 推荐(0)
摘要: import java.util.Scanner; class InputDemo { public static void main(String[] args) { // 1. 创建Scanner类的对象,这个对象从控制台读取用户的输入的内容 Scanner sc = new Scanner(S 阅读全文
posted @ 2017-08-24 13:34 ~~晴天~^.^ 阅读(97) 评论(0) 推荐(0)
摘要: import java.util.Random; class RandomDemo { public static void main(String[] args) { // 1. 创建一个随机数对象 Random r = new Random(); // 使用它来得到随即的值 System.out 阅读全文
posted @ 2017-08-24 13:30 ~~晴天~^.^ 阅读(156) 评论(0) 推荐(0)
摘要: 赋值运算符 下面是Java语言支持的赋值运算符: 操作符 描述 例子 = 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C += 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C += A等价于C = C + A -= 减和赋值操作符,它把左 阅读全文
posted @ 2017-08-24 13:28 ~~晴天~^.^ 阅读(180) 评论(0) 推荐(0)
摘要: 逻辑运算符 逻辑运算符的作用是用于连接布尔表达式的。 & 与,并且 只有左右变量同时 为true,那么结果才是true,否则就为false} | 或,或者 只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false. ^ 异或 只要两边的布尔表达 阅读全文
posted @ 2017-08-24 13:26 ~~晴天~^.^ 阅读(218) 评论(0) 推荐(0)
摘要: 位运算符 位运算符就是直接操作二进制位的。 Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。 位运算符作用在所有的位上,并且按位运算。 假设a = 60,b = 13;它们的二进制格式表示将如下: & 按位与 阅读全文
posted @ 2017-08-24 13:26 ~~晴天~^.^ 阅读(207) 评论(0) 推荐(0)
摘要: java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { // %s表示输出字符串,也就是将后面的字符串替换模式中的%s System.out.printf( 阅读全文
posted @ 2017-08-24 13:25 ~~晴天~^.^ 阅读(226) 评论(0) 推荐(0)
摘要: 算数运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。 表格中的实例假设整数变量A的值为10,变量B的值为20: 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B等于30 - 减法 - 左操作数减去右操作数 A – B等于-10 * 乘法 阅读全文
posted @ 2017-08-24 13:23 ~~晴天~^.^ 阅读(175) 评论(0) 推荐(0)
摘要: 计算机中的符号数有三种表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。 在计算机系统中,数值一律用补码来表示和存储。 原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。 此 阅读全文
posted @ 2017-08-24 13:22 ~~晴天~^.^ 阅读(821) 评论(0) 推荐(0)
摘要: 数据类型和常量(字面量)和变量 1.数据类型 在java中 的数据类型分为两类数据类型 基本数据类型(8种) 整数:byte short int long 小数: float double 布尔: boolean 字符: char 引用数据类型 字符串: String 整数:byte short i 阅读全文
posted @ 2017-08-24 13:20 ~~晴天~^.^ 阅读(549) 评论(0) 推荐(0)
摘要: 注释 注释就是使用文字对程序的说明,注释是写给程序员看的,编译器会忽略注释的 内容的。 1 单行注释 第一种: 单行注释。 // 注释的内容 2 多行注释 第二种: 多行注释。 / 注释的内容 / 3 文档注释 第三种: 文档注释. /* 注释的内容 / 注释要注意的细节: 单行注释可以嵌套使用,多 阅读全文
posted @ 2017-08-24 13:19 ~~晴天~^.^ 阅读(159) 评论(0) 推荐(0)
摘要: 分隔符 分隔符作用 空格 分隔单词 分号; 语句的分割,表示一句话结束,好比中文的句号 花括号、大括号{} 表示代码块,是一个整体 方括号、中括号[] 定义数组、和访问数组元素 圆括号、小括号() 使用比较广泛,遇到时解释 圆点. 类和对象访问成员时使用 分隔符作用 空格 分隔单词 分号; 语句的分 阅读全文
posted @ 2017-08-24 13:18 ~~晴天~^.^ 阅读(359) 评论(0) 推荐(0)
摘要: 标识符和关键字 标识符 在java程序中有些名字是可以自定义的,那么这些自定义的名字我们就称作为自定义的标识符。 比如:类名、方法名、变量名 标识符要求: 自定义标识符的规范: 判断一下那些是符合的标识符: 12abc_ 不合法 数字不能开头 _12abc 合法 $ab12# 不合法 #号不属于标识 阅读全文
posted @ 2017-08-24 13:18 ~~晴天~^.^ 阅读(263) 评论(0) 推荐(0)
摘要: 102HelloWorld 第一个Java程序 hello,World! 打开一个记事本在记事本里面输入以上代码,注意书写正确: HelloWord 剖析: class:java关键字,用于定义一个类 {}:花括号表示范围。 main:是主函数,程序的入口(固定写法)。 System.out.pri 阅读全文
posted @ 2017-08-24 13:17 ~~晴天~^.^ 阅读(174) 评论(0) 推荐(0)
摘要: 进制转换 进制 进制:用有限的数字符号代表所有的数值。 计算机的出现是为了服务于人类的,那么人类在现实生活中使用的数据基本上都是 十进制的数据,那么计算机是否有可以存储现实生活中的数据呢?如果可以存储 又以哪种形式存储呢? 二进制由来 电脑记录我们现实生活中的数据都是使用二进制进行记录的,那么我们 阅读全文
posted @ 2017-08-24 13:17 ~~晴天~^.^ 阅读(318) 评论(0) 推荐(0)
摘要: 101Java简介 101Java简介及开发环境搭建 Java简介 编程语言简介 机器语言:纯粹的机器代码 机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行。效率最高,但是通用性不强,对于不同的硬件需要不同的程序。说白了,不适合人来编程。 汇编语言:8086汇编、Win32汇编、.N 阅读全文
posted @ 2017-08-24 12:01 ~~晴天~^.^ 阅读(217) 评论(0) 推荐(0)