日常Java 2021/10/30】的更多相关文章

Java泛型 Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型.泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.所以泛型就可以对任何数据类型进行操作. 定义泛型方法的规则:所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(public static < E > void printArray).每一个类型参数声明部分包含一个或多个类型参数,参数…
ArrayList存储数字 import java.util.ArrayList; public class Arr_test { public static void main(String[] args) { ArrayList<Integer> myNumbers = new ArrayList<Integer>(); myNumbers.add(10); myNumbers.add(15); myNumbers.add(20); myNumbers.add(25); for…
Java Iterator(迭代器) 如果需要使用iterator类需要从java.util包中引入它 Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和HashSet等集合 迭代器it 的两个基本操作是next,hasNext和remove 调用it.next()会返回迭代器的下一个元素,并更新迭代器的状态 调用it.hasNext()用于检测集合中是否还有元素 调用it.remove()将迭代器返回的元素删除 集合获取一个迭代器用iterator()…
泛型类 泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分.和迈型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开.一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符.因为他们接受一个或多个参数,这些类被称为参数化的类或参数化的类型. public class Box<T> { private T t; public void add(T t) { this.t = t; } public T get() { return t…
Java Object类是所有类的父类,也就是说Java的所有类都继承了Object,子类可以使用Object的所有方法. Object类位于java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Оbject,成为Object的子类.Object类可以显示继承,也可以隐式继承: 显示继承:public class c extends Object{} 隐式继承:public class c {} Object 类的方法 protected Ob…
Java lterator Java lterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList和HashSet等集合.lterator是Java迭代器最简单的实现,Listlterator是CollectionAPI中的接口,它扩展了lterator接口. 迭代器it的两个基本操作是next . hasNext和remove.调用it.next()会返回迭代器的下一个元素,并且更新迭代器的状态.调用it.hasNext()用于检测集合中是否还有元素.调用…
java HashMap HashMap是一个散列表,它存储的内客是键值对(key-value)映射.HashMap实现了Map.接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步.HashMap是无序的,即不会记录插入的顺序.HashMap继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable 接口. HashMap的key 与value类型可以相同也可以不同,可以是字符串(Strin…
Java ArrrayList ArrayList类是一个可以动态修改的数组,没有固定大小的限制,可以在任何时候添加或者删除元素 ArrayList类在java.util包中使用之前需要引用 E:泛型数据类型,用在objectName的数据类型中,只能为引用数据类型 ArrayList类 添加元素用add()方法, 访问元素用get()方法, 修改元素用set()方法, 删除元素用remove()方法, 计算元素数量用size()方法 ArrayList排序用sort()方法 其它引用类型:in…
Java提供了一套实现Collection接口的标准集合类 bstractCollection 实现了大部分的集合接口. AbstractList 继承于AbstractCollection并且实现了大部分List接口. bstractSequentialList 继承于AbstractList,提供了对数据元素的链式访问而不是随机访问. LinkedList 该类实现了List接口,允许有null(空)元素.主要用于创建链表数据结构,该类没有同步方法,如果多个线程同时访问一个List,则必须自…
Java集合框架 Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射. Collection接口又有3种子类型,List.Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList. LinkedList.HashSet.LinkedHashSet.HashMap. LinkedHashMap 等等. 集合框架是一个用来代表和操纵集合的统一架构. 所有的集合框架都包含接口,实现类,算法…
Java数据结构 Java BitSet类 BitSet类创建一种特殊类型的数组来保存位值,数组大小随需要增加,BitSet(),BitSet(int size) 其中的方法 void and(BitSet set) 对此目标位set和参数位set执行逻辑与操作. void andNot(BitSet set) 清除此BitSet中所有的位,其相应的位在指定的BitSet中已设置. int cardinality( ) 返回此BitSet中设置为true的位数. void clear( ) 将此…
Java枚举 values(), ordinal()和valueOf()方法位于java.lang.Enum类中: values()返回枚举类中所有的值 ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样 valueOf()方法返回指定字符串值的枚举常量 枚举跟普通类一样可以用自己的变量.方法和构造函数,构造函数只能使用private访问修饰符,所以外部无法调用 枚举既可以包含具体方法,也可以包含抽象方法.如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它 Java包 包的作…
封装 在面向对象程式设计方法中,封装是指-种将抽象性函式接口的实现细节部分包装.隐藏起来的方法 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问 要访问该类的代码和数据,必须通过严格的接口控制 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段,适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性 实现Java封装的步骤 1.修改属性的可见性来限制对属性的访问,如设置成private 2.对每个值属性提供对外的公共方法访问,用…
声明自定义异常 class zidingyiException extends Exception{}//定义自己的异常类 单继承 public class A  {} public class B extends A  {} 多重继承 public class A  {} public class B extends A  {} public class C extends B  {} 不同类继承同一个类 public class A  {} public class B extends A …
java 异常处理 Throwable中包括Error 和Exception,Exception包括IOException和RuntimeException 抛出异常 1.异常运算条件 ArithmeticException 2.非法索引访问数组 ArrayIndexOutOfBoundsException 3.将一个错误类型的对象存储到数组中 ArrayStoreException 4.向方法传递了一个不合法的参数 IllegalArgumentException 5.程序试图将字符串转换为一…
读取控制台输入 将System.in包装在BufferedReader对象中来创建一个字符流 BufferedReader b = new BufferedReader(new InputStreamReader(System.in)); 从BufferedReader对象中 读取字符使用read()方法    int read () throws IOException 读取字符串      String readLine () throws IOException 控制台输出 void wr…
HashSet基于HashMap来实现的,是一个不允许有重复元素的集合.HashSet 允许有null 值. HashSet是无序的,即不会记录插入的顺序. HashSet不是线程安全的,如果多个线程尝试同时修改HashSet,则最终结果是不确定的.您必须在多线程访问时显式同步对HashSet的并发访问. HashSet实现了Set 接口. HashSet中的元素实际上是对象,一些常见的基本类型可以使用它的包装类. 添加元素用add()方法 判断元素是否存在用contains()方法 删除元素用…
Vecter类实现了一个动态数组,不同于ArrayList的是,Vecter是同步访问的, Vecter主要用在事先不知道数组的大小或可以改变大小的数组 Vecter类支持多种构造方法:Vecter() Vecter(int size) Vecter(int size,int incr) incr表示增量,即向量每次增加的元素数目 Vecter(Collection c) 包含集合c 元素的向量 其次还有很多Vecter方法,列如 void add(int index,Object elemen…
今天开始Javaweb编译环境调试,从tomcat容器开始,然后mysql的下载,连接工具datagrip,navicat for mysql,然后就是编写自己的sql,安装jdbc,eclipse连接数据库, 创建Javaweb项目,实现对教师信息的录入,连接数据库,…
抽象类 所有对象都是通过类描述的,但不是所有的类都是用来描述对象,就好比抽象类,此类中没有足够的信息描述一个对象. 抽象类不能实例化对象,所以抽象类必须的继承,才可以使用. 抽象方法 Abstract关键字用来声明抽象方法,没有方法体,没有定义,方法名后面跟分号,不是花括号 声明抽象方法后造成的后果: 一个类包含抽象方法,那么该类为抽象类 子类重写父类的抽象方法,或声明自身为抽象类 构造方法,类方法不能声明为抽象方法…
多态就是同一个行为具有多个不同表现形式的能力 多态就是同一个接口,使用不同的实例而执行不同操作 多态的优点 1.消除类型之间的耦合关系 2.可替换性 3.可扩充性 4.接口性 5.灵活性 6.简化性 多态存在的必要条件: 重写,继承,父类引用指向子类对象 使用多态方式调用方法,先检查父类中是否有该方法,如果没有,则编译错误,如果有,再去调用子类的同名方法 多态的实现方式 重写,接口,抽象类和抽象方法…
方法: 用System.out.println()来解释,println()是一个方法,System是系统类,out 是标准输出对象. 也就是调用系统类中的对象中的方法. 注重方法:可以是程序简洁,有利于维护程序,提高程序开发的效率,提高了代码的重用性. 方法返回一个值的时候,方法通常被当作一个值,方法返回void的时候,方法调用是一条语句. 作用域: 变量的范围是程序中该变量可以被引用的部分. 方法内定义的变量被称为局部变量. 局部变量的作用范围从声明开始,直到包含它的块结束.局部变量必须声明…
正则表达式 \cx匹配由x指明的控制字符.例如,lcM匹配一个Control-M或回车符.x的值必须为A-Z或a-z之一.否则,将c视为一个原义的'℃'字符.\f匹配--个换页符.等价于\xOc和\cL.\n匹配-个换行符.等价于\xOa和\cJ.\r匹配一个回车符.等价于\xOd和\cM\s匹配任何空白字符,包括空格.制表符.换页符等等.等价于[ \fn\ritlv].\S匹配任何非空白字符.等价于[^\fin\rtiv].\t匹配-个制表符.等价于\x09和\cl.\v匹配-个垂直制表符.等…
用idea实现Javaweb登录页面 <%-- Created by IntelliJ IDEA. User: Tefuir Date: 2021/11/18 Time: 18:14 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>…
线程的优先级 每一个Java线程都有一个优先级,这样有助于操作系统确定线程的调度顺序.Java线程的优先级是一个整数,其取值范围是1(Thread.MIN_PRIORITY ) -10 (Thread.MAX_PRIORITY ).默认情况下,每一个线程都会分配一个优先级NORM_PRIORITY (5).具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源.但是,线程优先级不能保证线程执行的顺序,而且非常依赖于平台. 创建一个线程 Java提供了三种创建线程的方法:通过…
Java文档注释 Java支持三种注释方式.前两种分别是Ⅱ和/产*,第三种被称作说明注释,它以产开始,以*I结束.说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息,并输出到HTML文件中.说明注释,使你更加方便的记录你的程序信息. javadoc标签 @author @标识一个类的作者 @deprecated @指名一个过期的类或成员 @docRoot @指明当前文档根目录的路径 @exception @标志一个类抛出的异常 @inheritDoc @从直接父…
应用程序转换成Applet 将图形化的Java应用程序(是指,使用AWT的应用程序和使用java程序启动器启动的程序)转换成嵌入在web页面里的applet是很简单的.下面是将应用程序转换成.Applet的几个步骤;编写一个HTML页面,该页面带有能加载applet 代码的标签.编写一个JApplet类的子类,将该类设置为public.否则,Applet 不能被加载.消除应用程序的main()方法.不要为应用程序构造框架窗口,因为你的应用程序要显示在浏览器中.将应用程序中框架窗口的构造方法里的初…
Applet类 每一个Applet都是java.applet Applet类的子类,基础的Applet类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务.这些方法做了如下事情: 得到Applet的参数 得到包含Applet的HTML文件的网络位置得到Applet类目录的网络位置 打印浏览器的状态信息 获取-张图片 获取一个音频片段播放一个音频片段 调整此Applet的大小 除此之外,Applet类还提供了一个接口,该接口供Viewer或浏览器来获取Applet的信息,并且来控制App…
Java Applet基础 Applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以Applet是一个全功能的Java应用程序.如下所示是独立的Java应用程序和applet程序之间重要的不同:Java中Applet类继承了java.applet.Applet类.Applet类没有定义main(),所以一个Applet程序不会调用main()方法.Applet 被设计为嵌入在一个HTML页面.当用户浏览包含Applet的 HTML页面,A…
Java多线程编程 Java给多线程编程提供了内置的支持.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个钱程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销.这里定义和线程相关的另一个术语-进程:一个进程包括由操作系统分配的内存空间,包含一个或多个钱程.一个钱程不能独立的存在,它必须是进程的一部分.一个进程一直运行,直到所有的非守护线程都结束运行后才能结束.多线程能满足程序员编写高效率的程序来达到充分利用CPU的目的. 一个线程的生命周…