
Java知识点
巴德不说话
厚积薄发
展开
-
Java 期末试题之GeoJSON
1.概述GeoJSON是一种编码各种地理数据结构的格式。GeoJSON 是用 JSON 的语法表达和存储地理数据,可以说是 JSON 的子集。 GeoJSON总是由单个对象组成。此对象(以下称为GeoJSON对象)表示一个几何图形、特性或功能集合。 完整的GeoJSON数据结构始终是一个对象(用JSON术语来说)。在GeoJSON中,对象由名称和成员值成对的集合(也称为成员)组成。对于每个成员,名称总是一个字符串。成员值要么是字符串、数字、对象、数组,要么是文字之一:true,false,和nul.原创 2021-12-28 16:49:28 · 1268 阅读 · 4 评论 -
Java Swing图形化编程期末试题(附有注释)
/*Explorer*/import javax.swing.SwingUtilities;public class Explorer {//资源管理器 public static void main(String args[]){ SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new MainFrame();//创建主机 } });//等Swing.原创 2021-12-27 00:37:34 · 1205 阅读 · 7 评论 -
Java Swing图形化编程之JScrollPane
概述JScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。构造方法:/** * 参数说明: * view: 需要滚动显示的视图组件 * vsbPolicy: 垂直滚动条的显示策略 *转载 2021-12-27 00:14:16 · 2083 阅读 · 0 评论 -
Java Swing图形化编程之JTextArea
概述JTextArea,文本区域。JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。构造方法:/** * 参数说明: * text: 默认显示的文本 * rows: 默认可见的行数 * columns: 默认可见的列数 * * 默认由 rows 和 columns 决定首选大小 */JTextArea()JTextArea(String text)原创 2021-12-27 00:10:32 · 4305 阅读 · 0 评论 -
Java Swing图形化编程之JTextField
概述JTextField,文本框。JTextField 用来编辑单行的文本。构造方法:/* * 参数说明: * text: 默认显示的文本 * columns: 用来计算首选宽度的列数;如果列设置为 0,则首选宽度将是组件实现的自然结果 */JTextField()JTextField(String text)JTextField(int columns)JTextField(String text, int columns)常用方法:原创 2021-12-26 16:26:46 · 354 阅读 · 0 评论 -
Java Swing图形化编程之JFileChooser
概述JFileChooser:文件选取器。JFileChooser为用户选择文件提供了一种简单的机制,包括打开文件和保存文件。常用方法:/** * 参数说明: * currentDirectory: 打开文件选取器时默认显示的文件夹(默认为用户文件夹) * currentDirectoryPath: 打开文件选取器时默认显示的文件夹(默认为用户文件夹) */JFileChooser()JFileChooser(File currentDirectory)...原创 2021-12-26 16:05:40 · 480 阅读 · 0 评论 -
Java Swing图形化编程之JButton
1.概述JButton:按钮构造方法:// 创建不带有设置文本或图标的按钮JButton()// 创建一个带文本的按钮JButton(String text)// 创建一个带图标的按钮JButton(Icon icon)常用方法:// 设置按钮的 文本、字体 和 字体颜色void setText(String text)void setFont(Font font)void setForeground(Color fg)/* 以下方法定义在 javax.sw原创 2021-12-26 11:11:28 · 650 阅读 · 0 评论 -
Java Swing图形化编程之JPanel类
概述JPanel组件定义面板实际上是一种容器组件,用来容纳各种其他轻量级组件。此外,用户还可以用这种面板容器绘制图形。构造方法JPanel():创建具有双缓冲和流布局(FlowLayout)的面板。JPanel(LayoutManager layout):创建具有制定布局管理器的面板。 常用方法void add(Component):添加组件。void add(Component,int):添加组件至索引指定位置。void add(Component,Object):按照指定原创 2021-12-26 01:42:43 · 339 阅读 · 0 评论 -
Java GridBagLayout(网格包布局管理器)
概述GridBagLayout(网格包布局管理器)是在网格基础上提供复杂的布局,是最灵活、 最复杂的布局管理器。GridBagLayout 不需要组件的尺寸一致,允许组件扩展到多行多列。每个 GridBagLayout 对象都维护了一组动态的矩形网格单元,每个组件占一个或多个单元,所占有的网格单元称为组件的显示区域。 GridBagLayout 所管理的每个组件都与一个 GridBagConstraints 约束类的对象相关。这个约束类对象指定了组件的显示区域在网格中的位置,以及在其显示区域中应该如何原创 2021-12-26 01:33:11 · 3444 阅读 · 0 评论 -
Java JFrame、JPanel详解
JFrame是一个顶层的框架类,好比一个窗户的框子。也是一个容器类。这个框子可以嵌入几个玻璃窗。 JPanel是一个容器类,相当于一大玻璃窗。JFrame自带了一个玻璃窗。可以通过语句 Container c=getContentPane();获得该内容窗格。也可以定制一个新的玻璃面板替换原来的自带的玻璃窗,代码如下:JPanel jp=new JPanel();this.setContentPane(jp);JFramejava的GUI程序的基本思路是以JFrame为基础..原创 2021-12-25 01:33:07 · 7575 阅读 · 0 评论 -
Java Swing图形化编程之JFrame类
JFrame类是用来创建窗体的注意:窗体是会为你提供一个最小化和可关闭化按钮创建的窗体是一个可以任意拖动大小的窗体,你可以选中窗体的任意一个边框进行拖拽,他就会改变现有的大小,但是如果你想拥有一个固定大小的窗体那么你就需要给自己的窗体增加限制条件;可以调用窗体的setResizable方法对窗体的操作进行限制;若要创建一个需要在多个地方使用的窗体,可将此窗体封装为JFrame的一个子类,即创建一个类继承JFrame类。JFrame方法的代码举例import javax.swing.原创 2021-12-24 10:25:49 · 2221 阅读 · 0 评论 -
Java SwingUtilities.invokeLater(new Runnable(){})方法详解
SwingUtilities.invokeLater():invokeLater一般用于在线程里修改swing组件的外观,因为swing组件是非同步的,所以不能在线程中直接修改,会不同步,得不到期望的效果,所以要把修改外观的代码放在一个单独的线程中,交给invokeLater:后面的程序(线程中的重写的run()方法及run()方法中的代码)和这个参数的线程(new Runnable())对象可以并行,异步地执行import javax.swing.SwingUtilities;public c原创 2021-12-24 09:58:51 · 4376 阅读 · 0 评论 -
Java 异常及异常的处理
1. 异常的体系结构java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundExcepti...原创 2021-12-17 23:52:38 · 180 阅读 · 0 评论 -
Java interface接口及接口与抽象类的区别
1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员JDK7及以前:只能定义全局常量和抽象方法 >全局常量:public static final的.但是书写时,可以省略不写 >抽象方法:public abstract的 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略4. 接口中不能定义构造器的!意味着接口不可以实例化5. 接口通过让类去实现(implemen..原创 2021-12-17 23:22:36 · 622 阅读 · 0 评论 -
Java abstract关键字
abstract: 抽象的1.可以用来修饰类、方法2.具体的abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 --->抽象的使用前提:继承性 abstract修饰方法:抽象方法 抽象方法只有方法的声明,没方法体 包含抽象方法的类,一定是一个抽象类,需要使用abstract修饰。反之,抽象类中可以没有抽象方法的 若子类重原创 2021-12-17 11:35:33 · 229 阅读 · 0 评论 -
Java final关键字
final:最终的1.可以用来修饰类、方法、变量2.具体的final 用来修饰一个类:此类不能被其他类所继承。 比如:String类、System类、StringBuffer类 final 用来修饰方法:表明此方法不可以被重写,但是⼦类可以⽤⽗类中final修饰的⽅法; 比如:Object类中getClass(); final 用来修饰变量:此时的"变量"就称为是一个常量 基本类型变量使⽤final修饰了就不可变了 对于引⽤类型变量被final修饰了:引⽤变量引⽤不可原创 2021-12-17 11:22:05 · 218 阅读 · 0 评论 -
Java static关键字
1.可以用来修饰的结构主要用来修饰类的内部结构属性、方法、代码块、内部类2.static修饰属性静态变量(或类变量) static修饰属性的其他说明: 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用 静态变量的加载要早于对象的创建。 由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。 3.静态变量内存解析:4.static修饰方法静态方法、类方法 随着类的加载而加载,可以通过"类.静态方法"的方...原创 2021-12-17 11:09:50 · 108 阅读 · 0 评论 -
Java super关键字以及与this的区别
super 关键字可以理解为:父类的 可以用来调用的结构: 属性、方法、构造器 super调用属性、方法: 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super." 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。 特殊情况:当子类重写了父类中的方法以后,我们想在子类的原创 2021-12-17 10:55:25 · 105 阅读 · 0 评论 -
Java this关键字
概念Java中为解决变量的命名冲突和不确定性问题,引⼊关键字this代表其所在⽅法的当前对象的引⽤ this只能在类中的⾮静态⽅法中使⽤,静态⽅法和静态的代码块中绝对不能出现this 原因:static⽅法在类加载时就已经存在了,但是对象是在创建时才在内存中⽣成。 三种情况可用到this关键字:1) 构造⽅法中指该构造器所创建的新对象; public class B{ A a; //A是⼀个类 public B(A a){ this.a =原创 2021-12-17 10:05:28 · 348 阅读 · 0 评论 -
Java 构造方法以及重载和重写的区别
构造方法主要⽤来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符⼀起使⽤在创建对象的语句中.⼀个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载 //构造函数的重载:public Animal2(String name,int myid) { this.name=name; id=myid; } public Animal2(String name) { this.name=name; } public Animal2(i原创 2021-12-17 09:57:38 · 404 阅读 · 0 评论 -
Java 类与对象的三大特征
一、封装将类的某些信息隐藏在类的内部,不允许外部程序直接访问,⽽是通过该类提供getter setter的⽅法来 对隐藏的信息进⾏操作和访问封装的实现步骤:修改属性的可⻅性设为(private) 创建getter/setter⽅法(⽤于属性的读写)(通过这两种⽅法对数据进⾏获取和设定,对象通过 调⽤这两种发⽅法实现对数据的读写) 在getter/setter⽅法中加⼊属性控制语句(对属性值的合法性进⾏判断)“⾼内聚,低耦合”:高内聚低耦合,是软件工程中的概念,是判断软...原创 2021-12-15 01:15:11 · 250 阅读 · 0 评论 -
Java 一维数组的常见操作以及多维数组初始化的3种方法
一、数组的常⻅操作声明数组; int arr[] 数组初始化; int [] arr={1,2,3,4} int [] arr=new int[]{1,2,3,4}查看数组⻓度; arr.length;for each循环; for(int a:arr){ System.out.println(a);数组拷⻉; int [] arr2=arr1;int[] arr2=Arrays.copyOf(arr,arr.length(⾃定义⻓度)); 数组排序; Array原创 2021-12-15 00:23:01 · 989 阅读 · 0 评论 -
Java 多线程及进程和线程的区别
一、进程和线程的区别进程:是正在运行的,进程是资源分配的最小单位。线程:是cpu调度的最小单位(线程依赖于进程)。引用了(1条消息) 【Java】室友打一把王者就学会了多线程_执久呀的博客-优快云博客博主的生动比喻打个比喻,好比你打一把王者(其实我不玩哈doge),进程比作是你开的那一把游戏,线程比作成每个玩家所选的英雄或者是游戏中的水晶野怪等之类的。带着这个比喻来理解进程和线程的一些关系。一个进程有多个线程就叫多线程。是不是感觉非常好理解。❤1.线程在进程下进行原创 2021-12-14 00:08:04 · 205 阅读 · 0 评论 -
Java 正则表达式的用法及常用方法
一.概述用来描述或者匹配一系列符合某个语句规则的字符串二.单个符号含义1、英文句点 .符号:匹配单个任意字符。表达式t.o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。2、中括号 [ ] :只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。3、 | 符号:相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。...原创 2021-12-13 23:17:05 · 1542 阅读 · 0 评论 -
Java List的contains()方法详解以及重写equals()方法时需要注意的地方
contains方法内部实现@Override public boolean contains(Object o) { return indexOf(o) != -1; indexof方法内部实现@Override public int indexOf(Object o) { E[] a = this.a; //当o是null的时候也会返回集合中null的位置if (o == null) { for (int i = 0;原创 2021-12-13 00:38:39 · 643 阅读 · 0 评论 -
Java List集合(ArrayList、LinkedList、Vector)的使用方法
List特性:可以存放同一种类型的元素。 内部维护元素之间的顺序,是有序集合。 元素是可以重复的。三种实现类的区别:1.ArrayList内部存储的数据结构是数组存储。数组的特点:元素可以快速访问。每个元素之间是紧邻的不能有间隔,缺点:数组空间不够元素存储需要扩容的时候会开辟一个新的数组把旧的数组元素拷贝过去,比较消性能。从ArrayList中间位置插入和删除元素,都需要循环移动元素的位置,因此数组特性决定了数组的特点:适合随机查找和遍历,不适合经常需要插入和删除操作。2.Vecto原创 2021-12-13 00:18:19 · 605 阅读 · 0 评论 -
Java Set集合(HashSet、LinkedHashSet、TreeSet)的使用
HashSet HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。HashSet中是不能出现重复数据的。 HashSet中可以出现空数据。 HashSet中的数据是无序的。 Set<String> set = new HashSet<String>(); for(int i= 0;i<6;i++){ set.add(i+""); } set.add("3"); //重复数据,不会写入 ...原创 2021-12-12 23:55:52 · 275 阅读 · 0 评论 -
Java Collection接口常用方法
Collection 接口Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口——List、Set接口。 Collection 接口存储一组不唯一,无序的对象。 由于List、Set是Collection的子接口,意味着所有List、Set实现类都有Collection的方法。常用方法的使用import java.util.Arrays;i.原创 2021-12-12 23:45:25 · 305 阅读 · 0 评论 -
Java Map接口(HashMap、TreeMap)
1.HashMap介绍HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 HashMap 是无序的,即不会记录插入的顺序。size() 获取集合中名值对的数量put(key k, value v ) 添加元素get( k ) 根据键获取键对应的值remove( key) 删除键对应的元素clear()清空c原创 2021-12-11 00:07:21 · 1824 阅读 · 2 评论 -
Java 获取数组、字符串、泛型集合的长度
java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法 java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看 代码举例说明:public static void main(String[] args) { String []str={"xan","ao".原创 2021-12-10 09:41:34 · 554 阅读 · 0 评论 -
Java 统计list集合中每个元素的次数
/** * java统计List集合中每个元素出现的次数 * 例如frequencyOfListElements(["111","111","222"]) * 则返回Map {"111"=2,"222"=1} */ public static Map<String,Integer> frequencyOfListElements( List<String> items ) { if (items == null || ite...原创 2021-12-10 09:34:38 · 1183 阅读 · 0 评论 -
Java Collections.swap()方法
作用:交换List集合中任意两个元素的位置代码:import java.util.ArrayList;import java.util.Collections;public class SwapElements {public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add("A"); arrayList.add("B");原创 2021-12-10 09:11:31 · 9377 阅读 · 0 评论 -
Java StringBuffer的常用方法
StringBuffer是字符串缓冲区,是一个容器。1、长度是可变化的;(数组长度不变)2、可以操作多个数据类型;3、最终会通过toString方法变成字符串。 StringBuffer sb = new StringBuffer("HelloWork1234567890"); // 增加(在字符串末尾插入字符) System.out.println(sb.append(".java")); //HelloWork1234567890.java原创 2021-12-09 10:52:59 · 169 阅读 · 0 评论 -
Java String与StringBuffer的相互转换
String --->StringBuffer String s = "hello"; //注意:StringBuffer是不能把字符串的值直接赋值给StringBuffer //StringBuffer sb = "hello"; //StringBuffer sb = s; //方式一:通过构造方法 StringBuffer sb = new StringBuffer(s); //方式二:通过append方法 StringBuffer sb2 = new.原创 2021-12-09 10:48:54 · 1166 阅读 · 1 评论 -
Java 继承(implements与extends的区别)
接口implements的说明:关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。实现一个接口,必须实现接口中的所有方法。使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)接口(implements)的作用:接口是软件编程的规范,可以降低耦合性,换句话说,可以让某个模块或功能能够重复利用,这样只要写这功能一次代码就ok了。其他地方要用到的,全部..原创 2021-12-09 10:17:30 · 1387 阅读 · 0 评论 -
Java 返回二个整数变量较大的值
public static void main(String args[]){ int i = 6; int j = 2; int k = max(i, j); System.out.println(i + "和" +j +"比较,最大值是:"+k); } /*返回两个整数变量较大的值*/ public static int max(int numl,int num2){ int result;.原创 2021-12-08 13:32:56 · 826 阅读 · 0 评论 -
Java 输出数组中指定元素的下标
/** * 输出数组指定元素的下标 */ public static void main(String[] args) { //定义一个数组 int[] array = new int[]{123,456,789,321,654,987}; int index = printArray(array,321); System.out.println("321对应的下标是:"+index); //查询没有的数据 int index1 = printArray(array,1..原创 2021-12-08 13:29:06 · 6866 阅读 · 0 评论 -
Java Arrays用法
1.Arrays.sort()的用法sort(T[] a):对指定T型数组按数字升序排序import java.util.Arrays;import java.util.Comparator;public class ArraysSort { public static void main(String[] args) { int[] a={2,5,4,3,1,8}; Arrays.sort(a); System.out.println原创 2021-12-07 23:41:22 · 974 阅读 · 0 评论 -
Java Collections.sort()方法
使用前提:Map,Set,List等集合中,他们都提共了一个排序方法sort(),要对数据排序直接使用这个方法就行,但是要保证集合中的对象是可比较的。通过对该对象实现Comparable<T>接口实现对象可比较的。然后重写里面的compareTo()方法。代码举例说明:假设我们有一个学生类,默认需要按学生的年龄字段age进行排序 代码如下:public class Student implements Comparable<Student>...原创 2021-12-06 19:09:21 · 6342 阅读 · 1 评论 -
Java ArrayList集合的基本用法
概述:与数组不同的是,ArrayList集合的长度是可以随意变化的 类型只能是引用数据类型或者基本数据类型的包装类(java中引用数据类型有哪些?_小明的博客-优快云博客_java引用数据类型有哪些)1.创建ArrayList集合//创建ArrayList集合 ArrayList<String> arrayList = new ArrayList<String>(); //int包装类 ArrayList<I.原创 2021-12-06 17:26:37 · 628 阅读 · 0 评论