![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 81
掌握扎实的基础(JavaSE),才能走的更远(...)!
涛涛同学debug
重复,反思,应用。
展开
-
03 - Java核心类库 — 枚举、注解与反射
目前阶段这块知识点了解即可,但在学习框架非常重要,能更好的理解框架。枚举能更好的管理一组相同的常量,内省是基于反射的基础,按照Java bean的标准延伸出来一套操作的API。反射和内省,如果不进行框架开发,则很少使用;注解一般使用定义好的,自定义注解用的比较少。枚举、注解与反射一、枚举1. 简介2. 定义格式2.1 Java1.5版本之前2.2 Java1.5版本之后3. 枚举类的主要方法3.1 归纳3.2 实例4. 实现接口的枚举类实例5. 枚举类的注意事项二、注解1. 简介2. 学习的重点.原创 2021-03-24 14:39:11 · 128 阅读 · 0 评论 -
03 - Java核心类库 — XML与JSON
XML与JSON一、XML1. XML介绍1.1 简介1.2 为什么学习XML?1.3 XML文件2、XML语法格式2.1 XML文档声明2.2 标记(元素/标签/节点)3、案例3.1 一个XML文档中,必须有且只允许有一个根标记3.2 标记可以嵌套,但不允许交叉3.3 标记的层级称呼3.4 标记名称允许重复3.5 标记除了开始和结束,还有属性3.6 注释4、语法进阶CDATA(了解)5、解析XML的方式5.1 Java解析XML(掌握)5.1.1 SAX解析5.1.2 DOM解析5.1.3 JDOM解析5原创 2021-03-21 00:56:10 · 175 阅读 · 0 评论 -
03 - Java核心类库—网络编程
网络编程1、网络编程概述2、TCP程序2.1 TCP 协议 的 C/S程序2.2 ServerSocket2.2.1 概述2.2.2 常用构造方法2.2.3 常用方法2.3 Socket2.3.1 概述2.3.2 常用构造方法2.3.3常用方法3、在服务器中加入多线程4、相关类和API1、网络编程概述2、TCP程序2.1 TCP 协议 的 C/S程序需要使用到两个类, 来编写TCP协议的 CS程序 .1.ServerSocket 搭建服务器2.Socket 搭建客户端两方使用socket(原创 2021-03-17 17:37:17 · 125 阅读 · 0 评论 -
03 - Java核心类库—调试与优化
调试与优化1、junit 单元测试1.1 使用方法1.2 使用实例1.3 使用断言1.4 小结2、debug3、IDEA快捷键ps:调试与优化是开发中必备的技能 ,务必掌握。1、junit 单元测试在此之前,写完代码测试的时候,往往是从主函数开始运行,若一个项目有几十个main方法,那就要点击几十次,这样显着超级无敌麻烦。为了简便操作,走一遍流程测i看到效果,这里可以使用单元测试的方法,简化模块测试的步骤;(tips:先理解安装好,后期开发时会经常用到这些技能。)1.1 使用方法使用ide原创 2021-03-16 18:46:27 · 98 阅读 · 0 评论 -
IDEA编译器快捷键
IDEA快捷键一、常用快捷键- 提示与代码生成部分- 选择/移动/复制代码:- 代码优化- 查找与替换- 阅读代码部分二、快捷键大全1、Ctrl相关2、Alt相关3、Shift相关4、Ctrl + Alt相关5、Ctrl + Shift相关6、Alt + Shift相关7、其他一、常用快捷键- 提示与代码生成部分Alt + Enter IDEA 根据光标所在问题,提供快速修复选择Ctrl + Alt + T 对选中的代码弹出环绕选项弹出层(try,if等语句包裹)Alt + Insert 代码原创 2021-03-15 21:02:12 · 991 阅读 · 0 评论 -
03 - Java核心类库—多线程
多线程一、多线程的基础知识1. 线程与进程1.1 进程与线程1.2 线程调度2. 同步与异步&并发与并行2.1 同步与异步2.2 并发与并行二、Java实现多线程的技术1. 继承Thread1.1 程序实例1.2 时序图1.3 小结2. 实现Runnable接口2.1 使用方法2.2 实现Runnable与继承Thread2.3 小结3. Thread类3.1 概述3.2 构造方法3.3常用方法4. 设置和获取线程名称5. 线程休眠sleep6. 线程阻塞7. 线程中断8. 守护线程 &原创 2021-03-14 11:54:57 · 199 阅读 · 1 评论 -
Java8之函数式编程
Java从1.8以后引入了函数式编程,这是很大的一个改进。函数式编程的优点在提高编码的效率,增强代码的可读性。函数式编程本质上先把函数作为方法的输入参数,由于Java并未规定函数或方法是一种数据类型,因此需要借助接口来表达函数参数。1. Lambda 表达式通过在Arrays工具的sort方法中运用匿名内部类,不但能够简化代码数量,还能保持业务的连续性,但其结构仍然啰嗦,方法体里边的代码一字不落,仍然占据了好几行代码。 Integer[] array = {83,86,95,2,4,99,55};原创 2021-03-12 20:40:50 · 174 阅读 · 1 评论 -
03 - Java核心类库—IO
Java核心类库-IO一、文件-IO1、java.io.File1.1 概述1.2 构造方法1.3 常用方法1.4 字段2、文件遍历案例3、文件过滤器(了解)3.1 概述3.2 应用实例4、相对路径与绝对路径---------------------------------------------------------二、IO流1. IO流概述2. IO流的分类3. IO流的类3.1 java.io.OutputStream3.1.1 输出字节流的概述3.1.2 常用方法一、文件-IO1、java.i原创 2021-03-11 01:17:19 · 149 阅读 · 0 评论 -
03 - Java核心类库—集合
这篇文章主要分享下面这张图的内容,欢迎大家一起学习交流。目录具体内容:集合与数组的区别,缓存的管理,Collection 、List、Set 接 口的作用及相关的子类一、集合1、类集概述(类集设置的目的)2、Collection接口---单值存储集合3、List接口3.1 ArrayList3.1.1 构造方法3.1.2 范例3.1.2.1 增加及取得元素3.1.2.2 进一步操作3.2 Vector3.2.1 构造方法3.2.2 范例3.2.3 Vector类与ArrayList类的区别3.3 链表操原创 2021-03-07 12:19:39 · 342 阅读 · 0 评论 -
Java的常用类库——java.util.Objects
java.util.ObjectsObjects 与 Object 区别Objects 方法介绍与分析1. equals2、deepEqualsObjects 与 Object 区别Object 是 Java 中所有类的基类,位于java.lang包。所有对象(包括数组)都实现此类的方法。Objects 是 Object 的工具类,位于java.util包。它从jdk1.7开始才出现,被final修饰不能被继承,拥有私有的构造函数。此类包含static实用程序方法,用于操作对象或在操作前检查某些条件原创 2021-03-04 10:24:45 · 1212 阅读 · 1 评论 -
Objects中的equals和deepEquals二者方法的区别
1、如果只是非数组【对象】,二者等价。public class Demo8 { public static void main(String[] args) { String a = "abc"; String b = "abc"; System.out.println(Objects.equals(a,b)); System.out.println(Objects.deepEquals(a,b)); Baby ba原创 2021-03-04 10:21:58 · 1488 阅读 · 2 评论 -
Java之数字格式化输出小结
在控制台输出时基于格式考虑需要对相关数字的显示方式进行限定,比如对其设置整体显示宽度,小数点后保留几位数,是否按照千位进行逗号隔开等。这里小结两个途径。数字格式化输出1. 使用“System.out.format”2. DecimalFormat类DecimalFormat类理解习题:任务描述:问题分析设计流程实现功能[代码]1. 使用“System.out.format”“format”方法与“printf”方法基本效果都一样,都可以是向控制台输出内容,但“format”方法可以进行一定的格式修.原创 2021-03-03 11:03:48 · 1035 阅读 · 0 评论 -
Java程序中的注释方式、详解及IDEA自定义注释模板
程序中的每个指令都是程序员面向计算机发出的“命令”,只要语法正确,计算机就按照“命令”进行执行。但是,在实际工程项目中,一个人往往要写好几千行代码,一个团队之间也需要进行代码的维护、管理和升级。因此,为了防止因务业规模扩大和复杂化导致代码不好维护,故而采用注释来解释源代码的功能。原创 2021-03-02 06:13:18 · 850 阅读 · 0 评论 -
深讲什么是Java泛型?为什么要使用泛型?泛型的知识点~
泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List<String> l1 = new ArrayList<String>();List<Integer> l2 = new ArrayL原创 2021-03-02 06:12:43 · 1033 阅读 · 0 评论 -
浅讲什么是Java泛型?为什么要使用泛型?泛型的功能~
泛型1、泛型1.1 概述【注意】1.2 作用1.3 泛型的功能1.3.1 泛型类(***)1.3.2 泛型接口1.3.3 泛型方法1.3.4 综合实例1.4 限制泛型类型1.5 泛型中的通配符1、泛型1.1 概述什么是Java泛型?泛型,即“参数化类型”。——一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体原创 2021-01-29 12:29:25 · 348 阅读 · 0 评论 -
throw 和 throws 的区别、及处理方式?
throw:表示方法内抛出某种异常对象如果异常对象是受检异常( 非RuntimeException ),则需要在方法申明时加上该异常的抛出,即需要加上throws 语句 或者 在方法体内 try-catch 处理该异常,否则编译报错执行到 throw 语句则后面的语句块不再执行throws:方法的定义上使用 throws 表示这个方法可能抛出某种异常需要由方法的调用者进行异常处理异常处理方式:抛出 throws捕捉 try-catch-finally什么时候定义try,什么时原创 2021-01-26 15:25:16 · 401 阅读 · 0 评论 -
Java在字符串中equals方法造成空指针异常的原因及解决方案
前言我最近在做一个小小小项目——快递柜管理,期间遇到了一个会导致抛出空指针异常的小问题,说它是小问题,是因为真的只是在写代码的时候注意一下就好了,但是这里还要写一个博客,就是为了剖析这个问题,然后给自己做个备忘,也给看博客的各位提个醒。1、知识补充:null关于null,你不得不知道的几件事:1、null是Java中的关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错。2、就像每种原始类型都有默认值一样,如in原创 2021-01-25 00:59:05 · 1940 阅读 · 0 评论 -
什么是异常?如何处理异常?
目录问题引入一、异常的概念什么是异常呢?异常发生的原因有很多,通常包含以下几大类:二、异常的体系结构三、异常处理的基本语法(一)try — catch处理格式try+catch的处理流程使用异常的效果:1、不捕获异常:2、捕获异常处理多异常的格式 1处理多异常的格式 2(了解)处理多异常的格式 3(常用)小结(二)throws问题引入1、编写代码如下:2、运行测试3、新手误区:容易想当然:认为所有用户都会按照程序员的思路来操作;容易**“我认为”**:用户的需求或设计在别人看来就是合理原创 2021-01-23 13:52:46 · 1504 阅读 · 0 评论 -
关于 finally 常考的面试题
关于Java finally的面试题(finally的执行时机,finally和return的先后顺序)考点:finally语句必然执行 和 return返回值的情况面试官问题:什么时候用到finally呢?finally语句在try或catch中的return语句执行之后,还是return返回之前执行呢?在try{…}catch{…}捕获异常处理语句中:finally{}必然执行的异常的统一出口,无论是否发生异常,finally必然执行;除非电脑没电、关机、软件关闭、程序从内存中消失、fi原创 2021-01-23 01:15:11 · 514 阅读 · 0 评论 -
Java 类的抽象
这里将介绍类在不同层次上的抽象方法。首先说明如果只有部分方法为抽象方法,那么这是一个抽象类,如果全部方法都为抽象方法,那么这是一个接口;然后描述抽象类与接口的使用差异;最后详速接口的相关用法,包括Java8对接口做了哪些扩展,以及如何通过匿名内部类简化接口的实现编码。1. 抽象类在Java编程中,_功能不确定的方法_被称作抽象方法,而包含抽象方法的类受到牵连就变成了抽象类。抽象类的注意点:被abstract修饰的抽象方法,由于_方法_的具体实现并_不明确_,因此抽象方法没有花括号所包裹着的方法体;原创 2021-01-22 23:10:53 · 258 阅读 · 0 评论 -
Java之数组工具Arrays
Arrays工具的常见方法简述如下:Arrays.equals(a1,a2):判断a1和a2两个数组是否相等,也就是每个元素是否都相等;Arrays.fill(a,val):往数组a中填入指定的数值val;dest = Arrays.copyOf(src,newLength):把数组src的内容赋值给数组dest,且dest的长度为newLength;Arrays.sort(a):对数组a的内部元素排序,默认按照升序排序。运用以上方法,需要导入arrays工具 import jav原创 2021-01-22 08:11:34 · 123 阅读 · 0 评论 -
你真的理解 i++ 与 ++i 吗? 瞧,超详细的底层原理分析~
注意,以下讨论的语言是 Java 这个问题被网上的好多文章写烂了,但基本重复度很高,我看过后的感觉是,大部分都是错误的、误导读者的。 随便百度一下,我们打开第一条。 上来先说个结论 i++ 先赋值在运算,例如 a=i++,先赋值a=i,后运算i=i+1,所以结果是a==1 ++i 先运算在赋值,例如 a=++i,先运算i=i+1,后赋值a=i,所以结果是a==2 然后给了成吨的例子来说...转载 2021-01-21 11:34:03 · 2206 阅读 · 0 评论 -
循环嵌套之经典图形打印
图形打印能更有效、更灵活运用流程控制这块知识点,更好的掌握其内在含义。打印以下经典图形代码public class Picture { public static void main(String[] args) { /** * 打印图形一:* * *** * ***** * ******* */ for(int i = 0; i < 4; i ++) { // i = 0 1 2 3原创 2021-01-19 23:58:23 · 2519 阅读 · 0 评论 -
Java易混淆知识 == 与 equals()方法的区别
在Java学习和面试中经常遇到这个问题,虽然想着简单,但还是决定记录下来,毕竟菜嘛…1.“==”==是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象地址的。但是我们又常常碰到这样一个问题运行结果:从结果可以看出,那既然 == 是比较地址,那么int数据的地址是怎样的呢,String又是怎样的呢?对于**基本数据类型(byte,short,char,int,float,double,long,boolean)**来说,他们是作为常量在方法区中的常量池里面以Hash原创 2021-01-17 01:12:02 · 125 阅读 · 0 评论 -
你了解Java可变参数吗?——可变参数
目录一、背景二、可变参数介绍1、定义2、特点3、格式4、例子三、总结一、背景为什么要采用可变参数呢?先看下代码:从上面代码可以看出,不断改变参数,都需要重新写新的方法,使得代码复用性不高等。二、可变参数介绍1、定义可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。2、特点只能出现在参数列表的最后;…位于变量类型和变量名之间,前后有无空格都可以;调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的原创 2021-01-16 22:27:44 · 158 阅读 · 0 评论 -
Java中Random.next***()与Math.random() 对比和方法使用详解
目录取随机数Java Random.next***()语法实例Java Math.random()语法参数返回值实例综合实例取随机数random方法只能生成小于1的随机小数(包括0和正小数),并不能生成随机整数。Random随机数工具包,可以解决random方法的问题:import java.util.Random;该工具实例化(new)后,nextInt 方法生成int类型的随机整数、nextLong 方法生成long类型的随机长整数、nextfloat 方法生成float类型的随机浮点小数原创 2021-01-14 21:23:22 · 503 阅读 · 1 评论 -
Java 关键字static 还搞不懂?看这一篇文章就足够了!详细解释!
目录1、static存在的主要意义2、静态:关键字static的概述2.1 理解static2.2 概念小结2.3 重点3、 静态:关键字static的用法static关键字的作用A. 修饰代码块B.修饰成员变量C.修饰方法static关键字的缺点4、static的独特之处5、举例总结1、static存在的主要意义static的主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法!static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能原创 2021-01-14 20:51:12 · 283 阅读 · 0 评论 -
Java 类的嵌套——内部类与静态嵌套类的区别
之前我们所知道父子类的继承类,接下来先描述内部类与静态嵌套类二者的区别(是否被static修饰),接着就是static关键字的用法,然后由静态属性到普通常量,再从普通常量到枚举常量,进而阐述枚举类型的用法。1. 内部类与静态嵌套类1.1 内部类(非静态嵌套类)通常情况下,一个Java代码文件只定义一个类,即使两个类是父类与子类的关系,我们都要把其拆开成两个代码文件分别定义。但是某些事物相互之间有密切关系,又不同于父子类的继承关系,像树与花之间的依附关系,定义在一个类的成员类,俗称为“内部类”。【代码原创 2021-01-14 00:37:42 · 584 阅读 · 0 评论 -
Java 字符串的赋值与转换,以及格式化
1.字符串的赋值与转换首先,字符串类型不是基本类型,是属于引用类型,其赋值方法不再是包装类型的3种赋值,而是有多达4种赋值。用双引号把字符串括起来使用String的valueOf方法把数值、布尔、字符、字符数组等变量转换为字符串对于字符数组来说,还能通过new关键字创建字符串变量对于基本变量类型(数组除外)来说,也可以利用加号连接基本变量和空串【代码】 ...... // 给字符串变量赋值的四种方式 // 第一种方式:用双引号把字符串括起来 String fromQuote原创 2021-01-13 17:13:13 · 3973 阅读 · 0 评论 -
Java的基本类型包装
由于基本数值类型如int、long等的变量不能直接调用方法。因此,Java另外为基本类型定义了对应的包装类型,通过包装变量直接调用相关的算术方法。1.数值类型包装首先,包装类型与基本类型一样,先要声明包装变量,然后对该变量赋值。给包装变量赋值有以下3种方式:直接通过等号把具体数字赋值给包装变量Integer oneInteger = 1;调用Integer的valueOf方法完成指定数字的赋值Integer oneInteger = Integer.valueOf(1);使用new原创 2021-01-13 02:37:05 · 176 阅读 · 0 评论 -
Java之数组 你知多少呢?
我们经常用的就是定义一个变量并对其赋值,然而是否考虑过如果定义了100个age变量并对其赋值,是不是很复杂呢?1000个呢?甚至更多。Java就引入数组这一概念解决这些问题。一、概念二、数组的创建格式三、数组的常见问题一、概念数组是相同数据类型的多个数据的容器(变量)。这些元素按线性顺序排列。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素。(“简单理解就是:一个跟一个顺序排列”)。二、数组的创建格式常用格式:创建数组的同.原创 2021-01-09 15:21:51 · 85 阅读 · 0 评论 -
动态调整参数的个数
首先,“方法重载”是只要参数个数不同或参数类型不同,代码中的同名方法都会被编译器当作不同的方法。有了方法的重载,如此一来,方法数量就多了许多。此时,Java中有一种机制能够动态调整参数的个数——可变参数,即Java的参数“可变”符号利用 变量类型后 的三个点号“ … ”来表示。【代码】方法的输入参数import java.util.Date;public class Input { public static void main(String[] args) { // TODO Auto原创 2021-01-06 13:10:57 · 607 阅读 · 0 评论 -
Java之大数字类型——大整数类型(BigInteger)和 大小数类型(BigDecimal)
大数字类型目的是为了破除基本类型因为精度限制而存在表达范围的藩篱。其分别是用于表达超大整数(任意大小,无数值范围限制)的大整数类型(BigInteger)和能够表达许多位小数的大小数类型(BigDecimal)。1.大整数BigIntegerimport java.math.BigInteger;首先,对于初始化则不像基本类型包装这块讲着3种方式,这里只剩下valueOf() 可以对其初始化。接着,大整数变量不能使用算术运算符,需要通过以下方法进行运算:add():取代了加法运算符“+”;原创 2021-01-06 13:06:07 · 3994 阅读 · 0 评论 -
Java 之 Math类 常用方法详解
Java的数学函数一. 取整函数round():四舍五入abs():取绝对值取整方法:a. floor():将变量向下取整,也就是往数值小的方向取整b. ceil():将变量向上取整,也就是往数值大的方向取整代码块如下: ...... double decimalPositive = 9.9; // 注意下面的9.4999999999999999,取整之后会变成10。 // 这是因为9.4999999999999999超出了双精度数的精度范围,Java会先将其转为原创 2021-01-06 13:05:13 · 1592 阅读 · 0 评论 -
Java之类的三要素
面向对象设计的三要素:封装:用于包装数据属性和动作方法;继承:用于派生并扩展已有类型;多态:用于父类和子类之间类型转换与类型检查。原创 2021-01-03 18:57:27 · 1849 阅读 · 1 评论 -
Java 8 的日期时间工具
之前有谈过Java的两套时间工具,分别是Date日期类型和Calendar日历类型,但仍在开发中存在问题:日历工具获得当月份的时候,与Date一样都是从0开始计数,比如通过get方法获得一月份数值为0;日历工具获得当天是星期几的时候,星期日是排在最前面的,通过get方法获得的星期日数值为1,而星期一数值居然为2;日历工具能够表达的最小世界单位是毫秒,精度不高;日历工具没有提供闰年判断方法;日历工具缺乏自己的格式,还得借助Date类型的格式化工具SimpleDateFormat,才能将日期时间按照原创 2021-01-03 01:57:49 · 298 阅读 · 0 评论 -
日 期 时 间
1.日期工具Dateimport java.utli.Date;1.1日期工具的用法有关实例化年、月、星期、小时、分、秒,特殊三种如下:(get***)getYear()+1900;getMonth()+1;getDay():对于星期日来说,getDay返回的是0,此时解决办法是dayWeek = (dayWeek == 0) ? 7 : dayWeek;【代码】 ...... Date date = new Date();//创建一个新的日期实例,默认保存的是系统时间 Sy原创 2021-01-03 01:56:21 · 154 阅读 · 0 评论 -
Java的方法重载与方法重写,差点让我迷了路... 这篇文章~超详细讲解!!!
方法重载:如果一个类有多个名字相同但参数个数、类型、顺序不同的方法。方法重写:如果子类具有和父类一样的方法(参数相同、返回类型相同、方法名相同,但方法体可能不同)。方法重写用于提供父类已经声明的方法的特殊实现,是实现多态的基础条件。1. 方法重载在 Java 中,有两种方式可以达到方法重载的目的。- 改变参数的数目:public class OverloadingByParamNum { public static void main(String[] args) {原创 2021-01-02 13:16:06 · 113 阅读 · 0 评论 -
如何退出多重循环
这标题太容易get了,划重点: “多重循环”,绝大多数初学者都以为直接在循环里边加break语句就可以终止所有循环,这么一说break真是无敌了呀,很可惜“我以为” 而不是“实践以为”呢,那怎么才能解决退出多重循环呢?首先,让我们回顾两个知识点 “continue” 与 “break” 语句二者的区别。break是用于终止本轮所有次循环,即不执行本次循环中break后面的语句,直接跳出循环。continue是用于终止本轮本次循环,即本次循环中的continue后面的代码不执行,进行下一次循环的路口判原创 2021-01-02 11:05:09 · 4752 阅读 · 1 评论 -
Java之冒号的用法
1. 三目运算符 “?:”“式子A?式子B:式子C”:当A成立时,得到式子B的结果;当式子A不成立时,得到式子C的结果。2.switch-case的分支标记 ...... System.out.println("凉风有信,秋月无边。打二字"); System.out.println("获取“凉风有信”的谜底请按1,获取“秋月无边”的谜底请按2"); Scanner scan = new Scanner(System.in); // 从控制台接收输入文本 int seq = scan.原创 2021-01-02 10:48:24 · 957 阅读 · 3 评论