Java泛型
Java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现? 答案是可以使用 Java 泛型。 使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。 泛型方法 你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。下面是定义泛型方法的规则: 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的 <E>)。 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。 ...
Java正则表达式
Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java 提供了 java.util.regex 包,它包含了 Pattern 和 Matcher 类,用于处理正则表达式的匹配操作。正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 “Hello World” 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:”a” 或 “1”。下表列出了一些正则表达式的实例及描述: 正则表达式描述 this is text匹配字符串 “this is text” this\s+is\s+text 注意字符串中的 \s+。匹配单词 “this” 后面的 \s+ 可以匹配多个空格,之后匹配 is 字符串,再之后 \s+ 匹配多个空格然后再跟上 text 字符串。可以匹配这个实例:this is text ^\d+(.\d+)? ^ 定义了以什么开始\d+ 匹配一个或多个数字? 设置括号内的选项是可选的. 匹配...
Java枚举(enum)
Java 枚举(enum)Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一年的 12 个月份,一个星期的 7 天,方向有东南西北等。Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。例如定义一个颜色的枚举类。enum Color{ RED, GREEN, BLUE;}以上枚举类 Color 颜色常量有 RED, GREEN, BLUE,分别表示红色,绿色,蓝色。使用实例:实例enum Color{ RED, GREEN, BLUE;} public class Test{ // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); }} 执行以上代码输出结果为:RED内部类中使用枚举枚举类也可以声明在内部类中:实例public class Test{ enum Color { ...
Java构造方法
Java 构造方法在 Java 中,构造方法(Constructor)是用于创建类的对象的特殊方法。当使用 new 关键字创建对象时,构造方法会自动调用,用来初始化对象的属性。构造方法具有以下几个特点:与类名相同:构造方法的名称必须与类名完全一致,包括大小写。这是构造方法的一个基本要求。没有返回类型:构造方法没有返回类型声明,即使是 void 也不写。这使得它与普通方法区分开来。自动调用:每次使用 new 创建对象时,构造方法会自动调用,以初始化对象的属性和状态。不能直接调用:构造方法只能通过 new 关键字在创建对象时调用,不能像普通方法那样直接调用。支持重载:可以为一个类定义多个构造方法,只要它们的参数列表不同。通过重载,可以创建不同的构造方法以适应不同的初始化需求。默认构造方法:如果没有定义任何构造方法,Java 会提供一个无参的默认构造方法。但一旦定义了任何其他构造方法,Java 不再提供默认构造方法。this 关键字的使用:在构造方法中可以使用 this...
Java条件语句-if...else
Java 条件语句 - if…elseJava 中的条件语句允许程序根据条件的不同执行不同的代码块。一个 if 语句包含一个布尔表达式和一条或多条语句。语法if 语句的语法如下: if(布尔表达式){//如果布尔表达式为true将执行的语句} 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 else 语句块后面的代码。 Test.java 文件代码: public class Test {public static void main(String args[]){int x = 10; if( x < 20 ){ System.out.print(“这是 if 语句”); }}} 以上代码编译运行结果如下: 这是 if 语句 if…else语句if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。语法if…else...
Java日期时间
Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。 Date( ) 第二个构造函数接收一个参数,该参数是从 1970 年 1 月 1 日起的毫秒数。 Date(long millisec) Date 对象创建以后,可以调用下面的方法。 序号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 2 boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 3 Object clone( ) 返回此对象的副本。 4 int...
Java方法
Java 方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。System 是系统类。out 是标准输出对象。 这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。 那么什么是方法呢?Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用 方法的优点 使程序变得更简短而清晰。 有利于程序维护。 可以提高程序开发的效率。 提高了代码的重用性。方法的命名规则 1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test_,例如 testPop_emptyStack。 方法的定义一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名(参数类型 参数名){ … 方法体 … ...
Java文档注释
Java 文档注释 Java 支持三种注释方式: 单行注释 多行注释 文档注释前两种分别是 // 和 /* /,第三种被称作文档注释,它以 /* 开始,以 */ 结束。前两种注释内容可以参考:Java 注释 文档注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到 HTML 文件中。文档注释,使你更加方便的记录你的程序信息。 javadoc 标签 javadoc 工具软件识别以下标签: 标签 描述 示例 @author 标识一个类的作者 @author description @deprecated 指名一个过期的类或成员 @deprecated description {@docRoot} 指明当前文档根目录的路径 ...
Java数组
Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。 Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,….,number99。 本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。 声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法 注意: 建议使用 dataType[] arrayRefVar 的声明风格声明数组变量。dataType arrayRefVar[] 风格是来自 C/C++ 语言 ,在Java中采用是为了让 C/C++ 程序员能够快速理解java语言。 实例下面是这两种语法的代码示例: double[]...
Java数据结构
Java 数据结构Java 提供了丰富的数据结构来处理和组织数据。Java 的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。以下是一些常见的 Java 数据结构:数组(Arrays) 数组(Arrays)是一种基本的数据结构,可以存储固定大小的相同类型的元素。int[] array = new int[5];特点: 固定大小,存储相同类型的元素。优点: 随机访问元素效率高。缺点: 大小固定,插入和删除元素相对较慢。列表(Lists)Java 提供了多种列表实现,如 ArrayList 和 LinkedList。List arrayList = new ArrayList<>();List linkedList = new LinkedList<>();ArrayList:特点: 动态数组,可变大小。优点: 高效的随机访问和快速尾部插入。缺点: 中间插入和删除相对较慢。LinkedList:特点: 双向链表,元素之间通过指针连接。优点: 插入和删除元素高效,迭代器性能好。缺点:...