![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
绝世球王秃光光
这个作者很懒,什么都没留下…
展开
-
JAVASE-27: 多线程概述及使用
多线程要想说线程,首先必须得聊聊进程,因为线程是依赖于进程存在的。什么是进程呢?通过任务管理器我们就可以看到进程的存在。进程就是正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。多进程的意义:单进程计算机只能做一件事情。而我们现在的计算机都可以一边玩游戏(游戏进程),一边听音乐(音乐进程),所以我们常见的操作系统都是多进程操作系统。比如:Windows,Mac和Linux等,能在同一个时间段内执行多个任务。对于单核计算机来讲,游戏进程和音乐进程是同时原创 2020-09-07 18:07:42 · 262 阅读 · 0 评论 -
JAVASE-26: IO流之其他的一些字符流、字节流
1. 数据输入输出流DataOutputStream写-DataInputStream读怎么写的就怎么读,能够读写基本数据类型(ctrl+q可以查看传入什么参数)特有方法:DataOutputStream 写writeInt(); writeDouble(); writeBoolean(); writeUTF();DataInputStream 读readInt(); readDouble(); readBoolean(); readUTF();public static void main原创 2020-09-04 10:52:03 · 150 阅读 · 0 评论 -
JAVASE-25:IO流之字节流 字符流
IO按照流向划分,分为输入流和输出流(我们站在内存角度看输入/输出);按照读写文件类型的划分,我们分为字节流和字符流。字节流可以读写任意类型文件字符流只能读写文本文件1.字节流字节流的抽象基类:InputStream ,OutputStream字节输入流(读)–父类InputStream–子类ByteArrayInputStream 、FileInputStream 、ObjectInputStream字节输出流(写)–父类OutputStream–子类ByteArrayOutputStr原创 2020-08-20 22:04:23 · 249 阅读 · 0 评论 -
JAVASE-24:IO流预备知识之File类及其基础功能
File类文件和目录路径名的抽象表示形式,这个File类可以用来表示文件,也可以用来表示目录。构造方法:File(String pathname):根据一个路径得到File对象。public static void main(String[] args) { // File(String pathname); // 绝对路径:包含盘符号的一个详细路径。 // 相对路径:不含有盘符号的路径。Java中的相对路径---Java工程的文件夹的根目录 File file原创 2020-08-11 17:26:56 · 216 阅读 · 0 评论 -
JAVASE-23:IO流预备知识之异常及其处理
IO流:用来处理设备之间的数据传输。数据在电脑中以文件形式来体现,传输过程中可能会出现一些异常,我们要对这些异常进行处理,所以我们在学习IO流之前,需要先学习 文件(File类)和异常。异常异常就是Java程序在运行过程中出现的错误。异常的分类:1.骑自行车旅游–车胎没气-,这个问题对于他来说是个小问题-可以选择解决可以不解决(运行期异常)。2.也有可能骑着骑着,车胎飞了,那这个问题就是一个严重性问题,他无法解决(Error)。3.还有一种情况,就是在出门前,他检查了一下车闸,发现车闸松了,原创 2020-08-11 17:22:11 · 328 阅读 · 0 评论 -
JAVASE-22:Collections工具类,斗地主洗牌发牌、整理牌
Collections工具类针对集合操作 的工具类Collections成员方法public static < T > void sort (List < T > list):排序, 默认按照自然顺序public static < T > int binarySearch (List < ? > list, T key):二分查找public static < T > T max(Collection < ? > coll):原创 2020-08-08 21:38:53 · 214 阅读 · 0 评论 -
JAVASE-21:Map集合及其子类HashMap 、Hashtable、LinkedHashMap 、TreeMap
集合Map有一种数据比较常见,比如一个学号对应一个学生,这种键值映射关系的数据,为了方便操作,给我们提供了另一种容器,叫做Map:称之为双列集合,有键 有映射值,一个键只能映射一个值,键是唯一的,如果键相同,那么值会覆盖。所有的双列集合的数据结构,只跟键有关,跟值没有关系。Map接口和Collection接口的不同:Map是双列的,Collection是单列的;Map的键唯一,Collection的子体系Set是唯一的;Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构原创 2020-08-08 21:36:33 · 260 阅读 · 0 评论 -
JJAVASE-20:Set集合HashSet、LinkedHashSet和TreeSet的使用
Set集合概述及特点特点:1.可以去除重复;2.存取顺序不一致;3.没有带索引方法,不能使用for循环遍历,不能索引来获取,删除Set集合里面的元素。1.HashSet底层数据结构是哈希表(JDK1.7 数组+链表 JDK1.8 优化 数组+链表+红黑树)。元素无序(存取元素的顺序不一致)且唯一(元素不允许重复)。HashSet 不是线程安全的 集合元素可以是 null。哈希表:是一个元素为链表的数组,综合了数组和链表的优点 (像新华字典一样) (JDK1.7之前)。 哈希码值:是JDK原创 2020-08-06 23:16:49 · 240 阅读 · 0 评论 -
JAVASE-19:泛型、增强for、可变参数和asList()方法的使用
1.泛型概述和基本使用泛型:JDK1.5之后引入的一种机制。是一种把类型明确的工作,推迟到创建对象或者调用方法的时候,才去明确的特殊的类型。参数化类型,把类型当作参数一样的传递。泛型的格式:<数据类型> 这里的数据类型只能是引用数据类型泛型好处:(1): 把运行时期的问题提前到了编译期间;(2): 避免了强制类型转换、向下转型;(3): 优化了程序设计,解决了黄色警告线,提高代码的扩展性。注意:泛型只在编译期有效 但在运行期就擦除了。泛型基本使用:public stat.原创 2020-08-06 22:42:59 · 161 阅读 · 0 评论 -
JAVASE-18:集合之ArrayList、Vector、LinkedList
Java集合中List接口的实现类主要有ArrayList、Vector、LinkedListArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高Vector:底层数据结构是数组,查询快,增删慢 线程安全 效率低LinkedList:底层数据结构是链表,查询慢,增删快 线程不安全 效率高1.ArrayList的特有功能JDK1.8新增的一个方法也能遍历集合void forEach(Consumer<? super E> action) 执行特定动作的每一个元素原创 2020-08-06 22:31:30 · 160 阅读 · 0 评论 -
JAVASE-17:集合Collection、List
集合数组作为容器的不好之处 就是对容器中的元素进行操作时,不够方便,比如要增删数组中的元素,就不是那么方便了,因为数组一单定义,长度就不能改变了,JAVA为了我们更方便去操作容器中的元素,提供了一种新的容器,叫做集合。1.数组长度一单定义就固定了,集合长度是可变的;2.数组既可以存储基本数据类型,也可以存储引用数据类型,集合只能存储引用数据类型;3.数组只能存储同类型元素,集合可以存储不同类型的元素。Collection集合继承体系图:Collection的功能概述添加功能boolean原创 2020-08-05 07:23:33 · 199 阅读 · 0 评论 -
JAVASE-16:常见对象Date类、SimpleDateFormat类、Calendar类、BigInteger类
Date类表示特定的瞬间,精确到毫秒。构造方法空参构造:public Date()有参构造:public Date(long date)把一个long类型的毫秒值转换成一个日期对象(给计算机元年1970 01-01加上时间,形式是毫秒分时,填入括号中)public static void main(String[] args) { // 类 Date 表示特定的瞬间,精确到毫秒 Date date = new Date(); // Sun Aug 02 09:15:27原创 2020-08-04 22:02:21 · 164 阅读 · 0 评论 -
JAVASE-15:常见对象Math类、Random类、System类、BigDecimal类
Math类Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。成员变量:public static final double E 自然底数public static final double PI 圆周率成员方法:public static int abs(int a) 取绝对值public static double ceil(double a) 向上取整public static double floor(double a) 向下取整原创 2020-08-04 21:52:28 · 163 阅读 · 0 评论 -
JAVASE-14:正则表达式,匹配器模式器的结合使用
正则表达式正确规则的表达式,是一种独立的语法,很多语言都支持他,作用就是校验数据,符不符合定义的正则表达式。常用语法:定义正则表达式String regx='a'; //就代表一个字符aregx="[a,b,c]"; []-列表,是列举的a,b,c某一个就行regx="[a-z]"; 匹配a-z中某一个regx="[A-Z]"; 匹配A-Z中某一个regx="[a-zA-Z]"; 匹配a-z或A-Z中某一个regx="[0-9]"; 匹配0-9中某一个r原创 2020-08-04 21:39:36 · 166 阅读 · 0 评论 -
JAVASE-13:包装类和自动拆装箱机制
包装类案例:a. 将100转换为二进制、八进制、十六进制b. 判断一个数是否在int范围内public static void main(String[] args) { int num = 100; String s = Integer.toBinaryString(num); String s1 = Integer.toOctalString(num); String s2 = Integer.toHexString(num); System.out.pr原创 2020-08-04 21:34:03 · 117 阅读 · 0 评论 -
JAVASE-12:StringBuffer和Arrays类常用方法和功能
1. 字符串缓冲区 StringBuffer用+拼串效果不好 浪费时间和空间 因为字符串一单定义长度不能改变。StringBuffer - - 线程安全的可变字符序列。相当于一个字符容器,可以不断地往容器中追加字符。1.1 常用方法 功能new StringBuffer() :构造一个其中不带字符的字符串缓冲区 容量默认为16个字符容器名.capacity():获取容器容量 --16,一旦超过容量会自动扩容容器名.length():获取容器长度容器名.append():向容器中追加内容new原创 2020-07-30 19:58:21 · 151 阅读 · 0 评论 -
JAVASE-11:常用数组排序及其实现
数组排序把数组中无序的元素 通过交换、移动等方式,使数组中的元素成为一个有序序列。冒泡排序数组中的元素 两两比较 大的元素往后放,经过一轮比较后,最大的元素会出现在最后面。每一个数和自己后面的那个数相比,如果前面的比后面的大,就交换值,这样第一轮下来总共比较了arr.length-1次,最大的数就会出现在序列最后;那么第二轮要比较arr.length-1-1次将第二大的数排至倒数第二位…如此往复,就可以得到一个有序序列。for (int j = 0; j < arr.length - 1原创 2020-07-30 19:55:44 · 168 阅读 · 0 评论 -
JAVASE-10:equals()、clone()、Scanner()、String类
1. Object类的equals()方法比较两个对象(默认是比较地址值)是否相等// 源代码: public boolean equals(Object obj) { return (this == obj);}想比较地址值之外其他的,比如两个对象的成员变量是否相同,那么子类应该重写equals()方法,ctrl+o 选择equals 重写:@Overridepublic boolean equals(Object o) { if (this == o) {原创 2020-07-28 22:29:30 · 182 阅读 · 0 评论 -
JAVASE-09:参数传递、内部类的理解与常用类的学习
1. 参数传递形式参数的传递:a.当以后看到一个方法的形参 需要一个类类型,你就传递一个该类的对象(没有可以定义一个)。package org.westos.demotest;public class MyTest { public static void main(String[] args) { Student student = new Student(); set(student,20); student.show(new Stud原创 2020-07-26 00:26:43 · 194 阅读 · 0 评论 -
JAVASE-08:多态、抽象类、接口
1. 多态指的是一种事物在不同时刻,所表现出的不同状态1.1 多态的前提:a. 要有继承,没有继承,多态就无从谈起b. 要有方法重写(当然不重写也可以 ,但是会失去意义)c. 父类引用指向子类对象 — 父 f = new 子();public class MyTest2 { public static void main(String[] args) { Cat cat = new Cat(); cat.eat(); //采用多态的形式来原创 2020-07-26 00:11:20 · 155 阅读 · 0 评论 -
JAVASE-07:static关键字、代码块的概念和继承
练习:长方形类,定义一个长方形(Rectangle)类,定义求周长(length)和面积(area)的方法,然后定义一个测试类Test,进行测试。package org.westos.MXDX;public class Rectangle { private double Chang; private double Kuan; public Rectangle() { } public Rectangle(double chang, double kuan)原创 2020-07-25 23:58:35 · 163 阅读 · 0 评论 -
JAVASE-06:面向对象、this关键字、构造方法
面向对象:1.1内存图一个对象的内存图:a.MyTest.class类加载到方法区,调用主方法main() 入栈;b.在栈中运行main方法,当jvm看到Student时,会自动把Student类加载到方法区;当看到局部变量s时,会在栈中开辟一块空间;当看到new Student()时,会在堆内存中开辟空间,并将堆内存中的对应地址0x001赋值给s;还会拿到方法区的地址值指向方法区;c.在main方法中运行到s.name这一步时,s根据对象给他的地址值,去堆内存中找到相应的对象,再给堆内存中的变原创 2020-07-20 10:34:51 · 159 阅读 · 0 评论 -
JAVASE-05:二维数组、递归和面向对象
1. 数组(续)a. 数组长度一旦定义好 就固定了;b. 数组不但可以存储基本数据类型,还可以存储引用数据类型,引用数据类型包括数组、类、接口,也就是说new出来的数据就是引用数据类型。例3. 数组查表法 根据索引 查找对应星期技巧:快速生成方法getWeek(index,week);先写方法名 和 返回值 调用方法 然后用alt+enterreturn week[index];或String str = week[index];return str;package org.westo原创 2020-07-20 10:27:12 · 188 阅读 · 0 评论 -
JAVASE-04:循环、方法和数组
JAVASE-04:循环、方法和数组1.循环(续)1.1循环结构while语句的格式和基本使用int i=1(初始化条件语句);while(判断条件语句){ 循环体语句; i++(控制语句);}执行流程:a:执行初始化条件语句;b:执行判断条件语句,看其返回值是true还是false,如果是true就继续执行,如果是false就结束循环;c:执行循环体语句;d:执行控制条件语句;e:回到b继续。与for相比,变量在循环语句之外,可以拿到变量的值for循环也可以通过下面的原创 2020-07-16 12:01:58 · 221 阅读 · 0 评论 -
JAVASE-03:运算符和语句
JAVASE-03:运算符和语句IDEA基础使用方法1.创建项目:在src下先建包,格式:命名-域名+功能名,例:com.baidu.video 再建类;2.右键 show in explorer 查看项目位置;3.生成主方法 敲psvm 快速生成输出语句sout;4.有红线-有语法错误;5.单行注释 ctrl+/ (多行注释内可套单行注释 但不能再套多行注释);6.多行注释 ctrl+shift+/ , ctrl+z 撤销;7.ctrl+alt+L可以排版代码;8.变量名.sou原创 2020-07-16 09:59:19 · 450 阅读 · 0 评论 -
JAVASE-02:常量、变量、运算符和数据类型转换方式
JAVASE-02:常量、变量、运算符和数据类型转换方式1.常量程序执行过程当中 其值不发生变化的量,在java中分为字面值常量和自定义常量字面值常量–整数常量 -- 100 200 3 小数常量 -- 3.123 4.21布尔常量 -- true false字符常量 -- 被单引号 所括起来的单个字符 'a' '1' 'A'字符串常量 -- 被双引号所括起来的单个或多个字符 ”a“ ”asd“ ”你好“ ”hello world“空常量 -- null原创 2020-07-12 15:16:48 · 257 阅读 · 0 评论 -
JAVASE-01:基础概念知识及学习环境配置
JAVASE-01:基础概念知识及学习环境配置Java语言发展史詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。Java语言平台版本J2SE(Java 2 Pl原创 2020-07-12 14:59:20 · 459 阅读 · 0 评论