JavaSE
JavaSE是一个新手入门的基础。
情绪员Tim
这个人很懒,什么也没留下!
展开
-
Java核心技术----多线程
一、线程简介例如人体同时进行呼吸、血液循环、思考问题等活动,用户既可以使用计算机听歌,也可以使用它打印文件,而这些活动完全可以同时进行,这种思想放在Java中被称为并发,而将并发完成的每一件事情称为线程。Java语言提供并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。二、实现线程的两种方式1、继承Thread类Thread类是java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Threa原创 2021-11-07 18:39:40 · 390 阅读 · 0 评论 -
Java核心技术----枚举类型与泛型
一、枚举类型1、使用枚举类型设置常量其中,enum是定义枚举类型关键使用枚举类型定义常量的语法如下:public enum Constants{ Constants_A, Constants_B, Constants_C}enum是定义枚举类型关键字。当需要在程序中使用该常量时,可以使用Constants.Constants_A来表示。2、深入了解枚举类型枚举类型较传统定义常量的方式,除了具有参数类型检测的优势之外,还具有其他方面的优势。 用户...原创 2021-11-05 00:20:30 · 952 阅读 · 0 评论 -
Java核心技术----反 射
一、Class类与Java反射1、访问构造方法每个Constructor对象代表一个构造方法,利用Constructor对象可以操纵相应的构造方法。getConstructors()getConstructor(Class<?>... parameterTypes)getDeclaredConstructors()getDeclaredConstructor(Class<?>... parameterTypes)2、访问成员变量每个Field对象...原创 2021-11-09 00:27:23 · 8178 阅读 · 4 评论 -
Java核心技术----IO(输入/输出)
一、流概述流是一组有序的数据序列,根据操作的类型,可分为输入流(Input)和输出流(Output)两种。二、输入输出流1、输入流InputStream类是字节输入流的抽象类,是所有字节输入流的父类。该类中所有方法遇到错误时都会引发IOException异常。Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类,Reader类的具体层次结构如下图所示:2、输出流OutputStream类是字节输入流的抽象类,此抽象类是表示输出字节...原创 2021-11-02 14:21:52 · 473 阅读 · 0 评论 -
Java核心技术----集合类
一、集合类概述Java语言的java.util包中提供了一些集合类,这些集合类又被称为容器。常用的集合有List集合、Set集合、Map集合,其中List与Set实现了Collection接口。二、Collection接口Collection接口是层次结构中的根接口。构成Collection的单位,被称之为元素。Collection接口通常不能直接使用,但该接口提供了添加元素、删除元素、管理数据的方法。由于List接口与Set接口都继承了Collection接口,因此这些方法对List.原创 2021-11-01 16:55:10 · 357 阅读 · 1 评论 -
Java核心技术----异常处理
一、异常概述在程序中,错误可能产生于程序员没有预料到的各种情况,或者是因为超出了程序员控制之外的环境因素,如用户的坏数据、试图打开一个根本不存在的文件等。在Java中这种在程序运行时可能出现的一些错误称为异常。二、处理程序异常错误1、错误异常产生后,如果不做任何处理,程序就会被终止。例如,将一个字符串转换为整型,可以通过Integer类的parseInt()方法来实现。回顾:Integer.parseInt(String)的作用就是将String字符类型数据转换为Intege..原创 2021-10-30 16:11:02 · 279 阅读 · 0 评论 -
Java核心技术----类的高级特效
一、Java类包1、类名冲突Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口都需要隶属某一个类包,这个类包包含了一些类和接口。2、完整的类路径一个完整的类名需要包名与类名的组合,任何一个类都隶属于一个类包,只要保证同一类包中的类不同名,就可以有效地避免同名类冲突的情况。列如:Date类,Date有两种包类java.util和java.sql.,需要制定的包类来明确类的方向:java.util.Date date=new java.uti原创 2021-10-28 17:18:33 · 270 阅读 · 0 评论 -
Java核心技术----接口、继承与多态
一、类的继承继承在面向对象开发思想中是一个非常重要的概念,它使整个程序架构具有一定的弹性,在程序中复用一些已经定义完善的类不仅可以减少软件开发周期,同时也可以提高软件的可维护性和可扩展性。Java中运用extends关键字来标识两个类的继承关系。package bao; class Demo1{ public Demo1() { //构造方法 } protected void domoni() { //成员方法 } protected Demo1 do原创 2021-10-26 21:02:48 · 513 阅读 · 0 评论 -
Java基础知识----数字处理
一、数字格式化字的格式化在解决实际问题时使用非常普遍,如表示某超市商品价格,需要保留两位有效数字原创 2021-10-25 18:16:20 · 386 阅读 · 0 评论 -
Java基础知识----包装类
包装类java.lang包中的Integer类、Long类和Short类,分别将基本类型int、long和short封装成一个类。一、IntegerInteger类在对象中包装了一个基本类型int的值。二、BooleanBoolean类将基本类型为boolean的值包装在一个对象中。三、Byte四、Character五、Double六、Number...原创 2021-10-25 13:06:08 · 3489 阅读 · 0 评论 -
Java基础知识----类和对象
一、面向对象概述1、对象现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如动物、书、计算器、冰箱等。2、类类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。3、封装封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电...原创 2021-10-23 23:49:36 · 801 阅读 · 0 评论 -
Java基础知识----数组
一、数组的含义数组是一个具有相同数据类型的一组数据的集合。例如,球类的集合——排球、篮球、乒乓球球等;电器集合——冰箱、空调、电热水器等。数组有两种,一维数组和二维数组。二、一维数组的创建和使用1、创建一维数组数组作为对象允许使用new关键字进行内存分配。符号“[ ]”:指明该变量是一个数组类型变量,单个“[ ]”表示要创建的数组是一维数组声明一维数组有两种形式,语法如下所示:数组元素类型 数组名字[ ];例如:int arr[] 数组元素类型[ ] 数组名字;...原创 2021-10-23 22:53:56 · 880 阅读 · 0 评论 -
Java基础知识----字符串
一、创建字符串1、声明字符串在Java语言中的字符串必须在一对“ ”(双引号)之内。例如:"33"、"Hello"、"世界"2、创建字符串String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。(1)String(char a[])用数组创建字符串char arr[]={'n','b','a'};String str=new String(arr);//以上操作相等于 String str=new String(原创 2021-10-23 15:32:50 · 7917 阅读 · 0 评论 -
Java基础知识----流程控制
一、复合语句Java语言的复合语句是以整个块区为单位的语句,所以又称块语句。复合语句由开括号“{”开始,闭括号“}”结束。二、条件语句1、if条件语句if条件语句是一个重要的编程语句,它用于告诉程序在某个条件成立的情况下执行某段程序,而在另一种情况下执行另外的语句。2、switch多分支语句switch语句中表达式的值必须是整型或字符型,常量值1~常量值n必须也是整型或字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量值相同,则执行该case语句后的若原创 2021-10-23 10:51:22 · 142 阅读 · 0 评论 -
Java基础知识----Java语言基础
一、Java程序的基本结构1、包声明一个Java应用程序是由若干个类组成的。package为包的关键字。例如:包名为aspect,他的类也就 package aspect;2、声明成员变量和局部变量通常将类的属性称之为类的全局变量(成员变量),将方法中的属性称之为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量:描述对象有什么(在类中定义),类中所有方法都可以使用。 局部变量:临时保存数据(在类的方法中定义),只能在当前方法中使用。全局变量和局部变量的..原创 2021-10-23 03:18:06 · 949 阅读 · 0 评论 -
Java程序开发一个窗体,在窗体中设置一个进度条,使进度条每次递增滚动。
package javase18;import javax.swing.*;import java.awt.*;public class javase18_3 extends JFrame{ private static final long serialVersionUID = 1L; final JProgressBar jprogressBar=new JProgressBar();//这个函数实现了进度条的控制,还自动实现了刷新 public javase18_.原创 2021-09-22 19:15:33 · 476 阅读 · 0 评论 -
Java程序开发一个窗体有两个按钮,一个是“开始”按钮,一个是“结束”按钮,当用户点击“开始”按钮时就在控制台打印一句话,反之则结束打印。
package javase18;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class javase18_2 extends JFrame { private static final long serialVersionUID=1L; JPanel panel=new JPanel(); //定义一个窗体按钮容器 JButton starbutton=new JBut.原创 2021-09-22 18:45:03 · 1527 阅读 · 0 评论 -
Java程序定义一个继承Thread类,并覆盖run()方法,在run()方法中每隔100毫秒打印一句话。
package javase18;public class javase18_1 extends Thread{ public void run(){ try{ String[] a={"Hello","Java","world","study","我要学习Java语言","Java编程词典能伴我学习、工作以及独立研发"}; for(int i=0;i<a.length;i++){ Syst.原创 2021-09-22 18:04:05 · 570 阅读 · 1 评论 -
Java定义一个泛型类,并使用通配符。
package javase17;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class javase17_3<T> { public void doSomething(javase17_3<? extends List<Object>> a){ System.out.println(a.getClass().g.原创 2021-09-22 16:55:29 · 213 阅读 · 0 评论 -
Java程序定义一个泛型类,使用extend 关键字限制泛型类为List接口,并分别创建两个泛型对象。
package javase17;import java.awt.*;import java.util.*;import java.util.List;public class javase17_2<T extends List> { //定义一个泛型类,使用extend 关键字限制泛型类为List接口 public static void main(String[] args) { //创建两个泛型对象 javase17_2<.原创 2021-09-22 16:45:10 · 730 阅读 · 0 评论 -
Java程序定义一个枚举类型类,使用switch语句获取枚举类型的值。
package javase17;public class javase17_1 { enum ConstantsTest{ // 将常量放置在枚举类型中 Constants_A,Constants_B; } public static void doit(ConstantsTest c) { // 定义一个方法,这里的参数为枚举类型对象 switch (c){ // 根据枚举类型对象做不同操作 .原创 2021-09-22 16:36:46 · 323 阅读 · 0 评论 -
Java程序利用反射初步验证用户输入的信息。
import java.awt.*;import java.awt.event.*;import java.lang.reflect.*;import javax.swing.*;public class Answer_1607 extends JFrame { private JTextField textField_2; private JTextField textField_1; private JTextField textFiel...原创 2021-09-22 16:04:32 · 286 阅读 · 0 评论 -
Java程序利用反射实现通用扩展数组长度的方法。
1原创 2021-09-22 15:38:46 · 227 阅读 · 0 评论 -
Java程序,实现当用户输入姓名和密码时,将每一个姓名和密码加载文件中,如果用户输入done,就结束程序。
package javase15;import java.io.FileOutputStream;import java.io.IOException;public class javase15_3 { static final int lineLength=81; public static void main(String[] args) { FileOutputStream fos; byte[] name=new byte[lineLen.原创 2021-09-21 01:38:55 · 620 阅读 · 0 评论 -
Java程序,使用字符输入、输出流读取文件,将一段文字加密后存入文件,然后再读取,并将加密前和加密后的文件输出。
11原创 2021-09-21 01:16:30 · 1196 阅读 · 0 评论 -
Java程序,实现读取文件时出现一个表示读取进度的进度条。可使用 javax.swing 包提供的输入流类ProgressMonitorInputStream。
package javase15;import javax.swing.*;import java.io.FileInputStream;public class javase15_1 { public static void main(String[] args) { byte b[]=new byte[2]; //获取的大小 try{ FileInputStream file=new FileInputStream("F://.原创 2021-09-18 00:33:46 · 420 阅读 · 0 评论 -
Java程序创建Map集合,创建Emp对象,并将Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为015的对象从集合中移除。
package javase14;/*Emp对象的id作为Map集合的键*/public class Emp { private String e_id; private String e_name; public Emp(String e_id,String e_name){ this.e_id=e_id; this.e_name=e_name; } //e_id public String getE_id(){.原创 2021-09-17 17:45:53 · 1514 阅读 · 0 评论 -
分别向Set集合以及List集合中添加“A” “a” “c” “C” “a” 5个元素,观察重复值“a” 能否重复地在List集合以及Set集合中添加。
package javase14;import java.util.HashSet;import java.util.LinkedList;import java.util.List;import java.util.Set;public class javase14_2 { public static void main(String[] args) { List<String> list =new LinkedList<>(); .原创 2021-09-17 17:03:56 · 952 阅读 · 0 评论 -
Java程序将1~100之间的所有正整数存放在List集合中,并将集合中索引位置是10的对象从集合中移除。
package javase14;import java.util.LinkedList;import java.util.List;public class javase14_1 { public static void main(String[] args) { List<Integer> list=new LinkedList<>(); //List用Integer类型 for (int i=1;i<=100;i+.原创 2021-09-17 16:54:25 · 2228 阅读 · 0 评论 -
Java程序创建Computer,该类中有一个计算两个数的最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常。
package javase12;/** 自定义异常* */public class MyException1 extends Exception{ String message; public MyException1(String ErrorMessage){ message=ErrorMessage; } public String getMessage(){ return message; }}packa.原创 2021-09-17 01:58:48 · 2323 阅读 · 0 评论 -
Java程序照片弄个创建类Number,通过类中的方法count可得任意两个数相乘的结果,并在调用该方法的主方法中使用try-catch语句捕捉可能发生的异常。
package javase12;public class Number { public static int count(int i,int j){ return i * j; } public static void main(String args[]) throws Exception{ try { int mul=count(6666,5555); Sy.原创 2021-09-17 01:42:00 · 2046 阅读 · 0 评论 -
Java程序编写一个异常类MyException,再编写一个Student,该类有一个产生异常的方法Speak(int m)。
要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主方法中创建Student对象,让该对象调用speak()方法。package javase12;public class MyException extends Exception { public MyException(String ErrorMessagr){ super(ErrorMessagr); //super 直接调用父类方法 }}packag原创 2021-09-17 01:33:02 · 3153 阅读 · 0 评论 -
Java编写一个静态内部类,在主方法中创建其内部类的实例。
package javase11;public class javase11_3 { static class a{ void f(){ System.out.println("f()"); } } public static void main(String args[]) { javase11_3.a u=new a(); u.f(); }}原创 2021-09-16 20:48:27 · 461 阅读 · 0 评论 -
Java程序将主方法编写到静态内部类中。然后在DOS中编译后出现的.class文件。
package javase11;public class javase11_2 { int x=2021; static class aa{ //静态内部类 void doitaa(){ } public static void main(String args[]) { System.out.println("a"); } }}原创 2021-09-16 20:42:39 · 221 阅读 · 0 评论 -
Java程序在方法中编写一个匿名内部类。
package javase11;public class javase11_1 {} class aa{ public bb doit(final String s){ //定义doit方法 return new bb(){ //声明匿名内部类 private int i=0; public int getValue(){ System.out.println(s); .原创 2021-09-16 19:15:50 · 406 阅读 · 0 评论 -
Java程序创建一个父类和子类,分别创建构造方法,然后向父类和子类添加成员变量和方法,并总结构建子类对象时的顺序。
package javase10;public abstract class javase10_3 { abstract void aa1(); javase10_3(){ System.out.println(" before aa1()"); aa1(); System.out.println(" after aa1()"); } public static void main(String[] args) { .原创 2021-09-16 18:08:58 · 2393 阅读 · 0 评论 -
Java程序创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,再创建一个对象,将向上转型到基类并调用这个方法。
package javase10;public class javase10_2 { public void aa(){ System.out.println("大葫芦娃"); //父类创建的方法1 } public void bb(){ System.out.println("二葫芦娃");//父类创建的方法2 } public static void main(String[] args) { javase1.原创 2021-09-16 17:49:54 · 1506 阅读 · 0 评论 -
Java程序创建一个抽象类,验证它是否可以实例化对象。
package javase10;public abstract class javase10_1 { abstract void doit(); public static void main(String[] args) { new javase10_1(); //抽象类实例化 }}得出结论:抽象类不能被实例化。原创 2021-09-16 17:37:18 · 552 阅读 · 0 评论 -
尝试改写BigDecimalDemo类中的div(double value1,double value2, int b, int r)方法,以不同近似处理模式处理商的精度。
package javase9;import java.math.BigDecimal;public class javase9_3 { public static BigDecimal div(double value1, double value2, int b,int r){ if (b<0){ System.out.println("以不同近似处理模式处理商的精度"); } BigDecimal b1=n.原创 2021-09-15 18:22:30 · 303 阅读 · 0 评论 -
Java程序开发一个定义求圆面积的方法,其中以圆半径作为参数,并将计算结果保留5位小数。
package javase9;import java.text.DecimalFormat;public class javase9_2 { static public void SimpleFormat(String pattern, double value){ DecimalFormat myFormat=new DecimalFormat(pattern); //实例化DecimalFormat对象 String put=myFormat..原创 2021-09-15 17:58:02 · 1306 阅读 · 0 评论