基础知识
零零散散的基础知识点
mymymyzl
这个作者很懒,什么都没留下…
展开
-
设计模式(懒汉、饿汉模式)
饿汉模式public class HungrySingleton { private static HungrySingleton hungrySingleton = new HungrySingleton(); private HungrySingleton() { } public static HungrySingleton getN(){ return hungrySingleton; }}懒汉模式public class L原创 2022-03-24 08:21:14 · 413 阅读 · 0 评论 -
综合小案例学习
某班有40个学生,姓名分别为S1~40,全部参加Java考试,给出所有同学的成绩(随机产生,范围 1-100),定义Student类(name,score)并存放到集合中,使用Stream流剔除掉成绩大于等于60的学生,最后得到一个新的集合,并给这个集合按照学生成绩进行排序。打印输出:成绩不合格的学生名单:S1 – 35S5 – 44…public class Student { String name; int score; public Student() {原创 2022-03-24 08:18:18 · 202 阅读 · 0 评论 -
java访问修饰符以及之间的区别
(1)public: 用public修饰的类、类属变量及方法,包内及包外的任何类均可以访问;(2)protected: 用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问;(3)default: 如果一个类、类属变量及方法没有用任何修饰符,则其访问权限为默认权限,只认包。(4)private: 用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。总结:public: 任何情况下都可以访问。protected:同原创 2022-03-20 16:44:17 · 1332 阅读 · 0 评论 -
冒泡排序简析
冒泡排序:int [] arr = {6,9,2,7};两种排序 结果int [] arr = {9,7,6,2}; //降序int [] arr = {2,6,7,9}; //升序 — 有限实现动态初始化int [] 标识符 = new int [3];标识符[index] = 值 | 标识符[index]静态初始化int [] 标识符 = new int []{值,值};int [] 标识符 = {值,值};1.目标: 通过冒泡排序算法将数组中的元素进行升序排序|降序原创 2022-03-20 16:05:47 · 178 阅读 · 0 评论 -
数组动态、静态初始化
一、数组动态初始化1.含义: 只指定数组长度不指定数组元素值.2.数组的定义:数据类型[] 数组名称 = new 数据类型[数组长度];数据类型 数组名称[] = new 数据类型[数组长度];3.详细解释:数据类型: 创建的数组容器可以存储什么数据类型 基本数据类型8个、String []: 表示数组数组名称: 数组本身也是一个变量,用于存储数组的地址的变量名=: 赋值符号,将数组的地址,赋值给数组名称new: 关键字,创建数组使用的关键字,用于在堆内存中给数组开辟存储数据的空间数据原创 2022-03-20 15:32:18 · 4933 阅读 · 0 评论 -
continue、break、return、exit区别
1.continue语句: continue关键字, 表示继续,下一次概念; 使在用循环中, 结束本次循环,继续下次循环;continue 主要作用就是在循环中进行一些数据的筛选, 筛选出最符合条件的数据运行循环2.break语句: break是关键字, 表示结束, 破坏1)终止switch语句2)结束当前层次循环,break 只终止自己的循环。3)在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。如果在多重嵌套循环中使用break语句,原创 2022-03-20 15:19:57 · 6034 阅读 · 0 评论 -
for、while、do while区别
1.do while语句和其他两种语句的区别:1)for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)2)do…while语句至少可以执行一次,另外两种有可能一次都执行不了2.while语句和for的区别:1)代码层面: while语句声明的初始化变量,在while结束之后,还能继续使用;for中声明的初始化变量,在for结束之后,就无法使用了.2)设计层面: 循环次数原创 2022-03-20 14:18:44 · 7433 阅读 · 1 评论 -
i++、++i区别
简单举个例子:int i=1,a=0; i++ 先赋值在运算,例如 a=i++,先赋值a=i,后运算i=i+1,所以结果是a==1 ++i 先运算在赋值,例如 a=++i,先运算i=i+1,后赋值a=i,所以结果是a==2原创 2022-03-20 14:05:37 · 77 阅读 · 0 评论 -
与、或、非、异或...区别
&和&& 、 |和|| 的异同&&和&相同点:&是逻辑与,&&短路与。两个执行最终结果相同,表达式左右只要有一个为false 结果为false。&&和&不同点:如果表达左边已经为false && 右边就不执行了。|和||相同点:|是逻辑或,&&短路或。两个执行最终结果相同,表达式左右只要有一个为true 结果为true。|和||不同点:如果表达左边已经为true .原创 2022-03-18 17:20:15 · 941 阅读 · 0 评论 -
三元运算符
三元运算符:操作元有三个,第一个是条件表达式,剩余两个为值,条件表达式为真时运算取第一个值,为假时取第二个值。语法为:条件表达式?表达式1:表达式2。说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。其逻辑为:“如果为真执行第一个,否则执行第二个。”例:public class Test { public static void main(String[] args) { int score = 15;原创 2022-03-18 17:11:13 · 502 阅读 · 0 评论 -
随机数 简述
随机数Random类JDK提供了一个类, 类名Random, 主要功能 : 可以生成指定范围内的任意一个随机数Random来自于java.util路径下Random类使用步骤:1)导包 : 将Random类所在具体路径导入到类的声明之上import java.util.Random;2)创建出Random类型对象:Random ran = new Random();3)使用ran对象名.调用Random类型中功能nextInt(int count) : 参数count表示需要随机生成的数原创 2022-03-18 16:54:06 · 291 阅读 · 0 评论 -
基本数据类型排序
第一种忽略分类表示,按占用字节表示(少)4byte(字节1) < short(短整型2) = char(字符型2) < int(整型4) = float(单精度4) < double(双精度8) = long(长整型8) 特殊: boolean(布尔类型 未知字节)5# 按类型分(多)6byte(字节1) < short(短整型2) < int(整型4) < long(长整型8),char(字符型2), folat(单精度4) < double(双精度8),.原创 2022-03-18 16:46:34 · 1163 阅读 · 0 评论 -
基本数据类型和引用数据类型区别
java有两种不同的数据类型:基本数据类型和引用数据类型原创 2022-03-18 16:41:13 · 150 阅读 · 0 评论 -
java常量与变量的区别
常量:在Java代码运行的过程中, 其值不会发生变化的量(数据), 称为常量1、用final修饰(也称最终变量)2、常量在声明时必须赋初值,赋值后不能再修改值3、常量名通常用全大写字母表示4、符号常量 – 有名字的常量(定义到方法外且固定static final)5、字面值常量 – 通俗点讲直接打印输出的各种类型数据(没有名字,且不可更改)。//符号常量public static final String IDCARD ="150233198804231123";public class原创 2022-03-18 16:23:18 · 706 阅读 · 0 评论 -
JDK JRE JVM简述
JVM (Java Virtual Machine): Java虚拟机,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一.我们编写的Java代码,都运行在 JVM 之上.JRE (Java Runtime Environment): 是Java程序的运行时环境,但是单独的JVM虚拟机不能自己运行,需要支持JVM运行的功能代码,JRE包含 JVM 和运行时所需要的 核心类库。核心类库:很多功能代码, 代码太多, 为了便于管理, 因此将代码放置到一个库中管理.原创 2022-03-18 15:31:12 · 349 阅读 · 0 评论 -
JDK内置核心函数式接口
1、Consumer: 消费型接口 有一个可以消费任意数据类型的数据的方法2、Supplier:供给型接口 有一个可以提供任意数据类型数据的方法3、Function<T, R>:函数型接口 有一个可以把任意数据转换为其他任意数据类 型的方法4、Predicate:断言型接口 有一个可以对任意数据进行判断的方法1 、Consumer 【消费性接口】void accept(T t):消费使用掉任意的一个数据作用:当某个方法可以接收一个数据,并且处理这个数据,处理完成之后,不需要返 回任原创 2022-03-17 23:25:26 · 584 阅读 · 0 评论 -
【无标题】
一、单列集合Collection - 有序单列集合List - 实现类1.List接口父接口Collection add、remove、removeIf 、 get 、set 、sort 、size、addAll、 removeAll、clear、subList2.并发修改异常:集合操作数据方式很多,迭代器和其他 如果使用迭代器就使用迭代器方式操作。如果使用其他就都用其他方式操作。3.ArrayListclone 克隆一个新的集合。 数组结构,特点:查询块,增删慢。4.LinkedList双原创 2022-03-03 17:18:39 · 413 阅读 · 0 评论 -
遍历集合的方式lambda
package com.xja.ex14;import java.util.ArrayList;import java.util.List;public class Pra4 { public static void main(String[] args) { List d=new ArrayList(); d.add("今天"); d.add("天气"); d.add("还不错"); //Lambda .原创 2022-03-01 17:36:03 · 247 阅读 · 0 评论 -
1. File类 2. I/O流 3. 字节流 4. 字节缓冲流
1. File类 2. I/O流 3. 字节流 4. 字节缓冲流原创 2022-03-10 17:09:17 · 1146 阅读 · 0 评论 -
面向对象的基础要点
1.抽象类2.接口3.内部类4.多态原创 2022-02-28 08:55:41 · 205 阅读 · 0 评论 -
使用for循环遍历集合
package com.xja.ex14;import java.util.ArrayList;import java.util.List;public class Pra2 { public static void main(String[] args) { List b=new ArrayList(); b.add("今天"); b.add("海绵宝宝干啥去了?"); b.add("捉水母"); //使用.原创 2022-03-01 17:19:15 · 1200 阅读 · 0 评论 -
使用迭代器iterator遍历单列集合
package com.xja.ex14;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Pra1 { public static void main(String[] args) { List a=new ArrayList(); a.add("今天"); a.add("星期"); a.add(.原创 2022-03-01 17:10:21 · 158 阅读 · 0 评论 -
线程和进程的区别
1、线程和进程的区别进程:是指一个内存中运行的应用程序(已经在内存中运行的程序). 一个进程都有一个独立的内存空间,一个电脑(手机)可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;线程:是进程中的一个执行单元(线程是依赖于进程的),负责当前进程中程序的执行,一个进程中至少有一个线程(单线程程序)。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。并发和并行前提多个任务多个线程是线程的特性高性能、高可用、高并发(三高)并行:指两个或多个事件在同一时原创 2022-03-10 23:00:24 · 5463 阅读 · 0 评论