java学习
文章平均质量分 62
writer__zz
这个作者很懒,什么都没留下…
展开
-
Stream流分组,时间分组-Collectors.groupingBy()
java8新特性之分组原创 2022-11-09 19:58:34 · 4012 阅读 · 0 评论 -
java学习之Lambda表达式
Lambda表达式Lambda是一个匿名函数:基本语法:<函数式接口><变量名>=(参数1,参数2…)->{//方法体 } };Lambda引入了新的操作符:->(箭头操作符),->将表达式分成两部分,左侧:(参数1,参数2…) 表示参数列表右侧:{}内部式方法体注意事项:形参列表得到数据类型会自动推断。如果形参列表为空,只需保留()。如果形参只有一个,()可以省略,只需要参数的名称即可。如果执行语句只有一句,且无返回值,{}原创 2020-08-31 19:41:14 · 151 阅读 · 0 评论 -
java学习之反射
反射什么是类对象类的对象:new出来的对象,也称为实例对象。类对象:类加载的产物,封装了一个类的所有信息(类名,父类,接口。属性,方法,构造方法)获取类对象通过类的对象,获取类对象Student s = new Student();Class c = s.getClass();通过类名获取类对象Class c = 类名.class;通过·静态方法获取类对象Class c = Class.forName(“包名.类名“);常用方法:Public String原创 2020-08-27 20:04:50 · 205 阅读 · 0 评论 -
java学习之网络编程
网络编程让计算机与计算机之间建立连接进行通信。网络模型Osi:开方式系统互联,7层协议物理层 :为物理设备之间的数据通信提供传输信号和物理介质(双绞线,光导纤维)数据链路层:通过协议(差错控制)或规来控制数据传输的正确网络层:定义能够标识所有网络节点的逻辑地址。传输层:负责是否选择差错恢复协议,数据流重用。错误顺序重排会话层:负责使用应用建立和维持会话,是通信在失效时继续恢复通信。表示层:负责定义转换数据格式及加密,允许选择以二进制或ASCII格式传输应用层:负责文件原创 2020-08-24 21:10:30 · 133 阅读 · 0 评论 -
java学习之单元测试
Java的Junit单元测试1.选中当前工程-右键选择:build path -> add libraries – Junit3 -> 下一步,如图2. 创建java类,进行单元测试 此时的java类要求:①此类是public的②此类提供公共的无参的构造器3. 此类中声明单元方法:方法的权限是public,没有返回值,没有形参4. 此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Ttst;5. 声明好单元测试方..原创 2020-08-21 21:55:38 · 295 阅读 · 0 评论 -
java学习之IO框架
IO框架流内存与存储设备之间传输数据的通道流的分类按方向:输入流(将<存储设备>中的内容读入到<内存>中),输出流与输入流相反按单位:字节流:以字节为单位,可以读取所有数据;字符流:以字符为单位,只能读写文本数据。按功能:节点流:具有实际传输数据的读写功能,过滤流:在节点流的基础之上的增强流。字节流InputStream:字节输入流,read(),read(byte[ ] b ), read(byte[ ] b,int off ,int lenOu原创 2020-08-20 20:58:33 · 129 阅读 · 0 评论 -
java学习之高级线程
线程线程的状态常见方法休眠:public static void sleep(long millis)当前线程休眠时间放弃:public static void yield()当前线程主动放弃时间片,回到就绪状态,竞争下一次时间片结合:public final void join()允许其他线程加入加入当前线程,阻塞正在运行的线程线程的状态(等待)线程安全线程不安全当线程并发访问临界资源时,如果被破坏原子造作,可能会造成数据不一致。临界资源:共享资原创 2020-08-19 20:48:04 · 214 阅读 · 0 评论 -
java学习之线程
线程进程:系统进行资源分配和调用独立单元。每个进程都有自己系统资源的内存空间线程:又称轻量级进程,同时也是cup的基本调度单位。进程中一条执行线路,一个线程执行一个任务称为单线程,由多个线程组成,彼此间完成不同的工作,交替执行称为多线程进程与线程的关系:进程是系统进行资源分配和调度的独立单元,线程是cup的基本调度单位;一个进程中可以有1到多个线程。一个新城只属于一个进程中多个线程中多个线程之间是互抢资源竞争关系。线程的组成:cup时间片:操作系统(OS)会为每个线程分配时间运行数据:对原创 2020-08-14 20:23:39 · 109 阅读 · 0 评论 -
java学习set/get接口-异常
Set接口与实现类特点:无序无下标,元素不可重复。全部继承自collection中的方法使用forrach循环遍历:For(数据类型 局部变量 :集合名){// 循环内部的局部变量,代表当次循环从集合中取出的对象}HashSet:基于HashCode实现元素不重复。当存入元素的哈希码相同时,会调用== 或 equals进行确认,结果为true,拒绝后者存入。LinkedHashSet:链表实现的HashSet,按照链表进行存储,即可保留元素的插入顺序。TreeSet:基于原创 2020-08-13 18:42:21 · 349 阅读 · 0 评论 -
java学习之集合
集合框架对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。和数组的区别:数组长度固定,集合长度不固定,数组可以存储基本数据类型和引用类型,集合只能存储引用类型Collection体系集合特点:代表一组任意类型的对象,无序,无下标常用方法添加一个Add()、添加一组addAll()、数组大小size()、是否包含contains()、判空isEmpty()、对象比较equals()、移除对象remove()、清空clear()等List接口与实现类..原创 2020-08-12 22:46:17 · 73 阅读 · 0 评论 -
java学习之内部类
常用类内部类在java类里面再创建一个完整的类,内部类包括成员、静态、局部、匿名内部类。命名,中间加一个$符特点:编译之后可生成独立的字节码文件 内部类可一直接访问类的实例,,不破坏封装 可为外部类提供必要的内部功能组件在类的内部定义,与实例变量,实例方法同级别的类外部类的一个实例部分,创建内部内对象时,必须依赖外部对象Outer out = new Outer();Outer.Inner in = oout.new Lnner();内部类与外部类存在重名属性时,.原创 2020-08-11 20:37:52 · 116 阅读 · 0 评论 -
java学习之三大修饰符-接口
三大修饰符abstract关键字:抽象类,abstract修饰的类,此类不能new对象,但是可以声明引用。主要作用强制使用多态。Abstract修饰的函数,子类必须重写其方法,否则该子类也是抽象类,换言之抽象方法必须要能被子类重写。抽象类中不一定有抽象方法,但有抽象方法的一定是抽象类static关键字:静态属性:整个类共享内存空间,修改一个全部改变。静态代码块:static{ }特点:静态方法允许直接访问静态成员,静态方法不能直接访问非静态成员,静态方法中不允许使用th.原创 2020-08-10 22:20:55 · 236 阅读 · 0 评论 -
java基础面试题分享2
1. 系统什么情况下会为类提供构造方法,提供什么样的构造方法?a) 如果类中没有构造方法,系统会提供一个默认的构造方法,默认的构造方法是无参的。2. 为什么可以直接用类名来访问类成员变量和类方法?a) 因为当类被加载到虚拟机的时候,类成员变量就被分配内存,类方法被分配入口地址,所以不用创建对象,可以直接通过类名调用。3. 类变量有什么特点?a) 一个类的所有对象共享同一个类变量。4. 简述java的访问权限。a) public:公有的,任何类都可以访问。b) prot原创 2020-08-09 21:47:28 · 141 阅读 · 0 评论 -
Java基础面试题分享
1. JDK是什么?JRE是什么?JDK:java开发工具包JRE:java运行环境2. 什么是Java的平台无关性java源码文件被编译成字节码形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件,也就是一处编写,处处运行。3.什么样的标识符是合法的?a)由字母,数字,_和$组成。长度不限,其中字母可以是大写或小写的英文字母,数字为0-9.b)标识符的第一个字符不能是数字c)标识符区分大小写d)标识符不能包含空格4. && 和.原创 2020-08-08 23:26:13 · 83 阅读 · 0 评论 -
java学习之数组的增删改查
回味过去一周,系统学习了数组和面向对象和三大特性,在数组阶段,主要学习了数组的增删改查和随机数的生成,下面我详细对这几个方面总结一遍:增:其实就是对数组值的添加,添加的方式可以分为在数组中某一个位置插入,也可以在数组的末尾添加,具体实现方法:// 定义一个数组,长度可设为定长或变长//定长数组在插入值断点时候可以在数组下标对应位置直接插入,而变长数组的插入值需要对数组做判断。for(int i = 0 ; i < array.length ; i ++ ){ // 遍历数组..原创 2020-08-07 23:26:04 · 3213 阅读 · 2 评论 -
java学习之三大特性
三大特性封装尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限使用访问修饰符private来达到隐藏的目的。规范使用Get/set函数时不要采取任何修改继承类与类之间的特征与行为的一种赠与或获得。两个类之间的继承关系,必须满足”is a”的关系。(例:cat is an animal)父类:功能越精细,重合点越多,越接近直接父类,功能越粗略,重合点越少,越接近Object类(万物皆对象概念)父类抽取:可根据程序许使用到的多个具体类,进行共性抽取,进而定义父类快捷键:原创 2020-08-06 20:51:28 · 114 阅读 · 0 评论 -
java学习面向对象
学习唯有持之以恒,方得终果。面向对象面向对象即万物皆对象,任何对象,一定具有自己的特征和行为。类程序中的模板的也可称为类,通过程序中的模板创造出来的实体,即为程序中的对象,称为对象。类的抽取:在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分static关键字修饰的不能使用this和super类的定义属性:通过变量表示,又称实例变量。语法:数据类型 属性名;位置:类的内部,方法的外部。方法:通过方法表示,又称实例方法。语法: public.原创 2020-08-05 22:51:20 · 128 阅读 · 0 评论 -
java学习之数组
数组的增删改查增添加数组的值,首先需要对数组的状态进行判断,如果数组已经满了,则需要对数组进行扩容。推荐动态扩容方式。添加数值的方式有多种,有末尾添加,有固定位置插入值,插入值之后的值一次后移一位,数组长度加一,本例使用动态方式实现对数组的添加和动态扩容方式。String[] num = new String[0];Scanner scanner = new Scanner(System.in); num = Arrays.copyOf(num, num.length + ...原创 2020-08-04 21:57:03 · 89 阅读 · 0 评论 -
java学习数组初始
数组数组是采用一组固定的空间,来存储一组类型相同的数据。数组定义的几种方式:1Int [ ] aArray ;aArray = new int[// 数组大小 ];2Int [ ] aArray01 = new int[//数组大小 ];3Int [ ] aArray02 = new int[ ] {value1,value02,value03 };4Int [ ] aArray03 = { value1,value2,value3};Demo01给定一个原创 2020-08-03 20:45:16 · 79 阅读 · 0 评论 -
java学习之小小练习
// 人物的创建package zz.zhangzh;public class Ren{ String name; int age; String sex; public Ren(String nane,int age, String sex){ super(); this.name = nane; this.age = age; this.sex = sex; } @Overri...原创 2020-08-02 23:40:39 · 125 阅读 · 0 评论 -
Java学习之易错题
1、下列语句序列执行后,a的值是public class Test {public static void main(String args[]){int a = 5;System.out.println((a % 2 ==1)?(a+1)/2:a/2);结果:3分析:涉及算数运算符、三元运算符的运算、逻辑运算符的综合运算,(a % 2 = 1,a 模 2 的值等于1,再使用结果与1比较是否相等,若结果正确,返回值1,不正确返回值2。本式子中的两个值都是需要计算的,值1 : (5 +原创 2020-08-01 22:49:51 · 470 阅读 · 0 评论 -
Java学习之函数
函数/方法什么是方法:方法的本质就是行为(3w1h,who,where,why,how)位置:在类的内部与main函数并列。哪里使用方法:方法必声明在类(文件)中,方法可以在方法中调用,静态代码块中。怎么使用:1. 声明一个方法 2. 调用一个方法为什么使用方法:避免代码冗余,提高代码的可维护性可扩展性。语法: public static void 方法名() { // 方法体(函数代码块) } // 方法名需要具有描述性,符合驼峰命名规范函数的调用:函数名();只要在代码中出.原创 2020-07-31 20:29:51 · 181 阅读 · 0 评论 -
Java学习选择结构与分支
选择结构与分支选择结构,根据已知条件进行逻辑判断,满足条件后执行相应的操作。If选择结构语法:if(布尔表达式){ // 代码块 }执行流程:对布尔表达式进行判断 结果为true,则先执行代码块,在执行后续代码 结果为false,则跳过代码块,直接执行后续代码。If else选择结构语法:if(布尔表达式){ // 代码块1} else { // 代码块2 }执行流程:布尔表达式进行判断 结果为true,则先执行代码块1,再退出整个结构,执行后续代码 结果为fals..原创 2020-07-30 20:57:51 · 135 阅读 · 0 评论 -
java学习之数据类型
Day03变量本质就是对内存空间进行操作声明方式:数据类型 变量名; int a;//开辟整数变量空间赋值方式:变量名 = 值; a = 100; //将整数数值赋给变量应用方式:System.out.print(a);直接声明并赋值方式:数据类型 变量名 = 值; int a = 100 ;多个同类型变量的声明与赋值:数据类型 变量1, 变量2, 变量3 = 值3 , 变量4注意:java是强类型语言,变量的类型必须与数据的类型一致。p...原创 2020-07-29 20:58:21 · 218 阅读 · 0 评论 -
java学习之myeclipse配置
磨刀不误砍柴工,软件熟悉和扩展是非常有效的提高效率的方法。修改myeclipse,实现代码增强Myeclipse标签->window->preferences->java->editor->content Assist->Auto Activation下Auto activation triggers for java(修改为“.qwertyuiopasdfghjklzxcvbnm”);字体修改Myeclipse标签->window->..原创 2020-07-28 20:34:53 · 247 阅读 · 0 评论 -
Java学习之java环境配置
重头温习,一步一步开始,稳抓稳打1.Java环境配置与安装:Jdk1.8的安装,可采用默认安装Jdk环境变量的配置系统变量:JAVA_HOME配置:Jdk安装位置(根目录)C:\Program Files (x86)\Java\jdk1.8.0_73添加到path路径中%JAVA_HOME%\bin新建并配置CLASSPATH环境CLASSPATH,;%JAVA_HOME%\jre\binMyeclipse安装可采用默认路径选项安装.原创 2020-07-27 20:19:09 · 216 阅读 · 0 评论