- 博客(54)
- 收藏
- 关注
原创 枚举类
枚举类:某些方法所接受的数据必须是在固定范围内,解决方案是自定义一个类,然后私有化构造方法,在定义类中创建本类的对象对外使用枚举类的定义格式:enum 类名{}枚举类要注意的事项:1.枚举类也是一个特殊的类2.枚举值低枚举值所属类的数据类型,枚举值是指向了本类的对象的3.枚举值默认的修饰符是public static final4.枚举类的构造方法默认的修饰符是private5....
2019-08-25 21:19:03 197
原创 可变参数
可变参数的格式:数据类型…变量名定义一个函数做加法功能public class Test7 { public static void main(String[] args) { // TODO Auto-generated method stub int[]arr={1,2,3,4,5,6}; add(arr); } public static void add(in...
2019-08-24 10:54:42 114
原创 增强for循环
增强for循环的作用:简化迭代器的书写格式(底层还是使用迭代器遍历)增强for循环的使用范围:如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环增强for循环格式:for(变量类型 变量名 :遍历的目标){} HashSet<String> set=new HashSet<String>(); set.add("狗娃");...
2019-08-24 10:45:35 155
原创 静态导入
静态导入可以作用于一个类的所有静态成员静态导入的作用:简化书写格式:import Static 包名.类名.静态的成员静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要指定使用静态导入的成员,那么需要在静态成员前面加上类名...
2019-08-24 10:31:22 182
原创 Collections工具类与Arrays工具类
一、Collections:Collections与Collection的区别:Collection是一个集合的根接口,Collections是操作集合对象的一个工具类Collections常见方法:1.对list进行二分查找int binarySearch(list,key)int binarySearch(list,key,comparator)2.对list集合进行排序sor...
2019-08-24 10:26:46 267
原创 集合9——TreeMap
TreeMap<Character,Integer> tree=new TreeMap(); tree.put('a', 97); tree.put('b', 98); tree.put('c', 99); System.out.println(tree);TreeMap要注意的事项:1.往TreeMap添加元素时,如果元素的键具备自然顺序的特点,那么就会按顺序...
2019-08-22 17:01:36 140
原创 集合8——HashMap
HashMap的存储原理:往HashMap添加元素时,首先会调用键的hashcode方法得到元素的哈希码值,然后经过运算就可以算出该元素在哈希表中的存储位置情况1.如果算出的位置目前没有任何元素存储,那么该元素可以直接添加到哈希表中情况2.如果算出的位置目前已经存在其他元素,那么还会调用该元素的equals方法与这个位置上的元素进行比较,如果equals方法返回的是false,那么该元素允许...
2019-08-22 09:19:22 102
原创 集合7——Map
双列集合:-------| Map如果是实现了Map集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可重复---------| HashMap 底层基于哈希表实现---------| TreeMap 基于红黑树数据结构实现的,会对元素的键进行排序存储---------| HashTable 底层依赖了哈希表实现的,实现方式与HashMap一致,但HashTable是线...
2019-08-22 09:06:03 128
原创 泛型
ArrayList<String> list=new ArrayList<String>();表示该容器只能存储字符串类型的数据泛型的好处:1.将运行时的异常提前至编译时2.避免了无谓的强制类型转换泛型在集合中的常见应用:ArrayList list=new ArrayList();ArrayList list=new ArrayList();ArrayL...
2019-08-21 09:49:30 152
原创 servlet+jspsmart组件实现文件上传
jsp页面: <body> <form action="UploadServlet" method="post" enctype="multipart/form-data"> 请选择一个文件上传 <input type="file" name="myFile"> <input type="submit" value="上传"> ...
2019-08-20 21:59:40 193
原创 使用mybatis实现简单的增删改查功能
user实体类:Userpublic class User { private int id; private String userName; private int userAge; private String userAddress; public int getId() { return id; } public void setId(int id) { thi...
2019-08-20 14:12:55 260 1
原创 集合6——set及set接口下实现类
-------| set 无序,不可重复-----------| HashSet 底层使用Hash表支持,具备的特点是:存取速度快-----------| TreeSet 底层使用红黑树数据结构实现,如果元素具备自然顺序的特性,会按元素自然顺序进行排序HashSet:HashSet实现原理:往HashSet添加元素时,HashSet会先调用元素的hashcode方法得到元素...
2019-08-20 11:00:21 159
原创 使用LinkedList存储一副扑克牌,实现洗牌功能
public class Poker{ String color;//花色 String num;//点数 public Poker(String color,String num){ this.color=color; this.num=num; } @Override public String toString() { return "{"+color+num+"}"...
2019-08-19 23:35:34 311
原创 集合5——Vector
Vector:底层维护了object数组实现,实现与ArrayList一样,但Vector是线程安全的,操作效率低ArrayList与Vector的区别:相同点:ArrayList与Vector底层都使用了object数组实现的不同点:1.ArrayList是线程不同步的,Vector是线程同步的,操作效率低2.ArrayList是JDK1.2出现,Vector是JDK1.0出现的...
2019-08-19 22:20:41 71
原创 集合4——LinkedList
LinkedList:底层使用了链表实现,具备的特点是查询速度慢,增删块LinkedList中特有的方法:一、方法:1.addFirst(E e):把元素添加到集合的首位置LinkedList list=new LinkedList(); list.add("狗娃"); list.add("狗剩"); list.addFirst("铁蛋"); System.out.prin...
2019-08-19 22:14:28 137
原创 集合3——ArrayList
ArrayList:底层使用Object数组实现,具备的特点:查询速度快,增删慢ArrayList中特有的方法:1.ensureCapacity(int minCapacity) : 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。2.trimToSize() : 将此 ArrayList 实例的容量调整为列表的当前大小。笔试题目:使用...
2019-08-19 09:00:49 107
原创 集合2——List
实现List接口的集合类,具备的特点是有序,可重复有序:集合的有序不是指自然顺序,是指添加顺序和出来的顺序是一样的List中特有的方法:一、添加1.add(int index,E element):把元素添加到集合的指定位置List list=new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); ...
2019-08-18 23:13:07 180
原创 集合1——Collection
Collection:单列集合的根接口Collection方法:一、增加:1.add(E e):添加成功返回true,失败返回falseCollection c=new ArrayList(); c.add("abc"); c.add("de"); System.out.println(c);2.addAll(collection c):把一个集合的元素添加到另一个集合...
2019-08-18 16:16:24 149
原创 集合
集合是存储对象数据的集合容器集合比数组的优势:1.集合可以存储任意类型的对象数据,数组只能存储只能存储同一种数据类型的数据2.集合的长度是可以发生变化的,数据的长度是固定的集合的体系:单列集合:-------| Collection 单列集合的根接口---------| List 如果是实现了list接口的集合类,具备的特点:有序,可重复-----------| ArrayLi...
2019-08-18 15:26:52 172
原创 线程的通讯
线程的通讯:一个线程完成了自己任务时,要通知另一个线程完成另一个任务wait():等待 如果线程执行了wait方法,那么线程会进入等待状态,等待状态下的线程必须要被其他线程调用notify方法才能唤醒notify():唤醒 唤醒等待的线程练习:生产者与消费者class Product{ String name; //名字 double price; //价格 bool...
2019-08-18 15:06:45 126
原创 线程安全问题的解决方案
在什么情况下回出现线程安全问题:1.存在两个或者两个以上的线程对象,而且线程之间共享一个资源2.有多个语句操作共享资源线程安全问题解决方案:方式一:同步代码块格式:synchronized(锁对象){需要被同步的代码;}同步代码块需要注意的事项:1.所对象可以为任意一个对象2.在同步代码块中,调用sleep方法并不会释放锁对象3.同步代码块只有真正存在线程安全问题才使用同步...
2019-08-17 15:46:54 581
原创 使用线程模拟3个窗口同时售50张票
方式一:class SaleTicket extends Thread{ static int num=50; static Object o=new Object(); public SaleTicket(String name){ super(name); } @Override public void run() { while(true){ synchroniz...
2019-08-17 15:16:18 915
原创 线程的常用方法的简单介绍
1.Thread(String name):初始化线程名字2.getName():返回线程的名字3.setName(String name):设置线程对象名4.sleep():线程睡眠指定的毫秒数(静态的方法)5.getPriority():返回当前线程对象的优先级,默认线程的优先级是56.setPriority(int newPriority):设置线程的优先级,虽然设置了线程的优先级...
2019-08-17 14:51:50 127
原创 线程的生命周期
运行状态下的线程,一旦执行了sleep或者wait方法之后,那么该线程会临时进入阻塞状态,如果是调用了sleep方法进入临时阻塞状态,那么线程一旦超过了指定的睡眠时间,那么就会重新进入可运行状态,如果调用了wait方法进入临时阻塞状态,那么需要其他线程唤醒该线程才可以重新进入可运行状态。...
2019-08-17 14:45:18 131
原创 线程
进程:正在执行的程序称为进程。进程负责了内存空间的划分线程:线程在一个进程中负责了代码的执行,就是进程中一个执行的路径多线程:在一个进程中,有多个线程同时在执行不同的任务多线程的好处:1.解决了一个进程能执行多个任务的问题2.提高了资源的利用率多线程的弊端1.增加了cpu的负担2.降低了一个进程中线程的执行效率3.会引发线程安全问题4.出现了死锁现象如何创建多线程:方...
2019-08-17 14:31:14 114
原创 System类的简单介绍
System是一个系统类,主要用于获取系统属性数据常用方法:1.arraycopy(Object src, int srcPos, Object dest, int destPos, int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。int[] srcArr={10,11,12,13,14,15}; //把srcArr的数组元素拷贝至de...
2019-08-17 12:01:48 677
原创 StringBuffer类的常用方法简单介绍
StringBuffer类:存储字符的容器笔试题目:使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量为多少,如果长度不够,自动增长多少答:使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量为16,长度不够时,自动增长1倍StringBuffer类的方法:一、添加方法1.append(boolean b):可以添加任意类型数据 Strin...
2019-08-17 11:39:52 432
原创 String类的一些方法简单介绍
一、获取方法1.int length():获取字符串长度 String str="hello"; System.out.println("字符串长度为:"+str.length());2.char charAt(int index):获取特定位置字符 String str="hello"; System.out.println("第四个字符是:"+str.charA...
2019-08-17 11:03:08 140
原创 String类的一些构造方法了解
一、构造方法1.string()创建一个空内容的字符串对象2.string(byte[ ] bytes)使用一个字节数组创建一个字符串对象 byte[] buf={97,98,99}; String str=new String(buf); System.out.println(str);3.string(byte[ ] bytes,int offset,int length...
2019-08-16 16:36:45 185
原创 数组去重
public class Demo8 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr={10,9,10,45,10,8,10}; arr=clearRepeat(arr); System.out.print("新数组元素为"+Arrays.toStrin...
2019-08-16 16:15:18 131 3
原创 String类的简单了解
String str1="hello"; String str2="hello"; String str3=new String("hello"); String str4=new String("hello"); System.out.println(str1==str2); System.out.println(str2==str3); System.out.pri...
2019-08-16 15:36:49 228 2
原创 object类
object类是所有类的终极父类,任何类都继承object类object类常用的方法:1.toString();返回该对象字符串表示Object object = new Object(); System.out.println(object.toString()); System.out.println(object);输出一个对象和调用toString方法结果一样:完整类名...
2019-08-16 14:07:47 129
原创 模板模式
解决某类事物的步骤有些是固定,有的是发生变化的,那么这时候我们可以为这类事情提供一个模板代码,从而提高效率模板模式步骤:1.先写出解决该类事情其中的一件的解决方案2.分析代码,把会发生变化的代码抽取出来独立成一个方法,把该方法描述成一个抽象方法。3.使用final修饰方法,防止别人重写模板的方法练习:编写一个计算程序运行时间的模板abstract class MyRunTime{ p...
2019-08-16 11:22:51 74
原创 权限修饰符
权限修饰符是控制修饰的成员的范围可见性注意:在不同包下,只有public与protected访问,而且protected必须是在继承关系下才能访问
2019-08-16 11:12:21 131
原创 自定义异常类
自定义异常类步骤:自定义一个类继承Exception即可需求:模拟吃饭,如果钱少于10块,那么抛出没有带够钱的异常class NoMoneyException extends Exception{ public NoMoneyException(String message){ super (message); }}public class Test16 { public st...
2019-08-16 11:00:51 211
原创 处理异常——抛出处理
抛出处理(throw,throws)public class Demo6 { public static void main(String[] args) { // TODO Auto-generated method stub try { div(4, 0); } catch (Exception e) { // TODO Auto-generated catch b...
2019-08-16 10:32:06 346
原创 处理异常——捕获处理
捕获处理的格式:try{可能发生异常的代码;}catch(捕获的异常类型 变量名){处理异常的代码;}public class Demo6 { public static void main(String[] args) { // TODO Auto-generated method stub div(4, 0); } public static void div(in...
2019-08-16 10:16:50 122
原创 异常
异常的体系:------|Throwable:所有异常或者错误的超类-----------|Error:错误,一般由jvm引起的-----------|Exception:异常,需要通过代码处理如何区分异常与错误:如果程序出现不正常的信息的类名是以Error结尾的,那么肯定是错误,如果是以Exception结尾,肯定是异常Throwable常用的方法:1.toString():返回...
2019-08-16 10:04:14 87
原创 内部类
一个类定义在另一个类的内部,那么该类就称作为内部类class outer{ class inner{ }}内部类的class文件名:外部类$内部类(这样命名可以区分该class文件是属于哪个内部类的)内部类的应用场景:我们再描述A事物时,如果发现描述A事物内部还存在另一个比较复杂的事物B,而且这个比较复杂的事物B还需要访问A事物的属性等数据,这时就可以使用内部类。内部类的...
2019-08-16 09:24:13 100
原创 强制类型转换
基本数据类型转换:小数据类型--------->大数据类型 自动类型转换大数据类型--------->小数据类型 强制类型转化格式:小数据类型 变量名=(小数据类型)大数据类型引用类型转换:小数据类型--------->大数据类型 自动类型转换大数据类型--------->小数据类型 强制类型转化Animal ...
2019-08-16 09:02:41 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人