- 博客(15)
- 收藏
- 关注
原创 java的第一程序(HelloWorld)
声明完类后,我们将声明方法体,这里是main方法,也称为主方法 ,args是这个main方法的参数(arguments),这个变量名字是可以改变的 但是main方法的写法是固定的,不可以修改,这是JVM规定的,指示程序的入口。如图为控制台的打印结果,可以看到但我们使用System.out.print()时打印结果是不会换行的,这就导致打印出来的123和456连在一起了,所以我们在编写输出语句时要明确是否换行。接下来,我们通过System.out.println("Hello world!
2025-07-15 11:25:14
271
原创 Java中异常体系
异常分为两类:编译时异常,运行时异常。其中编译时异常时是没有继承RuntimeException的异常,直接继承于Exception。运行时异常是RuntimeException本身及其子类,编译时没有错误提示,运行时出现。异常是指在程序中可能出现的问题。在异常的体系中存在最上层的父类Exception,Exception中又有子类RuntimeException及其子类和其他异常。
2024-10-29 20:58:34
428
原创 IO流的概述
在程序的开发中,我们经常会需要处理设备之间的数据传输,而计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的。而对于字节的输入输出IO流提供了一系列的流,统称为字节流,字节流是程序中最常用的流,根据数据的传输方向可将其分为字节输入流和字节输出流。
2024-10-29 20:43:44
417
原创 Java集合的进阶(Map)
Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。
2024-10-23 21:08:05
286
原创 Java集合的进阶(TreeSet)
上面介绍了TreeSet集合的自然排序,它还有另一种实现排序的方式,即实现Comparator接口,重写compare()方法和equals()方法,但是由于所有的类默认继承Object,而Object中有equals()方法,所以自定义比较器类时,不用重写equals()方法,只需要重写compare()方法,这种排序被称为比较器排序。HashSet集合存储的元素是无序的和不可重复的,为了对集合中的元素进行排序,Set接口提供了另一个可以对HashSet集合中元素进行排序的类——TreeSet。
2024-10-22 22:29:29
391
原创 Java集合的进阶(HashSet和LinkedHashSet)
与List接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。其中,HashSet是根据对象的哈希值来确定元素在集合中的存储位置,具有良好的存取和查找性能。HashSet集合存储的元素是无序的,如果想让元素的存取顺序一致,可以使用Java中提供的LinkedHashSet类,LinkedHashSet类是HashSet的子类,与LinkedList一样,它也使用双向链表来维护内部元素的关系。HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的。
2024-10-22 21:17:19
738
原创 Java集合的进阶(泛型的通配符)
通配符表示可以匹配任意类型,任意的Java类都可以匹配, 但是当接收一个List集合时,它只能操作数字类型的元素(Float、Integer、Double、Byte等数字类型都行),而如果直接使用通配符的话,该集合就不是只能操作数字了。在Java中,数组是可以协变的,例如,Dog extends Animal,那么Animal[]与dog[]是可以兼容的。而集合是不能协变的,也就是说List<Animal>不是List<dog>的父类, 为了解决这个问题,Java泛型为我们提供了类型通配符 <?
2024-10-21 22:17:56
263
原创 Java集合进阶(泛型)
泛型是指定一个表示类型的变量,即“参数化类型”。在编程中用泛型来代替某个实际的类型,而后通过实际调用时传入或推导的类型来对泛型进行替换,以达到代码复用的目的。在使用泛型的过程中,操作数据类型被指定为一个参数,这种参数类型在类、接口和方法中,分别称为泛型类、泛型接口、泛型方法。相对于传统上的形参,泛型可以使我们的参数具有更多类型上的变化,使代码能更好地复用。
2024-10-21 21:08:54
201
原创 Java集合的进阶(泛型的概述和基本使用)
在编程中用泛型来代替某个实际的类型,而后通过实际调用时传入或推导的类型来对泛型进行替换,以达到代码复用的目的。在使用泛型的过程中,操作数据类型被指定为一个参数,这种参数类型在类、接口和方法中,分别称为泛型类、泛型接口、泛型方法。此时推出了泛型,可以在添加数据的时候就把类型进行统一,而且我们在获取数据的时候,也省的强转了,非常的方便。如果我们没有使用泛型,就不会给集合指定类型,那么会默认认为所有的数据类型都是object类型。2.指定泛型的具体类型后,传递数据时,可以传入该类类型或者其子类类型。
2024-10-19 22:21:07
231
原创 Java集合的进阶(List中常用的方法和五种遍历方式的对比)
List接口继承自Collection接口,是单列集合的一个重要分支。List集合允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引访问List集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引操作集合的特有方法。优先调用,实参于形参类型一致的那个方法。在调用方法的时候,如果出现了重载现象。
2024-10-19 14:18:26
1023
原创 Java集合的进阶(Lambda)
Lambda表达式是JDK8的一个新特性,Lambda可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。
2024-10-18 23:37:49
244
原创 Java集合的进阶(增强for循环)
从JDK5开始,提供了foreach循环。foreach循环是一种更加简洁的for循环,也称增强for循环。1.s其实是一个第三方变量,在循环过程中依次表示集合的每一个数据。2.修改增强for中的变量,不会改变集合中原本的数据。
2024-10-18 22:52:12
219
原创 Java集合的进阶(迭代器遍历)
(1).迭代器遍历完毕时,指针不会复位,若继续使用next方法会报错NoSuchElementException。如果我们要继续第二次遍历集合,只能再一次获取一个新的迭代器对象,如下图。(3).迭代器遍历时,不能用集合的方法进行增加或删除 ,若使用Collection的增加和删除会报错ConcurrentModificationException,如下图。(2).循环只能使用一次next方法,若多次使用next方法可能报错NoSuchElementException,如下图。
2024-10-18 22:27:07
805
原创 Java集合的进阶(集合的概述)
1.Collection:单列集合类的父接口,用于存储一系列符合某种规矩的元素,它有两个重要的子接口,分别是List和Set。其中,List的特点是元素有序(有序:元素的存入顺序和取出顺序一致),元素可重复,有索引。),Set接口的主要实现类有HashSet和TreeSet。2.Map:双列集合类的根接口,用于存储具有键(Key)、值(Value)映射关系的元素,每个元素都包含一对键值,其中键值不可重复并且每个键最多只能映射到一个值,在使用Map集合时可以通过指定的Key找到对应的Value。
2024-10-17 23:18:46
222
原创 Java集合的进阶(Collection中常用的方法)
boolean contains(Object o)判断该集合中是否包含某个元素。boolean remove(Object o)删除该集合中指定的元素。boolean add(Object o) 向集合中添加一个元素。boolean isEmpty()判断该集合是否为空。void clear()删除该集合中的所有元素。int size()获取该集合元素个数。
2024-10-17 22:57:12
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅