![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
天然首长
完美主义,消极悲观,自由是梦想
展开
-
监听器简单了解
概述监听器就是一个实现了特殊接口的Java类,这个Java类用于监听另一个Java类的方法调用和属性的改变,当被监听的对象发生了上述事件后,监听器的某个方法将会立即被执行。用途:用来监听其他对象的变化的,主要应用在图形化界面开发上。监听器的术语:事件源:指的是被监听的对象(汽车)监听器:指的是监听的对象(报警器)事件源和监听器的绑定:(在汽车上安装报警器)事件:指的是事件源对象的改变(汽车被踹了一脚)监听器入门案例创建WEB项目建包和类:package com.dayu.listene原创 2021-06-26 09:28:02 · 1014 阅读 · 0 评论 -
JAVA8的新特性之Stream
JAVA8的新特性之Stream1、概述:在jdk1.8中,提供了一个Stream,可以对数据进行过滤2、好处:比不断自定义循环,要简单很多Stream类型数据的获取1、Collection 的获取调用stream()方法,返回Stream类型的实现类对象2、Map的获取,不能直接获取Stream类型(1)keySet().stream();(2)entrySet().stream();3、数组的获取Stream中的of方法,Stream.of(数组)package com.uji原创 2021-06-22 21:37:21 · 370 阅读 · 1 评论 -
JAVA8的新特性之函数式接口
JAVA8的新特性之函数式接口1、Lambda表达式使用的前提,就是接口必须是一个函数式接口2、定义在接口中,只有一个抽象方法3、检查是否是函数式接口用的注解@FunctionalInterface如果不是函数式接口,编译报错4、函数式接口理解(1)函数:更想让他表达的是方法的内容,由于方法不在任何类中,所以称为函数(2)函数式接口:其实想表达的是一个函数的声明5、作用:使用函数式接口表达方法的声明:使用函数式接口的实现类对象表示函数的实现6、使用原因:java中不支持将函数作为一原创 2021-06-22 21:35:09 · 208 阅读 · 1 评论 -
权限修饰符
权限修饰符1、private只能在本类中进行访问2、默认的修饰符(什么都不写)可以在本类中进行访问可以在本包中的其他类中被访问3、protected可以在本类中进行访问可以在本包中的其他类中本访问可以在其他包的子类中被继承4、public可以在本类中进行访问可以在本包中的其他类中进行访问可以在其他包中的子类中被继承可以在其他包的无关类中被访问...原创 2021-06-22 21:20:57 · 92 阅读 · 0 评论 -
Java基础---分支结构(if--else / switch---case)
分支结构分支结构的分类:if 分支结构 if单分支结构 语法: if(布尔表达式) { 执行语句 } 布尔值为 true 则执行{}内的语句,否则跳过。 if双分支结构 语法: if(布尔表达式){ 语句1 } else { 语句2 } if多分支结构 语法: if(布尔表原创 2020-05-18 17:53:15 · 183 阅读 · 0 评论 -
Java基础---键盘录入工具(Scanner类)
键盘录入工具(Scanner类)由jdk的类库提供,在类库中的java.util包下,键盘录入步骤是:1.导包:import 包名.类名 即 import java.util.Scanner;2.创建键盘录入工具对象:Scanner 对象名 = new Scanner(System.in);3.使用工具中的功能(方法): 获取整数: nextInt(); 获取小数: nextDouble(); 获取字符串: next(); 语法:对象名.方法名;拓展题目1.键盘输入两个整数,求原创 2020-05-18 17:49:00 · 348 阅读 · 0 评论 -
Java基础---数据类型转换和运算符
03 数据类型转换和运算符数据类型转换自动类型提升小范围数据赋值给大范围数据,数据类型自动提升。要求两者数据类型要能够兼容并且是小转大byte--->short--->int--->long--->float--->doublechart--->int--->long--->float--->doubleboolean 不参与类型转换强制类型转换大范围数据赋值给小范围数据,数据类型自动提升。要求两者数据类型要能够兼容并且是大转小,但原创 2020-05-18 17:47:27 · 284 阅读 · 0 评论 -
02 HelloWorld案例
HelloWorld案例程序:能够完成指定功能的计算机指令的集合,即数据结构+算法。编辑软件:第三方公司的高级记事本软件:everedit、notepad++、editplus、sublime.....java程序开发流程:源代码---jdk的编译器将其生成字节码文件---解释器将字节码文件解释运行HelloWorld程序开发步骤:jdk的bin目录下创建java类型的文件,文件中定义一个类,类名要与文件名一致。定义主方法,是为程序执行的入口java 的编译命令: javac Java原创 2020-05-18 15:29:43 · 146 阅读 · 0 评论 -
Java基础---常用类之Arrays工具类+基本类型的包装类
常用类之Arrays工具类1、binarySearch(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组2、fill(int[] a,int val)将指定的 int 值分配给指定 int 型数组的每个元素。3、sort(int[] a) 对指定的 int 型数组按数字升序进行排序4、toString(int[] a) 返回指定数组内容的字符串表示形式。package com.DaYu;import java.util.Arrays;public class D原创 2020-06-04 15:25:39 · 137 阅读 · 0 评论 -
牛客网---Java题库(21~30)
21、lterator和Listlterator的区别是什么?literator可用来遍历Set和List集合,但是Listlterator只能用来遍历List。Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。ListIterator实现了Iterator接口,...转载 2020-06-03 20:35:50 · 198 阅读 · 0 评论 -
牛客网---Java题库(1~10)
1、什么是JAVA虚拟机?为什么JAVA被称作平台无关的编程语言?java虚拟机是一个可以执行java字节码的虚拟机进程。java源文件被编译成能够java虚拟机执行的字节码文件。java被设计成允许应用程序可以运行在任意平台,而不需要程序员为每一个平台单独重写或重新编译。java虚拟机让这个变为可能...转载 2020-06-03 20:24:35 · 339 阅读 · 0 评论 -
Java基础---API概述---常用类(Object类/String类)---equals和==
API概述API:application programming interface,应用程序编程接口用于规定方法名称的规则集合,定义了方法的修饰符、返回值类型、方法的名称、方法的参数列表、方法的功能。应用程序编程接口也包含了各种有实际功能内容的方法、类、枚举、接口。类库1、java的源代码编译之后,会形成字节码文件,这些文件包含了类中所有的内容,在脱离源代码的前提下,这个字节码文件 仍可以继续使用。2、java中可以将字节码文件,打包成jar(1)jar包,是.class文件的压缩包,原创 2020-06-03 10:56:26 · 158 阅读 · 0 评论 -
Java基础---接口是啥?
接口接口:是一个特殊的抽象类,规定了接口的使用者和接口的实现者之间的规范定义: interface 接口名 { }特点:接口中定义的属性都是公开静态常量(即使不加修饰符,也默认是public static final) 接口中定义的方法都是公开抽象方法(即使不加修饰符,也默认是public abstract) 接口中没有构造方法,接口中无法定义成员边来那个,所以不需要构造方法给成员变量进行初始化赋值 接口不能创建对象,但是可以声明引用原创 2020-06-03 10:53:45 · 101 阅读 · 0 评论 -
Java基础---内部类详解
内部类概念:定义在类内部的类,可以在类中方法外,也可以在类中方法中根据定义位置的不同,分为成员内部类和局部内部类成员内部类又划分为:普通的成员内部类静态的成员内部类私有的成员内部类另外还有匿名内部类普通的成员内部类定义在成员位置上class 外部类类名 { class 内部类类名 { 内部类成员; }}说明:1.成员内部类可以直接访问外部类的成员,包括私有成员 2.外部类想要访问内部类成员,需要创建内部类对象 3.外部类以外,要创建内部原创 2020-06-03 10:51:20 · 143 阅读 · 0 评论 -
Java基础---接口的使用
接口接口:是一个特殊的抽象类,规定了接口的使用者和接口的实现者之间的规范定义: interface 接口名 { }特点:接口中定义的属性都是公开静态常量(即使不加修饰符,也默认是public static final) 接口中定义的方法都是公开抽象方法(即使不加修饰符,也默认是public abstract) 接口中没有构造方法,接口中无法定义成员边来那个,所以不需要构造方法给成员变量进行初始化赋值 接口不能创建对象,但是可以声明引用原创 2020-06-01 11:53:44 · 129 阅读 · 0 评论 -
Java基础---认识抽象类
抽象类abstract:抽象的 , 可以修饰类和方法可以定义抽象方法的类,就是抽象类格式: abstract class 类名 { public abstract 返回值类型 方法名(); }抽象方法:只有方法的声明部分,没有方法的实现部分 说明:对于父类中定义的非私有的方法,子类有不同的实现的时候,在父类类型中不需要对方法进行实现,只需要声明出 来,将来子类继承之后,重写父类中的方法,不同的子类有不同的实现。抽象类的特点原创 2020-06-01 11:52:33 · 316 阅读 · 0 评论 -
Java基础---认识多态
多态1.概念:一个事物具有多种状态 polymorphic 对象的多态性:同一个对象,可以具有不同的名称,同一个对象,有不同的类 型的引用指向他。本质:同一个物体,有不同的名称和描述。 类型的多态性:同一个类型,可以有不同的子类实现。本质:同一个名字和描 述,在不同的场景有不同的真实实现。2.多态的前提: 要有子父类的继承关系,实现关系 要有方法的重写 父类引用指向子类对象多态种成员变量的访问特点编译看左边,运行看左边编原创 2020-05-29 15:38:10 · 104 阅读 · 0 评论 -
Java基础---代码块和final关键字
代码块概念:用{}括起来的一段代码,在不同的位置有不同的名称,不同的作用,不同的执行时机。局部代码块静态代码块构造代码块(初始代码块、动态代码块)局部代码块位置:方法中作用:限定局部变量的作用域范围,限定变量的生命周期; 在局部代码块中声明的变量,只能在局部代码块中使用。 package com.DaYu;public class Demo01 { public static void main(String[] args) { int a = 12; {原创 2020-05-28 18:24:42 · 461 阅读 · 0 评论 -
Java基础---继承详解--this/supper---方法的重写与重载
继承语法: 子类 extends 父类java中如果要定义两个类的继承关系,一定要满足里氏代换原则。子类:用于继承的类,也称为派生类父类:被继承的类,也称为超类、基类特点:1.子类可以拥有父类非私有的属性和方法的使用权 2.构造方法不能被继承 构造方法名要与类名保持一致,父类与子类的名字是不一样的,如果可 以继承,就会形成冲突。 构造方法可以用来给成员变量赋值,子类中成员变量比父类多,如果继 承的是父类的构造方法就无法给原创 2020-05-27 21:52:57 · 274 阅读 · 0 评论 -
Java基础---封装&继承&静态
封装&this关键字&静态封装封装:隐藏事物的属性和实现细节,并对外提供公开的访问方式。属性私有化:private 可修饰的内容:成员变量、成员方法、构造方法、内部类 被private修饰的内容只能在本类访问get和set方法:属性被私有化之后,只能通过get和set方法访问,并且可以在 get和set方法中对数据进行筛选。get:获取属性的值 public 数据类型 get属性名() { return 属性名; }set:原创 2020-05-25 19:12:15 · 103 阅读 · 0 评论 -
Java基础---数组内容详解
数组概念:内存中开辟的一块连续的空间,用来存储有限个相同数据类型的数据定义格式: 元素的数据类型[] 数组名称 = new 元素的数据类型[数组长度] 简化格式:元素的数据类型[] 数组名称 ={值1,值2,值3...};数组中几个概念: 元素:数组中的数据 元素的数据类型:数组中数据的数据类型 数组名称:数组也是一个变量,打印输出结果如“[I@15db9742” ,是数组的 地址值 数组长度:数组中可以存放的数据的个数 数组的下标:也叫脚标、索引,从0开始,到数原创 2020-05-23 18:06:58 · 139 阅读 · 0 评论 -
Java基础---匿名对象的理解和使用
匿名对象概念:没有名字的对象语法: new 类名();用法: 1.对象被创建之后,如果其中某个方法只调用一次,可以用匿名对象去调 用,可以节省空间; 2.作为方法的实际参数; 3.作为方法的返回值。注意:匿名对象可以用来给成员变量赋值,但是一旦赋值,它就变成了垃圾, 即使没被处理,我们也用不了。 (就像幽灵,你知道这个空间里有它,但你捕获不到它)package com.DaYu;public class Demo08 { public static vo原创 2020-05-22 16:00:25 · 312 阅读 · 0 评论 -
Java基础---方法的重载(overload)+ 优先向上匹配原则
方法的重载(overload)在一个类中,方法名相同,参数列表不同,方法的实现也不同的现象,称为方法的重载。特点: 必须是在同一个类中,不同类的不构成重载; 方法名相同,大小写等完全一样; 参数列表不同,包括参数类型、数量和顺序,和参数类型无关; 方法是否重载,和返回值类型无关;好处:相同逻辑的功能的代码,不需要定义多个不同名称的方法,相同逻辑的 代码,只需要记住一个方法名字。package com.DaYu;public class Demo01原创 2020-05-22 14:27:51 · 377 阅读 · 0 评论 -
Java基础--成员变量和局部变量(区别、重名问题)
成员变量和局部变量注:所有的变量没有赋值是不能使用的!!!两者的区别: 定义的位置不同: 成员变量:定义在类中成员位置的变量,称为实例变量 / 类变量,在类中方法外 局部变量:定义在类中方法中 作用范围不同: 成员变量:本类中都可以用 局部变量:从定义行开始到所在的最近的代码块结束(作用域) 内存位置不同: 成员变量:位于栈内存的方法中 局部变量:位于堆内存的对象中 生命周期不同: 成员变量:随着对象的创原创 2020-05-21 20:47:26 · 3076 阅读 · 1 评论 -
Java基础---面向对象(OOP)
面向对象面向对象(OOP,Object-Oriented Programming):是一种编程思想,将现实世界的事物抽象成对象,包括其属性和行为,将其中共性的部分封装,借助类、对象、继承等概念进行软件系统构造,强调的是解决问题的主体,在面对一个问题时,想到的是谁可以帮我解决。面向对象的好处1.更符合人类的思维习惯2.复杂的问题简单化3.有执行者变成了指挥者面向过程和面向对象面向过程:注重的是解决问题所需要的步骤,通过程序将每一个步骤实现, 然后依次调用;面向对象:原创 2020-05-21 19:50:34 · 118 阅读 · 0 评论 -
Java基础---“方法”题目练习
1.写一个方法add,接受两个整数作为参数,返回这两个整数的和;在main方法中调用并打印。 package com.DaYu;import java.util.Scanner;public class Demo07 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入两个整数"); int a = sc.nextInt();原创 2020-05-20 18:14:04 · 368 阅读 · 0 评论 -
Java基础---方法1
方法1具有特殊功能的一段代码,可以通过名字重复调用。提高了代码的重用性、封装性,简化程序设计。方法的定义:public static 返回值类型 方法名(形式参数列表) { 方法语句; }位置:在类中,和主方法并列。形式参数:表明调用方法的时候需要调用者传入数据的类型。 相当于声明变量。多个参数之间用 , 隔开。实际参数:调用方法时真实传入的数据,参数数量、顺序、类型要与形式参数一致, 相当于给声明的变量原创 2020-05-19 16:38:15 · 204 阅读 · 0 评论 -
Java基础---循环结构+例题
循环结构循环结构的分类:for循环; while循环; do...while循环(不作要求)for循环语法:for( 循环变量的初始化语句;循环条件的判断语句;循环变量的改变语句) { 循环体语句}案例package com.DaYu;public class Demo01 { public static void main(String[] args) { for(int i = 0;i<=3;i++) {原创 2020-05-19 08:50:48 · 391 阅读 · 0 评论 -
Java基础---数组练习(最大值、最小值的索引)
Java基础–数组练习1、将一维数组的遍历,封装成方法 public static void arrayBianli(int[] arr) { for(int i = 0;i<arr.length;i++) { System.out.print(arr[i]+" "); } } 2、将一维数组的求最大值,封装成方法 public static void getMax(int[] arr) {原创 2020-05-18 21:57:36 · 952 阅读 · 0 评论 -
Java基础---标志符、变量和数据类型
变量和数据类型注释单行注释:// 可以嵌套多行注释:/* 不可以嵌套 */文档注释关键字概念:java中被赋予了特殊含义和特殊功能的英文单词叫做关键字。特点:1.全是小写2.标识符命名时不能与关键字重名3.关键字中有两个保留字 goto const,即当前版本不可用,什么时候启用还未知。标识符概念:用来给类、方法、接口、常亮、变量、枚举等起名字的字符序列。组成部分:1.所有大小写字2.数字0-93.特殊字符$和_4.不原创 2020-05-18 15:37:49 · 206 阅读 · 0 评论