java基础
AaronWang0920
千里之行,始于足下。。。。
展开
-
static修饰方法--------一般用于一些工具类中
/*需求:编写一个数组的工具类。 Arrays.toString() [1,2,3,4]; sort()*///数组工具类class ArrayTool{ public static String toString(int[] arr){ String result = ""; for(int i = 0; i < arr.leng原创 2015-08-21 20:09:38 · 897 阅读 · 0 评论 -
值传递的图解
值传递详解原创 2015-08-22 14:34:58 · 514 阅读 · 0 评论 -
强制类型转换
/*目前多态情况下不能访问子类特有的成员。如果需要访问子类特有的成员,那么需要进行类型强制转换.基本数据类型的转换 小数据类型-------->大的数据类型 自动类型转换 大数据类型--------->小数据类型 强制类型转换 小数据类型 变量名 = (小数据类型)大数据类型;引用数据类型的转换 小数据类型--------->大数据类型原创 2015-08-22 21:39:52 · 424 阅读 · 0 评论 -
异常 -- 捕获处理 &抛出处理
/*异常:我们的java程序也是会存在某些不正常 的情况的,这些不正常的 情况我们就统称异常。异常体系:--------| Throwable------------| Error------------| ExceptionThrowable常用的方法: toString() 返回当前异常对象的完整类名+病态信息。 getMessage() 返回的是创建Throwa原创 2015-08-23 14:21:05 · 727 阅读 · 0 评论 -
final关键字详解
/*final(最终、修饰符) final关键字的用法: 1. final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的。 2. fianl关键字修饰一个引用类型变量时,该变量不能重新指向新的对象。 3. final关键字修饰一个函数的时候,该函数不能被重写。 4. final关键字修饰一个类的时候,该类不能被继承。常量 的修饰符一般为原创 2015-08-22 13:50:55 · 405 阅读 · 0 评论 -
java基础之----选择排序 冒泡排序
第一注册CSDN账号,记录我的android学习之路。请大家多多指教,谢谢!原创 2015-08-11 15:19:57 · 363 阅读 · 0 评论 -
权限修饰符
/*权限修饰符: 权限修饰符就是控制被修饰的成员的范围可见性。 public protected default private同一个类 true true true true同一个包 true true true false子父类 true true false fals原创 2015-08-27 22:59:42 · 339 阅读 · 0 评论 -
自定义异常
/*sun提供了很多的异常类给我们用于描述程序中各种的不正常情况,但是sun 给我提供异常类还不足以描述我们现实生活中所有不正常情况,那么这时候我们就需要自定义异常类。需求: 模拟feiQ上线的时候,如果没有插上网线,那么就抛出一个没有插上网线的异常,如果已经插上了网上,那么就正常显示好友列表。自定义异常类的步骤: 自定义一个类继承Exception即可。*///自定义了一个没有网线原创 2015-08-27 22:48:41 · 521 阅读 · 0 评论 -
包机制
/*包: java中的包就相当于windows文件夹。包的作用: 1. 解决类名重复产生冲突的问题。 2. 便于软件版本的发布。定义包的格式: package 包名;包名命名规范:包名全部小写。包语句要注意的事项: 1. package语句必须位于java文件中中第一个语句。 2. 如果一个类加上了包语句,那么该类的完整类名就是: 包名.类名 3.原创 2015-08-27 22:54:49 · 503 阅读 · 0 评论 -
finally块详解
/*异常体系:--------| Throwable 所有错误或者异常的父类--------------| Error(错误)--------------| Exception(异常) 异常一般都通过代码处理 ------------------| 运行时异常: 如果一个方法内部抛出了一个运行时异常,那么方法上 可以声明也可以不 声明,调用者可以以处理也可以不处理。-----------原创 2015-08-27 22:51:46 · 479 阅读 · 0 评论 -
打jar包
/*打jar包: 需要使用到jdk的开发工具(jar.exe).jar的用法:使用格式: jar cvf jar文件的名字 class文件或者是文件夹 打jar包要注意的事项: 1. 一个程序打完了jar之后 必须要在清单文件上指定入口类: 格式 Main-Class: 包名.类名 2. jar包双击运行仅对于图形化界面的程序起作用,对控制台的程序不起作用。jar文件原创 2015-08-28 08:17:26 · 281 阅读 · 0 评论 -
生产者与消费者 & wait()& notify()
package cn.test.thread;/* * 线程的通讯:一个线程完成了自己的任务,要通知另外一个线程去完成另外一个任务 * * 生产者与消费者 * *问题一:出现了线程安全问题,价格错乱了 * *问题二:生产者每生产完一个产品之后就要等待消费者去消费,然后再生产 * * *///产品类class Product{ String name;//名字原创 2015-08-28 20:35:01 · 526 阅读 · 1 评论 -
模板模式
/*模板模式 :解决某类事情的步骤有些是固定的,有些是会发生变化的,那么这时候我们可以为这类事情提供一个模板代码,从而提高效率 。需求;编写一个计算程序运行时间 的模板。模板模式的步骤: 1. 先写出解决该类事情其中 的一件的解决方案。 2. 分析代码,把会发生变化的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。 3. 使用final修饰模板方法,防止别原创 2015-08-28 08:18:38 · 294 阅读 · 0 评论 -
定义一个函数清除该数组的重复元素
/*11.目前有数组” int[] arr = {11,2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。分析: 1. 确定新数组的长度。 原数组的长度-重复元素个数*/import java.util.*;class Demo12 { public static void main(String[原创 2015-08-28 08:20:54 · 1969 阅读 · 0 评论 -
StringBuffer & StringBuilder
package cn.itcast.stringbuffer;/* 字符串特点:字符串是常量;它们的值在创建之后不能更改. 字符串的内容一旦发生了变化,那么马上会创建一个新 的对象。 注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。 如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。 StringBuffer 其实就是一个存储字符 的原创 2015-08-28 08:41:56 · 285 阅读 · 0 评论 -
Object类
package cn.itcast.object;/*java是面向对象的语言,核心思想:找适合 的对象做适合 的事情: 方式一:自定义类,然后通过自定义的类创建对象。 方式二:sun提供了很多的类给我使用,我们只需要认识这些类,我们就可以通过这些类创建对象了。Object类是所有类的终极父类。 任何一个类都继承了Object类。Object类:Object类常用的方法:原创 2015-08-28 08:39:01 · 328 阅读 · 0 评论 -
线程的停止
package cn.test.thread;/* *线程的停止 * 1.停止一个线程我们一般都会通过一个变量去控制的。 * 2. * * */public class Demo6 extends Thread { boolean flag = true; public Demo6(String name) { super(name); }原创 2015-08-29 08:59:52 · 358 阅读 · 0 评论 -
守护线程
package cn.test.thread;/* *守护线程(后台线程):在一个进程中如果只剩下了守护线程,那么守护线程也会死亡。 * * 需求:模拟QQ下载更新包 * * 一个线程默认都不是守护线程 */public class Demo7 extends Thread { public Demo7(String name) { // TODO Auto-原创 2015-08-29 09:28:29 · 365 阅读 · 0 评论 -
线程的join方法
package cn.test.thread;/* *join方法。 * *///老妈class Mon extends Thread{ @Override public void run() { System.out.println("妈妈洗菜"); System.out.println("妈妈切菜"); Syste原创 2015-08-29 09:33:39 · 455 阅读 · 0 评论 -
迭代器Iterator
package cn.test.collection;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/** -----|Collection 单例集合的根接口* --------|List 实现List接口的话 有序 可重复* --------|Set 实现Set原创 2015-08-29 14:02:51 · 322 阅读 · 0 评论 -
Vector
package cn.itcast.list;import java.util.Enumeration;import java.util.Vector;/*集合 的体系:------------| Collection 单例集合的根接口----------------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。 -------------------| A原创 2015-08-30 11:36:43 · 326 阅读 · 0 评论 -
HashSet练习 根据用户名密码注册账户
package cn.itcastset;import java.util.HashSet;import java.util.Scanner;/* 需求: 接受键盘录入用户名与密码,如果用户名与密码已经存在集合中,那么 就是视为重复元素,不允许添加到HashSet中。 */class User{ String userName; String password; publi原创 2015-08-30 14:53:57 · 1353 阅读 · 0 评论 -
泛型 ---- 泛型在方法上的运用
package cn.itcast.genrictiry;/* 需求: 定义一个方法可以接收任意类型的参数,而且返回值类型必须 要与实参的类型一致。 自定义泛型: 自定义泛型就是一个数据类型的占位符或者是一个数据类型的变量。 方法上自定义 : 修饰符 <声明自定义的泛型>返回值类型 函数名(使用自定义泛型 ...){ }在泛型中不能使用基本数据类型,如果需要使用基原创 2015-08-30 19:24:57 · 535 阅读 · 0 评论 -
Set 接口没有自己特有的方法
package cn.itcastset;import java.util.HashSet;import java.util.Set;/*集合 的体系:------------| Collection 单例集合的根接口----------------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。 -------------------| ArrayList原创 2015-08-30 11:42:49 · 466 阅读 · 0 评论 -
HashSet
package cn.itcastset;import java.util.HashSet;import javax.print.attribute.HashAttributeSet;/*集合 的体系:------------| Collection 单例集合的根接口----------------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。 ------原创 2015-08-30 14:22:53 · 313 阅读 · 0 评论 -
练习:利用迭代器写一个注册登录功能
package cn.test.collection;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Scanner;/* * 作业2:使用集合实现注册登陆功能,第一步: 提示用户选择功能, A(注册) B(登陆) 。 要求: 功能选择 的时候原创 2015-08-29 19:04:11 · 442 阅读 · 0 评论 -
编写一个函数根据人的年龄及逆行排序存储
package cn.itcast.list;import java.util.LinkedList;class Person{ String name; int age; public Person(String name, int age) { super(); this.name = name; this.age = age;原创 2015-08-30 11:25:09 · 526 阅读 · 0 评论 -
泛型---在类上的运用
package cn.itcast.genrictiry;import java.util.ArrayList;/* 需求: 编写一个数组 的工具类 泛型类:泛型类的定义格式: class 类名<声明自定义泛型>{ }泛型类要注意的事项: 1. 在类上自定义泛型的具体数据类型是在使用该类的时候创建对象时候确 定的。 2. 如果一个类在类上已经声明了自定义泛型,如果使用原创 2015-08-30 19:48:56 · 643 阅读 · 0 评论 -
Linkedlist
package cn.itcast.list;import java.util.Iterator;import java.util.LinkedList;/*集合的体系:----------| Collection 单列集合的根接口----------------| List 如果实现了List接口的集合类,具备的特点: 有序,可重复。--------------------| Arra原创 2015-08-29 21:04:05 · 329 阅读 · 0 评论 -
迭代器使用注意事项
package cn.test.list;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;/* * 迭代器在遍历元素的时候要注意的事项: * 在迭代器迭代元素的过程中,不允许使用集合对象改变集合中的元素个数, * 如果需要添加或者删除只能使用迭代器的方原创 2015-08-29 19:04:48 · 745 阅读 · 0 评论 -
TreeSet是可以对字符串进行排序 的, 因为字符串已经实现了Comparable接口。
package cn.itcastset;import java.util.TreeSet;/*TreeSet是可以对字符串进行排序 的, 因为字符串已经实现了Comparable接口。字符串的比较规则: 情况一: 对应位置有不同的字符出现, 就比较的就是对应位置不同的字 符。 情况 二:对应位置上 的字符都一样,比较的就是字符串的长度。 */public class D原创 2015-08-30 16:02:48 · 814 阅读 · 1 评论 -
利用LinkList生成一副扑克牌
package cn.itcast.list;import java.util.LinkedList;import java.util.Random;/*需求: 使用LinkedList存储一副扑克牌,然后实现洗牌功能。*///扑克类class Poker{ String color; //花色 String num; //点数 public Poker(String c原创 2015-08-30 11:24:40 · 894 阅读 · 0 评论 -
ArrayList 和 练习
package cn.test.list;import java.util.ArrayList;/* * 集合的体系: * -------|Collection 单例集合的根接口 * ----------| List 如果实现了List接口的集合类, 有序 可重复 * --------------| ArrayList ArrayList底层维护一个一个Object数组实现的,特点:原创 2015-08-29 20:04:48 · 652 阅读 · 0 评论 -
TreeSet
package cn.itcastset;import java.util.TreeSet;/*集合 的体系:------------| Collection 单例集合的根接口----------------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。 -------------------| ArrayList ArrayList 底层是维护了一个Obj原创 2015-08-30 15:11:49 · 660 阅读 · 1 评论 -
泛型 --- 泛型在集合中的应用
package cn.itcast.genrictiry;import java.util.ArrayList;/* 泛型是jdk1.5使用的新特性。 泛型的好处: 1. 将运行时的异常提前至了编译时。 2. 避免了无谓的强制类型转换 。泛型在集合中的常见应用: ArrayList<String> list = new ArrayList<String>(); t原创 2015-08-30 18:17:30 · 557 阅读 · 0 评论 -
泛型 ---- 泛型在接口上的使用
package cn.itcast.genrictiry;/* 泛型接口泛型接口的定义格式: interface 接口名<声明自定义泛型>{ }泛型接口要注意的事项: 1. 接口上自定义的泛型的具体数据类型是在实现一个接口的时候指定 的。 2. 在接口上自定义的泛型如果在实现接口的时候没有指定具体的数据类型,那么默认为Object类型。需求: 目前我实现一个接口的原创 2015-08-30 20:50:41 · 534 阅读 · 0 评论 -
泛型的上下限
package cn.itcast.genrictiry;import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;/* 泛型的上下限:需求1: 定义一个函数可以接收接收任意类型的集合对象, 要求接收的集合对象只能存储Integer或者是Integer的父类类型数据。需求2: 定义一个函数可原创 2015-08-30 21:14:42 · 462 阅读 · 0 评论 -
HashMap实现原理
package cn.itcast.map;import java.util.HashMap;/*双列集合:-------------| Map 如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。----------------| HashMap 底层也是基于哈希表实现 的。HashMap的存储原理: 往HashMap添加元原创 2015-08-31 20:28:14 · 288 阅读 · 0 评论 -
单例集合知识点总结
package cn.itcast.map;/*单例集合 的体系:---------| Collection 单例集合的根接口------------| List 如果是实现了List接口的集合类, 具备的特点:有序,重复。---------------| ArraryList 底层 是使用了Object数组实现的,特点: 查询速度快,增删慢。---------------| Lin原创 2015-08-31 18:57:53 · 860 阅读 · 1 评论 -
递归练习---根据要求列出文件夹的子孙目录
package cn.itcast.other;import java.io.File;/* 需求1:列出一个文件夹的子孙文件与目录。 2,列出指定目录中所有的子孙文件与子孙目录名,要求名称前面要有相应数量的空格: 第一级前面有0个,第二级前面有1个,第三级前面有2个...,以此类推。3,列出指定目录中所有的子孙文件与子孙目录名,要求要是树状结构,效果如下所示: |原创 2015-09-08 08:50:49 · 946 阅读 · 0 评论