自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 IDEA-创建多线程的第二种方式

创建多线程程序的第二种方式:实现Runnable接口 创建多线程程序的第二种方式:实现Runnable接口 java.lang.Runnable Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现,类必须定义一个成为 run的无参数方法。 java.lang.Thread类的构造方法 Thread(Runnable target) 分配新的 Thread 对象 Thread(Runnable target,Strin

2021-02-28 21:27:41 760

原创 IDEA-多线程、主线程、创建多线程的方式、获取(设置)线程名称、sleep静态方法

并发:指两个或多个事件在同一时间段内发生。并行:指两个或多个时间在同一时刻发生(同时发生)进程:(进入到内存的程序叫进程)进程是一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程,进程也是程序的一次执行过程,是系统运行程序的基本单位,系统运行一个程序是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程,一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行之

2021-02-28 17:04:33 1188 1

原创 IDEA-自定义异常类、练习

/* 自定义异常类: java提供的异常类,不够我们使用,需要自己定义一些异常类 格式: public class XXXException extends Exception | RuntimeException { 添加一个空参数的构造方法 添加一个带异常信息的构造方法 } 注意: 1.自定义异常类一般都是以Excepotion结尾,说明该类是一个异常类 .

2021-02-28 13:20:36 1041

原创 IDEA-异常注意事项、多异常的捕获处理、finally有return语句,子父类异常

import java.util.List;/* 异常的注意事项 运行时异常被抛出可以不处理,即不捕获也不声明抛出。 默认给虚拟机处理,终止程序,什么时候不抛出运行时异常了,再来继续执行程序 */public class Demo01Exception { public static void main(String[] args) { /* 多个异常使用捕获又该如何处理呢? 1.多个异常分别处

2021-02-28 11:56:33 327

原创 IDEA-异常处理的两种方式、Throwable类三个异常处理的方法、finally代码块

throw捕获到异常就会中断运行,而try…catch捕获到异常会跳过异常,继续向下执行throws关键字:异常处理的第一种方式,交给别人处理import java.io.FileNotFoundException;import java.io.IOException;import java.nio.channels.FileLockInterruptionException;/* throws关键字:异常处理的第一种方式,交给别人处理 作用: 当方法内部抛出异常

2021-02-27 22:30:29 1752

原创 IDEA-异常的分类、throw的关键字

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/* java.lang.Throwable:类是 java语言中所有错误或异常的超类。 Exception"编译器异常,进行编译(写代码)java程序运行出现的问题 RuntimeException:运行期异常,java程序运行过程中出现的问题 异常就相当于程序得

2021-02-27 22:04:51 948

原创 IDEA-使用date类求出生天数

import java.util.Date;import java.util.Scanner;/* 练习: 请使用日期时间相关的API,计算一个人已经出生了多少天。 分析: 1.使用Scanner类中的方法next,获取出生日期 2.使用DateFormat类中的方法parse,把字符串的出生日期解析为Date模式 3.把Date格式的出生日期转换为毫秒值 4.获取当前的日期,转换为毫秒值 5

2021-02-27 16:47:16 1343

原创 IDEA-斗地主综合案例(有序版本)

import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;/* 斗地主综合案例: 1.准备牌 2.洗牌 3.发牌 4.排序 5.看牌 */public class DouDiZhu { public static void main(String[] a.

2021-02-27 16:46:20 408

原创 IDEA-(补充知识点)JDK9新特性

JDK9对集合添加的优化import java.util.List;import java.util.Map;import java.util.Set;/* JDK9的新特性: List接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素 static <E> List<E> of (E... elements) 使用前提: 当集合中存储的元素的个数已经确定了

2021-02-27 16:45:30 96

原创 IDEA-Map集合练习

计算一个字符串中每个字符出现次数*import java.util.HashMap;import java.util.Scanner;/* 需求: 计算一个字符串中每个字符出现次数 分析: 1.使用Scanner获取用户输入的字符串 2.创建Map集合,key是字符串中的字符,value是字符的个数 3.遍历字符串,获取每一个字符 4.使用获取到的字符串,去Map集合判断key是否存在

2021-02-27 14:17:30 686

原创 IDEA-LinkedHashMap集合、Hashtable接口

import java.util.HashMap;import java.util.LinkedHashMap;/*java.util.LinkedHashMap<K,V> extends HashMap<K,V> Map 接口的哈希表和连接列表实现,具有可预知的迭代顺序。 底层原理: 哈希表+链表(记录元素的顺序) */public class Demo01LinkedHashMap { public static void m

2021-02-27 13:52:28 178

原创 IDEA-HashMap存储自定义类型键值

Map集合保证key是唯一的;作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一/* HashMap存储自定义类型键值 Map集合保证key是唯一的; 作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一 */import java.util.HashMap;import java.util.Map;import java.util.Set;public class Demo01HashMapSa

2021-02-27 13:25:22 362

原创 IDEA-Map集合遍历键找值方式、Entry键值对对象

Map集合遍历的第一种方式import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/* Map集合的第一种遍历方式,通过键找值的方式 Map集合中的方法: Set<K> keySet() 返回此映射中包含的键的Set 视图。 实现步骤: 1.使用Map集合中的方法keySet(),把Map集合所有的K

2021-02-26 22:43:26 1432

原创 IDEA-Map集合概述、子类、常用方法

import java.util.HashMap;import java.util.Map;/* java.util.Map< k,v>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value) 2.Map集合中的元素,key和value的数据类型可以相同,也可以不同 3.Map集合中的元素,key是不允许重复的,value是可以重复的 4.Map集合中的元素,ke

2021-02-26 20:19:48 2383 2

原创 IDEA-Colections集合工具类的方法

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;/* java.utils.Collections是集合工具类,用来对集合进行操作,部分方法如下: public static <T> boolean addAll(Collection<T> c, T...elements):往集合中添加一些元素。 public sta

2021-02-26 16:25:11 189

原创 IDEA-可变参数

/* 可变参数:是JDK 1.5+出现的新特性 使用前提: 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 使用格式:定义方法时使用 修饰符 返回值类型 方法名(数据类型...变量名){} 可变参数的原理: 可变的参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数 传递的参数个数,可以是0个(不传递),1,2...多个 */public class

2021-02-26 14:02:54 307

原创 IDEA-HashSet存储数据的结构(哈希表)、HashSet集合存储自定义元素类型、LinkedHashSet有序集合

HashSet集合存储数据的结构(哈希表)JDK 1.8之前,哈希表 = 数组 + 链表;JDK 1.8+之后,哈希表 = 数组 + 链表;哈希表 = 数组 + 红黑树(提高查询的速度)哈希表的特点是速度快数据结构:把元素进行了分组(相同哈希值的元素一组)链表/红黑树结构把相同的元素连接到一起在存储数据到集合中,先计算元素的哈希值,如果两个元素不同,但是哈希值相同,就会产生哈希冲突如果链表的长度超过了8位,那么就会把链表转换为红黑树(提高查询的速度)HashSet集合存储自定义元素类型首

2021-02-26 12:31:28 304

原创 IDEA-哈希值

/* 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址) 在Object类有一个方法,可以获取对象的哈希值。 int hashCode() 返回该对象的哈希码值。 hashCode方法的源码: public native int hashCode(); native:代表该方法调用的是本地操作系统的方法 */public class Demo01HashCode

2021-02-25 19:32:16 411

原创 IDEA-HashSet集合

HashSet集合import java.util.HashSet;import java.util.Iterator;import java.util.Set;/* java.util.Set接口 extends Collection接口 Set接口的特点; 1.不允许存储重复的元素 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历 java.util.HashSet集合 implements Set接口 Ha

2021-02-25 17:52:54 313

原创 IDEA-List集合的介绍和常用方法、linked集合的常用方法

import java.util.ArrayList;import java.util.Iterator;import java.util.List;/*java.util.list接口 extends Collection接口list接口的特点: 1.有序的集合,存储元素和取出元素的顺序是一致的(存储123,取出123) 2.有索引,包含了一些带索引的方法 3.允许存储重复的元素list接口中带索引的方法(特有的方法) public void add(int

2021-02-25 16:01:37 3130 4

原创 IDEA-数据结构:栈、队列、数组、链表、红黑树

只是了解,需要单独学习数据结构这门课程。数据机构:栈:先进后出,类似于子弹夹,最先进去的子弹最后出去数据结构:队列:先进先出,类似于排队登机,最先进去的最先登机数组:查询快,增删慢。查询快:因为数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速查找某一个元素。增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把源数组的数据复制过来。数组Array是有序的元素序列,数组是在内存中开辟一段连续的空间,并在此空间存放元素,就像是一排出租屋,有100个

2021-02-25 13:28:01 574

原创 IDEA-集合综合案例(斗地主)(无序)

斗地主综合案例:1.准备54张牌,存储的一个集合中特殊牌:大王,小王其他52张牌:定义一个数组/集合,存储四种花色(♠、❤、♣、◇)定义一个数组/集合,存储13个序号:2.A.K…3循环嵌套遍历两个数组/集合,组装52张牌,例如:♠2,❤A,…♣32.洗牌使用集合工具类Collection的方法static void shuffle(List<?> list )使用指定的随机源对指定列表进行置换会随机打乱集合中元素的顺序3.发牌要求:一人17张牌,剩余三张作为底牌,一人

2021-02-25 00:49:47 250

原创 IDEA-泛型通配符、泛型的上限、下限

泛型通配符:当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符 < ?>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用。通配符的基本使用泛型的通配符,不知道使用什么类型来接收的时候,此时可以使用 ? ,表示未知通配符。import java.util.ArrayList;import java.util.Iterator;/* 泛型的通配符: ?:代表任意的数据类型 使用方法:

2021-02-24 22:40:48 528

原创 IDEA-定义和使用(含有泛型)的类、方法、接口

首先创建一个含有泛型的类package demo03Generic;/* 定义一个含有泛型的类,模拟ArrayList集合 泛型是一个未知的数据类型,当我们不确定什么什么数据类型的时候,可以使用泛型 泛型可以接受任意的数据类型,可以使用Integer,String,Student... 创建对象的时候确定泛型的数据类型 */public class GenericClass<E> { private E name; public Gener

2021-02-24 20:56:36 1860

原创 IDEA-泛型概述、使用泛型的利弊、泛型的使用

泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型。泛型也可以看出是一个变量,用来接收数据类型E e :Element元素T t :Type 类型ArratList集合在定义的时候,不知道集合中会存储什么类型的数据,所以类型使用泛型E : 未知的数据类型public class ArrayList<E>{public boolean add(E e) {}public E get(int index) {}}创建集合对象的时候,就会确定泛型的数据类

2021-02-24 20:40:25 641

原创 IDEA-增强for循环的概念和使用

增强for循环也称为(for each),是jdk 1.5+ 的新特性,专门用阿狸遍历数组和集合的,它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。import java.util.ArrayList;/* 增强for循环,底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写 是JDK 1.5+ 出现的新特性 Collection<E> extends Iterator<E> public

2021-02-24 14:18:07 1664

原创 IDEA-Iterator迭代器概念、使用步骤

迭代::即Collection集合元素的通用获取方式,在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有就再取出来,一直把集合中的所有元素全部取出,这种取出方式专业术语称为**“迭代”。**3import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/* java.util.Iterator接口;迭代器(对集合进行遍历) 有两个常用的方法

2021-02-24 14:06:14 1164 1

原创 IDEA-Collection集合概述、常用方法

集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据集合和数组既然都是容器,它们的区别是:数组的长度是固定的,集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储。学习集合的目标:1.会使用集合存储数据。2.会遍历集合,把数据取出来。3.掌握每种集合的特性。Collection接口定义的是所有单列集合中共性的方法所有的单列集合都可以使用共性的方法没有带索引的

2021-02-24 12:47:26 1082

原创 IDEA-基本类型与字符串的相互转换

String转换成对应的基本类型除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。public static short parseShort(String s):将字符串参数转换为对应的short基本类型。public static int parseInt(String s):将字符串参数转换为对应的int基本类型。

2021-02-23 23:02:35 2015

原创 IDEA-包装类的概述、基本使用、自动装箱、拆箱

包装类:基本数据类型的数据,使用起来非常的方便,但是没有对应的方法来操作这些数据,所以我们可以使用一个类,把基本类型的数据包装起来,这个类叫包装类,在包装类中可以定义一些方法,用来操作基本类型的数据。装箱与拆箱基本类型与对应的包装类对象之间,来回转换的过程称为“装箱”与“拆箱”:装箱:从基本类型转换为对应的包装类对象。拆箱:从包装类对象转换对应的基本类型。装箱: 把基本类型的数据,包装到包装类中(基本类型的数据 -> 包装类) 构造方法: Integ

2021-02-23 22:40:13 506

原创 IDEA-System类、StringBuilder类复习

System类1.currentTimeMillis()方法作用:获取当前系统毫秒值时间2.arraycopy()方法作用:复制数组StringBuilder类1.构造方法StringBuilder(); 创建一个空的字符串缓冲区对象StringBuilder(String s); 根据传入的内容创建一个字符串缓冲区对象2.成员方法StringBuilder append(Object obj); 添加内容StringBuilder reverse(); 反转内容String t

2021-02-23 21:08:25 152

原创 IDEA-StringBuilder的原理、构造方法和append方法

String类:字符串是常量;它们的值在创建之后不能更改。字符串的底层是一个被final修饰的数组,不能改变, 是一个常量private final byte[ ] value;StringBuilder类字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)底层也是一个数组,胆识没有被final修饰,可以改变长度byte[ ] value = new byte[16];StringBuilder在内存中始终是一个数组,占用内存空间少,效率高如果超出了StringBuild

2021-02-23 19:56:36 1247 1

原创 IDEA-System类的两个常用方法、查看程序执行时间、复制数据到另一个数组

package demo05System;import java.util.ArrayList;import java.util.Arrays;/* java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作 在system类的API文档中,常用的方法有: public static long currentTimeMillis() 返回以毫秒为单位的当前时间。 public static void array

2021-02-23 16:49:13 1130

原创 IDEA-日期相关类总结

1.Date类A、构造方法Date():根据当前系统时间创建日期对象Date(long time):根据传入的毫秒值时间创建日期对象B、成员方法long getTime(); 获取当前日期对象的毫秒值时间String toLocaleString(); 根据本地格式转换日期对象public class Test01 { public static void main(String[] args) { //空参构造 Date date = new Date

2021-02-23 16:26:06 4359

原创 IDEA-Calendar日历类的使用

日历类Calendar有四种用法:import java.util.Calendar;/* java.util.Calendar类:日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方(YEAR、MONTH、DAY_OF_MONTH、HOUR ) static Calendar getInstance()使用默认时区和语言环境获得一个日历。 */public class Demo01Calender { public static void main

2021-02-23 15:52:44 1046 2

原创 IDEA-基础综合案例-发红包

首先定义一个实现类:package demo08;import red.OpenMode;import red.RedPacketFrame;/*场景说明: 红包发出去之后,所有人都有红包,大家抢完了之后,最后一个给群主自己。大多代码都是现成的,我们需要做的是填空题。我们自己要做的事有: 1.设置一下程序的标题,通过构造方法的字符串参数 2.设置群主名称 3.设置分发策略,平均还是随机?红包分发的策略: 1.普通红包(平均):totalMoney /

2021-02-22 16:12:27 248

原创 IDEA-毫秒值的概念和作用、Date类、DateFormat类、求出生天数练习题

package demo02;/* java.util.Date,表示日期和时间的类 类 Date 表示特定的瞬间,精确到毫秒。 毫秒,千分之一秒,1000毫秒=1秒; 特定的瞬间,一个时间点,一刹那时间 2088-08-28 09:55:33:333,这就是一个瞬间 毫秒值的作用: 可以对时间和日期进行计算 2099-01-03到2088-01-01 中间一共有多少天 可以把提起转换成毫秒,进行计算,计算完

2021-02-22 16:09:49 3072

原创 IDEA-Object类和Objects类

一、Object类1.Object类介绍Object类是所有类的父类,一个类都会直接或者间接的继承自该类该类中提供了一些非常常用的方法!2.toString()方法a.作用:打印对象的信息b.重写前,打印的是包名称类名称@地址值c.重写后,打印的是对象中的属性值3.equals()方法a.作用:比较两个对象的数值b.重写前:比较的是对象的地址值c.重写前:比较的是对象中的属性值二、Objects类1.equals()方法比较两个对象是否相同,但是加了一下健壮性的判断。publi

2021-02-22 12:31:04 1786 2

原创 IDEA-Object类的toString方法、equals方法

java.lang.Object类类 Object 是类层次结构的(根类)祖宗类,每个类都是用Objcet作为(超类)父类,所有的对象(包括数组)都实现这个类的方法。直接打印一个类的对象名会出现地址值,使用toString重写才能打印得出数值。public class Person { private String name; private int age; public Person() { } public Person(String name, in

2021-02-20 23:37:30 459

原创 IDEA-接口作为方法参数和返回值

package demo07;import java.util.ArrayList;import java.util.List;/*java.util.list正式ArrayList所实现的接口。 */public class DemoInterface { public static void main(String[] args) { //所以左边是接口名称,右边是实现类名称,这就是多态写法 List<String> list = n

2021-02-19 21:05:53 666

空空如也

空空如也

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

TA关注的人

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