java基础
凯凯凯凯.
这个作者很懒,什么都没留下…
展开
-
java函数式接口
1.1 函数式接口概述函数式接口:有且仅有一个抽象方法的接口Java中函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口只有确保接口中仅有一个抽象方法,Java中的Lambda才能顺利地进行推导如何检测一个接口是不是函数式接口呢?@Functionallnterface放在 接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败注意: 我们自己定义函数式接口的时候,@Functionallnterface是可以选的,就算我们不写这个注解原创 2021-12-22 14:33:17 · 1159 阅读 · 0 评论 -
Lambda表达式详细解析
1.1 函数式编程四现货概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”面向对象思想强调“必须通过对象的形式来做事情”函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现1.2 体验Lambda表达式需求: 启动一个线程,在控制台输出一句话:多线程程序启动了public class LambdaDemo { public static void main(String[] args)原创 2021-12-22 14:30:04 · 726 阅读 · 0 评论 -
Java网络编程(TCP、UDP)
一、网络编程入门1.1 网络编程概述计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及其通信协议的管理和协助下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换1.2 网络编程的三要素IP地址想要让网络中的计算机公狗通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机。而IP地址就是这个标识号。端口原创 2021-08-05 10:16:39 · 495 阅读 · 1 评论 -
IO流学习总结(java)
一、FileFile:他是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体的存在的1.1 File类的构造方法方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的File实例File(String parent,String child)把父路原创 2021-07-30 16:10:01 · 916 阅读 · 7 评论 -
接口
接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有接口:只有规范声明接口的关键字是interface声明一个接口:public interface UserService { }接口中所有定义的方法都是抽象的:public interface UserService { //直接写一个返回值类型和方法名就可以,默认是抽象的,直接省略public abstract void add(String name);}具体应用方法:接口:UserSe转载 2021-04-12 20:02:02 · 72 阅读 · 0 评论 -
异常处理
异常什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:写一个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取的数据库的数据,可能数据库是空的等等。我们程序在跑着,内存或者硬盘可能就满了。等等。软甲在运行过程中可能于德刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些例外情况,怎么让我们的程序作出合理的处理。而不至于崩溃。异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异转载 2021-04-12 20:00:50 · 69 阅读 · 0 评论 -
各种内部类
内部类内部类就是在一个雷的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对于B类来说就是外部类。成员内部类静态内部类局部内部类匿名内部类成员内部类Outer.java:public class Outer { //private 私有属性 private int id=1; public void out(){ System.out.println("这是外部类的方法"); } public原创 2021-04-10 10:55:03 · 90 阅读 · 0 评论 -
抽象类
抽象类abstract修饰符可以用来修饰方法,也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,他是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。例子:Action.java//abstract 抽象类public abstrac原创 2021-04-09 15:30:47 · 67 阅读 · 0 评论 -
多态
多态什么是多态可以动态编译:类型即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性对象能执行那些方法,主要看对象左边的类型,和右边关系不大public class Application { public static void main(String[] args) { //子类能调用到的原创 2021-04-09 15:29:36 · 67 阅读 · 0 评论 -
static关键字详解
static关键字详解静态属性:public class Student extends Person { private static int age;//静态变量 private double score;//非静态变量 public static void main(String[] args) { Student s1 = new Student(); //静态变量要用类去调用 System.out.println(Student.a原创 2021-04-08 09:28:54 · 75 阅读 · 0 评论 -
方法重写
方法重写重写都是对方法重写,和属性无关重写需要有继承关系,只能是子类和父类之间(子类重写父类的方法)方法名必须相同参数列表必须相同修饰符:范围可以扩大但不能缩小 Public>Protected>Default>Private抛出的异常:重写异常抛出范围不能大于父类为什么需要重写:父类的功能,子类不一定需要,或者不一定满足...原创 2021-04-07 19:52:58 · 46 阅读 · 0 评论 -
继承
继承继承集成的本质是对某一批类的抽象,从而实现对现实世界更好地建模extands的意思是“扩展”。子类是父类的扩展。JAVA中类只有单继承,没有多继承!继承是类与类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类。一个为子类,一个为父类。子类继承父类使用关键字extands来表示。子类和父类之间,从意义上讲应该具有“is a”的关系例子:Person.java//在Person类中写一个say()方法public class Person {原创 2021-04-07 19:23:59 · 124 阅读 · 0 评论 -
封装
封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚:就是类的内部数据操作细节是自己完成的,不允许外部干涉;低耦合:仅暴露少量的方法 给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。属性私有,get/set例子:Student.java/*1.提高程序的安全性2.隐藏代码的实现细节3.统一接口4.系统的维护性增加了*///学生类public class Student {原创 2021-04-06 19:18:05 · 64 阅读 · 0 评论 -
面向对象编程(Java)
面向对象编程一、面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题面向对象思想物理类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人写作的问题。对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是具体到微观操作,仍然需要面向过程的思路去处理原创 2021-04-03 15:49:52 · 81 阅读 · 0 评论 -
稀疏数组的认识和简单使用
稀疏数组当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式:记录数组一共有几行几列,有多少个不同值吧具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模如下图:左边是原始数组,右边是稀疏数组 原始数组是一个六行七列的一个数组在稀疏数组的第0行存储的就是行数,列数和有效数字个数下面的每一行存储的都是原始数组中有效数字的坐标和值比如:“22”在第一行的第四列(坐标位从零开始),所以在稀疏数组中存储的就是【0 3 22】原创 2021-03-31 16:08:05 · 78 阅读 · 0 评论 -
冒泡排序算法的使用
冒泡排序冒泡排序是最为出名的的排序算法之一,总共有八大排序冒泡排序的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知我们看到嵌套循环就立马得到这个算法的时间复杂度为O(n2)public class Demo01 { //冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 //2.每一次比较,都会产生出一个最大的,或者最小的数字 //3.下一轮则可以少一次排序 //4.依次循环,直到结束原创 2021-03-31 16:05:11 · 294 阅读 · 0 评论 -
Arrays类
Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们廖勇,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些操作。查看JDK帮助文档Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”对象来调用(注意:是“不用”而不是“不能”)具有以下常用功能:给数组赋值:通过fill方法对数组排列:通过sort方法,按升序比较数组:通过equals方法比较数组中元素值是否相等查找原创 2021-03-30 15:19:56 · 58 阅读 · 0 评论 -
Java中的数组
数组数组的定义数组是相同类型数据的有序集合。数组藐视的是相同类型的若干个数据,咱找一定的先后次序组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。数组的声明和创建首先必须声明数组变量,才能在程序中使用数组。下面是数组变量的语法://数组类型[] 数组名; 首选方法int[] nums;//数组类型 数组名[]; 不推荐int num[];Java语言使用new操作符来创建数组,语法如下://这里面可以存放10个int类型的数字nums原创 2021-03-30 14:46:51 · 70 阅读 · 0 评论 -
递归
递归A方法调用B方法,我们很容易理解递归就是:A刚发调用A方法,自己调用自己 利用递归可以用简单的程序来解决一些复杂的问题。通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来解决,递归策略至于要少量的程序就可以描述出结题过程所需要的多次重复计算,大大的减少了程序代码的量。递归的能力在于用有限的语句来定义对象无限的集合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候要调用自身方法。例题:求5的阶乘:public cl原创 2021-03-29 15:27:39 · 58 阅读 · 0 评论 -
增强for循环
增强for循环public static void main(String[] args) { int[] numbers = {10,12,20,30,40}; //定义一个数组 //遍历数组的元素 for (int x:numbers){ System.out.println(x); }}原创 2021-03-24 20:15:11 · 55 阅读 · 0 评论 -
Scanner对象
Scanner对象我们可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。使用方式:public static void main(String[] args) { //创建一个扫描器对象,勇于接收键盘数据 Scanner s原创 2021-03-24 20:14:04 · 76 阅读 · 0 评论 -
Java的包机制
包机制包机制是为了更好地组织类,用于区别类名和命名空间。包语句的语法格式为:package pkg1[.pkg2[.pkg3...]];一般利用公司域名倒置作为包名;如百度:www.baidu.com >>> com.baidu.www为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能import package1[.package2...].(classname|*);...原创 2021-03-24 20:12:40 · 69 阅读 · 0 评论 -
JavaDoc
JavaDoc参数信息@author 作者名@version 版本号@since 指明需要最早使用的jdk版本@param 参数名@return 返回值情况@throws 异常抛出情况使用方法/** * @author 作者名 * @version 版本号 * @since 指明需要最早使用的jdk版本 * @param 参数名 * @return 返回值情况 * @throws 异常抛出情况 */生成JavaDoc...原创 2021-03-24 20:09:00 · 50 阅读 · 0 评论 -
Java中的方法
Java中的方法什么是方法Java方法是语句的集合,他们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样有利于我们后期的扩展。方法的命名规则:驼峰命名规则举个栗子:public class Demo01 { public static void main(St原创 2021-03-25 20:06:56 · 62 阅读 · 0 评论