JavaSE学习笔记
文章平均质量分 89
Mr羽墨青衫
专注
展开
-
Java基础7--构造函数--this--static内存详解
7-1,构造函数-概述1,特点:(1)函数名与类名相同。(2)不用定义返回值类型。(3)没有具体的返回值。2,构造函数构造函数就是构建创造对象是调用的函数。3,作用可以给对象进行初始化,即对象一创建里面就包含一些内容。原创 2013-12-07 21:38:02 · 2887 阅读 · 1 评论 -
Java基础12--包--多线程
12-1,包-概述1,定义格式:package mypack;包名都是小写。2,包能对类文件进行分类管理,给类提供多层命名空间。多层命名空间指的是类的所属,比如一台电视,中国可以生产,美国也可以生产,这时就要说明这时中国生产的电视还是没过生产的电视,否则就会产生歧义。包应该定义在程序文件的第一行。类名的全称是:包名.类名包也是一种封装形式。3,package mypack;class PackageDemo { public static void main(String[] args)原创 2013-12-20 16:26:24 · 1217 阅读 · 0 评论 -
Java基础13--多线程
13-1,线程的状态1,Thread的stop()方法能强制结束线程。2,两个概念(非专业术语):CPU的执行资格:可以被CPU处理,在处理队列中排队;CPU的执行权:正在被CPU处理。线程的执行过程:线程先被创建,然后用start方法运行,此时具备执行资格和执行权,运行完成后消亡。在运行时线程可以临时冻结,此时释放执行资格和执行权,由于CPU在同一时间只能运行一个线程,所以除了正在执行的线程,其他线程都处于临时阻塞状态,此时具备执行资格但不具备执行权。3,线程状态图示:原创 2013-12-23 09:29:01 · 1020 阅读 · 0 评论 -
Java基础17--Map
17-1,Map集合特点&常用方法1,Map是一个接口,一次添加一对元素,Collection是一次添加一个元素。Map也成为双列集合,Collection集合称为单列集合。2,Map<K,V>,是将键映射到值得对象。K-->Key,V-->Value,<K,V>即为键值对。且一个映射当中不能包含重复的键,每个键最多只能映射到一个值上。也就是说,Map是一个键值对,Map集合中必须保证键的唯一性。3,Map常用方法。原创 2014-01-05 21:59:47 · 1272 阅读 · 0 评论 -
Java基础14--多线程
14-1,多线程-线程间通信示例1,什么是多线程间通讯?多线程通讯:多个线程在处理同一个资源,但是任务不同。比如说:有一堆煤(资源),一辆卡车向里放煤(Input),一辆卡车向外取煤(output),放煤和取煤的任务不同,但操作的是同一个资源。由于有两个任务,所以要定义两个run方法。2,以下面代码说明。定义name和sex变量,实现交替输出不同信息的功能。定义两个run方法,一个输入名字,另一个打印名字,因为name和sex是资源,将之封装成一个类,两个run方法分别创建一个类,代码如下:原创 2013-12-23 20:13:06 · 892 阅读 · 0 评论 -
Java基础18--泛型--工具类--JDK1.5新特性
18-1,泛型-概述1,泛型是JDK1.5出现的新技术,新技术的出现是为了解决问题。2,泛型可以用于明确一个集合中存储什么类型的元素ArrayList<String> al = new ArrayList<String>();al.add("abc");//正确//al.add(3);//编译直接报错//在迭代器上加上泛型,下面取出来的时候就不用强转了Iterator<String> it = al.iterator();while(it.hasNext()) { //在这里不用强转了,因原创 2014-01-10 13:04:46 · 2092 阅读 · 0 评论 -
Java基础15--集合框架
15-1,集合框架-概述1,集合类的由来:对象是用于封装特有数据的,对象多了就需要存储起来,如果对象的个数不确定,就使用集合容器进行存储。2,集合特点:(1)用于存储对象的容器。(2)集合的长度是可变的。(3)集合中不可以存储基本数据类型值。 15-2,集合框架-体现&共性功能1,集合容器因为内部的数据结构不同,有多种具体容器,不断向上抽取,就形成了集合框架。2,框架的顶层Collection接口:Collection的常见方法:原创 2013-12-26 17:01:23 · 1015 阅读 · 0 评论 -
Java基础16--集合框架
16-1,集合框架Vector集合1,Vector是向量,底层为数组结构,可以通过其elements()方法获取一个Enumeration对象,这个对象的功能于Iterator的功能相同,Iterator比他多了移除的操作,所以现在一般不用Vector,都用Iterator。通过Enumeration迭代Vector集合的元素示例:public class VectorDemo { public static void main(String[] args) { Vector v = new V原创 2013-12-27 09:05:45 · 1217 阅读 · 0 评论 -
Java基础19--System--Runtime--Math--Date--Calendar
19-1,API-System类1,因为System没有构造函数,所以不能被实例化,它里面的方法通常是静态的。2,System中的字段:(1)static PrintStream err:标准错误输出流(2)static InputStream in:标准输入流(3)static PrintStream out:标准输出流,System.out.println();3,主要方法:(1)public static longcurrentTimeMillis()返回以毫秒为单位的当前时间,其值取原创 2014-01-10 21:33:13 · 1134 阅读 · 0 评论 -
Java基础20--IO流
20-1,IO流-输入流-输出流1,IO,即Input和Output的简写,表示输入输出。IO流用于处理设备之间的设备传输,例如:内存,硬盘,优盘...2,Java对数据的操作时通过流的方式。数据从内存转移到硬盘称为输出,数据从硬盘转移到内存称为输入。原创 2014-01-15 12:20:28 · 1196 阅读 · 0 评论 -
Java基础21--IO流--装饰设计模式--缓冲流
21-1,IO练习-将c盘的一个文本文件复制到d盘。将c盘的文件读取,再将读取到的文件写到d盘。思路:(1)需要读取源。(2)将读到的源数据写入到目的地。(3)既然是操作文本数据,就使用字符流。原创 2014-01-15 15:03:27 · 1127 阅读 · 0 评论 -
Java基础11--Object类--异常机制
11-1,Object类-equals方法1,Object是所有类的根类。Object是不断向上抽取而来的,具备着所有对象都具备的共性的内容。2,equals方法:指示其他某个对象是否与此对象相等。equals(Object obj)。equals方法比较的是两个对象的地址值。他在Java中的源代码为:public boolean equals(Object obj) { return this == obj;}调用格式为obj1.equals(obj2);如:原创 2013-12-19 22:17:02 · 1202 阅读 · 1 评论 -
Java基础10--多态--内部类
10-2,多态-概述1,对象的多态性(多种形态):class 动物{...}class 猫 extends 动物 {...}class 狗 extends 动物 {...}之前我们创建 猫 对象的时候,用的方法是:猫 mao = new 猫();有了多态之后,创建 猫 对象可以这么创建:动物 dw = new 猫();多态的创建方式,可以看出,一个对象有两种形态。即猫这个事物既具备着猫的形态,又具备着动物的形态,这就是对象的多态性。简单的说,就是一个对象对应着不同的类型。 多态在代码原创 2013-12-19 13:42:44 · 1109 阅读 · 0 评论 -
Java基础8--单例设计模式--继承
8-1,文档注释文档注释其实就是将自己写的程序根据这些注释生成文档保存在硬盘上,与Java的API长的一样。1,格式:/** 注释内容...*/2,在命令行中通过javadoc命令生成文档注释,在工作开发中必须加文档注释。例如:原创 2013-12-09 10:07:06 · 1010 阅读 · 0 评论 -
Java基础6--面向对象--程序运行内存图解
1,定义:int[][] arr = new int[3][2];创建一个二维数组,这个其实是有三个一维数组,一维数组中的每个元素又引用了一个一维数组。2,打印而为数组:Sop(arr);直接打印二维数组。 打印[[I@C17164,[[是二维数组的意思,I是int的意思。Sop(arr[0]);直接打印二维数组中角标为0的一维数组。打印[I@b8e622,[是一维数组的意思。Sop(arr[0][0]);直接打印二维数组中脚标为0的一位数组的角标为0的元素。打印0。3,int[][] arr原创 2013-12-01 18:55:15 · 1683 阅读 · 0 评论 -
Java项目开发中一些BUG的总结
Java项目开发中一些BUG的总结原创 2013-12-09 11:31:00 · 6380 阅读 · 0 评论 -
Java基础3--运算符--判断--循环
3-1,比较运算符&逻辑运算符1,比较运算符:>,<,==,!=,>=,<=如果用==比较两个引用类型变量,比价的是内存地址。比较运算符运算完的结果必须是true或false。2,逻辑运算符&(AND与)、|(OR或)、^(XOR异或)、!(NOT非)、&&(AND短路与)、||(OR短路或)逻辑运算符用于连接两个boolean类型的表达式。例如:int x = 3;system.out.println(x>2 & x<5);打印结果时true,如果x=6,则结果时false。另外的比原创 2013-11-28 13:40:14 · 1665 阅读 · 0 评论 -
Java基础5--数组--数组练习
5-1,数组的第二种格式1,元素类型[] 数组名 = new 元素类型[]{元素,元素,...}; 元素类型[] 数组名 = {元素,元素,...};这两种很多情况都是通用的,但下面的写法更简单,是常用的一种定义格式。第一种示例:(在Java基础4中提到) int[]arr = new int[3]; 第一种格式在需要一个容器,但是不明确容器的具体数据的时候用。第二种示例: int[]arr = {1,2,3,4,5}; int[]arr = new int[原创 2013-11-30 12:10:02 · 1358 阅读 · 0 评论 -
Java线程-Timer定时器
主要涉及到两个类,一个是java.util.Timer,一个是java.util.TimerTask。Timer:是一种工具,用Timer操作线程,可以在后台执行线程中的任务,可以控制这个任务执行一次,或者定期重复执行。与每个Timer对象对应的是单个后台线程,用于顺序的执行所有计时器任务。如果以外终止了Timer正在执行的线程,例如调用了这个线程的stop方法,那么以后所有的该计时器的任务的尝试都将导致IllegalStateException,就好像计时器调用了cancel方法一样。Time原创 2013-12-09 11:19:37 · 9712 阅读 · 0 评论 -
Java基础2--进制--变量--运算符
2-1,关键字1,Java语言基础组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组,这与其他的语言的基本组成差不多。只是表现形式不同。2,掌握两点:表现形式和什么时候使用。3,关键字:被赋予了特殊Java含义的单词。如class,public,static,void特点:关键字中所有的字母都是小写。 2-2,标识符1,用于标识一些东西原创 2013-11-21 22:18:49 · 1416 阅读 · 0 评论 -
Java基础1--概述--环境变量--HelloWorld
1-1,计算机语言概述1,基础知识(1)软件开发: 软件:一系列按照特定顺序组织的计算机数据和指令的集合。 常见的软件:系统软件:DOS(DiskOperate System)磁盘操作系统,Windows,Linux。 应用软件:扫雷,迅雷,QQ。 开发:制作软件。(2)人机交互软件的出现实现了人与计算机原创 2013-11-05 21:20:22 · 957 阅读 · 0 评论 -
Java基础4--循环--函数--数组
4-1,for循环嵌套练习1,打印:********************外循环控制行,内循环控制列。原创 2013-11-29 17:29:54 · 1299 阅读 · 0 评论 -
Java基础9--继承--抽象类--接口
9-1,子父类的构造函数-子类的实例化过程1,在子类构造对象的时候,发现访问子类构造函数时,父类的构造函数也运行了,这时为什么呢?原因是:在自类的构造函数中第一行有一个默认的隐式语句,就是super()。super()调用的就是父类中空参的构造函数。示例:原创 2013-12-17 13:42:17 · 1857 阅读 · 0 评论 -
Java基础22--IO--文件过滤器
22-1,键盘录入键盘录入使用的是System.in,这个语句获取的是一个InputStream流对象,在通过这个对象的read()方法就可以获取键盘录入信息。这个read()方法是阻塞式方法,也就是说,当JVM读到这个语句的时候,就会开始等待用户输入,直到用户输入结束符,才继续执行剩下的程序。示例:需求:读取一个键盘录入的数据,并打印在控制台上。原创 2014-02-05 21:12:50 · 1565 阅读 · 0 评论