
Java笔记
文章平均质量分 60
Java的点点滴滴
好知识传播者
好知识,难找,如果遇见,请珍惜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 简介与主要特性
除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。原创 2022-11-19 15:49:39 · 169 阅读 · 0 评论 -
Java内置数据类型的学习笔记
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);原创 2022-11-20 11:51:52 · 106 阅读 · 0 评论 -
Java 条件语句 - if...else
if 语句的语法如下:if(布尔表达式) { //如果布尔表达式为true将执行的语句 }如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。原创 2022-11-21 15:44:47 · 343 阅读 · 0 评论 -
Java 序列化学习笔记
如果你想知道一个 Java 标准类是否是可序列化的,请查看该类的文档。Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。原创 2022-11-25 10:39:06 · 109 阅读 · 0 评论 -
Java 抽象类的学习笔记
尽管我们不能实例化一个 Employee 类的对象,但是如果我们实例化一个 Salary 类对象,该对象将从 Employee 类继承 7 个成员方法,且通过该方法可以设置或获取三个成员变量。在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。原创 2022-11-23 10:42:06 · 90 阅读 · 0 评论 -
Java 发送邮件的学习笔记
下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把 mail.jar 和 activation.jar 文件添加到您的 CLASSPATH 中。使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF)。您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。原创 2022-11-27 16:44:54 · 287 阅读 · 0 评论 -
Java 枚举(enum)学习笔记
enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口。Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。values(), ordinal() 和 valueOf() 方法。原创 2022-11-24 10:28:54 · 291 阅读 · 0 评论 -
Java 封装学习笔记
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。封装的优点1. 良好的封装能够减少耦合。2. 类内部的结构可以自由修改。3. 可以对成员变量进行更精确的控制。4原创 2022-11-23 10:43:58 · 135 阅读 · 0 评论 -
Java switch case 语句的学习笔记
如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。System.out.println("你需要再努力努力");转载 2022-11-22 10:09:22 · 736 阅读 · 0 评论 -
Java发展历史学习笔记
此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME。1999 年 6月,SUN 公司发布 Java 的三个版本:标准版(JavaSE, 以前是 J2SE)、企业版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)2001 年 6 月 5 日,NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机。原创 2022-11-19 15:48:07 · 95 阅读 · 0 评论 -
Java 异常处理学习笔记
如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。原创 2022-11-22 10:12:20 · 126 阅读 · 0 评论 -
Java 数据结构学习笔记
该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一"位",然后对位进行适当的设置或清除,就可以对布尔值进行操作了。例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。由于Dictionary类是抽象类,所以它只提供了键映射到值的数据结构,而没有提供特定的实现。你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。原创 2022-11-25 10:36:08 · 152 阅读 · 0 评论 -
Java 循环结构 - for, while 及 do...while
注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。然后,检测布尔表达式的值。如果为false,循环终止,开始执行循环体后面的语句。while 循环和 while 循环相似,不同的是,do…break 跳出最里层的循环,并且继续执行该循环下面的语句。原创 2022-11-21 15:42:51 · 164 阅读 · 0 评论 -
Java基本语法的学习笔记
当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。类名:对于所有的类来说,类名的首字母应该大写。一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。对象:对象是类的一个实例,有状态和行为。大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。类:类是一个模板,它描述一类对象的行为和状态。原创 2022-11-20 11:46:31 · 85 阅读 · 0 评论 -
Java 接口的学习笔记
正如EventListener接口,这是由几十个其他接口扩展的Java API,你可以使用一个标记接口来建立一组接口的父接口。这种情况是标记接口最初的目的,实现标记接口的类不需要定义任何接口方法(因为标记接口根本就没有方法),但是该类通过多态性变成一个接口类型。以上的程序片段是合法定义的子接口,与类不同的是,接口允许多继承,而 Sports及 Event 可以定义或是继承相同的方法。接口则包含类要实现的方法。类在实现接口的方法时,不能抛出强制性异常,只能在接口中,或者继承接口的抽象类中抛出该强制性异常。原创 2022-11-24 10:27:04 · 286 阅读 · 0 评论 -
Java 实例:如何执行编译过 Java 文件和如何执行指定class文件目录
Java 实例:如何执行编译过 Java 文件和如何执行指定class文件目录本文我们演示如何执行编译过的 HelloWorld.java 文件,其中 Java 代码如下:HelloWorld.java 文件public class HelloWorld { public static void main(String []args) { System.out.println("Hello World"); }}接下来我们使用 javac 命令来编译 Java 文件,执行该命令后在当原创 2022-12-03 10:09:03 · 906 阅读 · 0 评论 -
Java Applet 类的学习笔记
每一个 Applet 都是 java.applet.Applet 类的子类,基础的 Applet 类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务。除此之外,Applet 类还提供了一个接口,该接口供 Viewer 或浏览器来获取 Applet 的信息,并且来控制 Applet 的执行。Applet 类提供了对这些方法的默认实现,这些方法可以在需要的时候重写。得到包含 Applet 的 HTML 文件的网络位置。得到 Applet 类目录的网络位置。请求 Applet 识别的参数的描述。原创 2022-11-30 10:44:49 · 330 阅读 · 0 评论 -
Java发送一封 HTML E-mail的学习笔记
和上一个例子很相似,除了我们要使用 setContent() 方法来通过第二个参数为 "text/html",来设置内容来指定要发送HTML 内容。// 发送 HTML 消息, 可以插入html标签。// 创建默认的 MimeMessage 对象。// 指定发送邮件的主机为 localhost。// Set Subject: 头字段。// Set From: 头部头字段。// 获取默认的 Session 对象。// 文件名 SendHTMLEmail.java。// 收件人电子邮箱。// 发件人电子邮箱。原创 2022-11-27 16:47:16 · 668 阅读 · 0 评论 -
Java 实例 - 字符串小写转大写和测试两个字符串区域是否相等
Java 实例 - 字符串小写转大写和测试两个字符串区域是否相等Java 实例 - 字符串小写转大写以下实例使用了 String toUpperCase() 方法将字符串从小写转为大写:StringToUpperCaseEmp.java 文件public class StringToUpperCaseEmp { public static void main(String[] args) { String str = "string runoob"; String strU原创 2022-12-06 10:36:11 · 354 阅读 · 0 评论 -
Java 应用程序转换成 Applet学习笔记
Java 应用程序转换成 Applet学习笔记将图形化的 Java 应用程序(是指,使用AWT的应用程序和使用 java 程序启动器启动的程序)转换成嵌入在web页面里的applet是很简单的。下面是将应用程序转换成 Applet 的几个步骤:编写一个 HTML 页面,该页面带有能加载 applet 代码的标签。编写一个 JApplet 类的子类,将该类设置为 public。否则,Applet 不能被加载。消除应用程序的 main()方法。不要为应用程序构造框架窗口,因为你的应用程序要显示在浏览器中。将应用原创 2022-12-02 10:11:40 · 316 阅读 · 0 评论 -
Java通过继承Thread来创建线程学习笔记
继承类必须重写 run() 方法,该方法是新线程的入口点。它也必须调用 start() 方法才能执行。创建一个线程的第二种方法是创建一个新的类,该类继承 Thread 类,然后创建一个该类的实例。该方法尽管被列为一种多线程实现方式,但是本质上也是实现了 Runnable 接口的一个实例。// 让线程睡眠一会。原创 2022-11-29 15:45:02 · 115 阅读 · 0 评论 -
Java 实例 - 字符串分割和字符串分隔
Java 实例 - 字符串分割和字符串分隔Java 实例 - 字符串分隔(StringTokenizer)Java 中我们可以使用 StringTokennizer 设置不同分隔符来分隔字符串,默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)。以下实例演示了 StringTokennizer 使用空格和等号来分隔字符串:更多 StringTokennizer 介绍可以查看:Java StringTokenizer 类使用方法JavaStringSplitEmp.java 文件import原创 2022-12-05 10:08:28 · 1753 阅读 · 0 评论 -
Java 实例-如何编译 Java 文件
Java 实例-如何编译 Java 文件本文我们演示如何编译 HelloWorld.java 文件,其中 Java 代码如下:HelloWorld.java 文件public class HelloWorld { public static void main(String []args) { System.out.println("Hello World"); }}接下来我们使用 javac 命令来编译 Java 文件,并使用 java 命令执行编译的文件:c:\jdk\demoa原创 2022-12-03 10:05:33 · 551 阅读 · 0 评论 -
Java 实例 - 字符串优化和字符串性能比较测试
Java 实例 - 字符串优化和字符串性能比较测试Java 实例 - 字符串优化以下实例演示了通过 String.intern() 方法来优化字符串:StringOptimization.java 文件public class StringOptimization { public static void main(String[] args){ String variables[] = new String[50000]; for( int i=0;i原创 2022-12-06 10:38:45 · 168 阅读 · 0 评论 -
Java 实例-字符串比较和查找字符串最后一次出现的位置
Java 实例-字符串比较和查找字符串最后一次出现的位置Java 实例 - 字符串比较以下实例中我们通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) 来比较两个字符串,并返回字符串中第一个字母ASCII的差值。实例代码如下:StringCompareEmp.java 文件public class StringCompareEmp{ public static void main(Strin原创 2022-12-04 10:43:48 · 906 阅读 · 0 评论 -
Java通过实现 Runnable 接口来创建线程的学习笔记
这里,threadOb 是一个实现 Runnable 接口的类的实例,并且 threadName 指定新线程的名字。你可以重写该方法,重要的是理解的 run() 可以调用其他方法,使用其他类,并声明变量,就像主线程一样。在创建一个实现 Runnable 接口的类之后,你可以在类中实例化一个线程对象。创建一个线程,最简单的方法是创建一个实现 Runnable 接口的类。新线程创建之后,你调用它的 start() 方法它才会运行。// 让线程睡眠一会。原创 2022-11-29 15:43:33 · 578 阅读 · 0 评论 -
Java 实例:删除字符串中的一个字符和字符串替换
Java 实例:删除字符串中的一个字符和字符串替换Java 实例 - 删除字符串中的一个字符以下实例中我们通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中。实例代码如下:Main.java 文件public class Main { public static void main(String args[]) { String str = "this is Java"; System.out.println(re原创 2022-12-04 10:46:08 · 873 阅读 · 0 评论 -
Java之Applet 使用 AudioClip接口播放音频学习笔记
为了得到 AudioClip 对象,你必须调用 Applet 类的 getAudioClip() 方法。无论 URL 指向的是否是一个真实的音频文件,该方法都会立即返回结果。Applet 能通过使用 java.applet 包中的 AudioClip 接口播放音频。public void play(): 从一开始播放音频片段一次。你可以使用你电脑上的 test.wav 来测试上面的实例。public void loop(): 循环播放音频片段。public void stop(): 停止播放音频片段。原创 2022-12-02 10:14:03 · 1022 阅读 · 0 评论 -
Java 实例:字符串搜索和字符串反转
Java 实例:字符串搜索和字符串反转Java 实例 - 字符串搜索以下实例使用了 String 类的 indexOf() 方法在字符串中查找子字符串出现的位置,如果存在返回字符串出现的位置(第一位为0),如果不存在返回 -1:SearchStringEmp.java 文件public class SearchStringEmp { public static void main(String[] args) { String strOrig = "Google Runoob Taobao";原创 2022-12-05 10:05:11 · 169 阅读 · 0 评论 -
Java 实例 - 连接字符串和字符串格式化
Java 实例 - 连接字符串和字符串格式化Java 实例 - 连接字符串以下实例演示了通过 "+" 操作符和StringBuffer.append() 方法来连接字符串,并比较其性能:StringConcatenate.java 文件public class StringConcatenate { public static void main(String[] args){ long startTime = System.currentTimeMillis(); for原创 2022-12-07 10:29:47 · 129 阅读 · 0 评论 -
Java Applet 的调用学习笔记
Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API 支持,所以 Applet 是一个全功能的 Java 应用程序。原创 2022-12-01 10:04:51 · 325 阅读 · 0 评论 -
Java 获得applet参数学习笔记
parseSquareSize() 调用了库方法 Integer. parseInt() 该方法将一个字符串解析为一个整数,当参数无效的时候,Integer.parseInt() 抛出异常。在加载 Applet 之后,Viewer 立即调用 init() 方法(Applet.init()什么也没做),重写该方法的默认实现,添加一些自定义的初始化代码。parseColor() 方法做了一系列字符串的比较,来匹配参数的值和预定义颜色的名字。第二种颜色和每一列的大小通过文档中的 Applet 的参数指定。原创 2022-12-01 10:06:10 · 389 阅读 · 0 评论 -
Java发送带有附件的 E-mail的学习笔记
下面是一个发送带有附件的 E-mail的例子。// 创建默认的 MimeMessage 对象。// 指定发送邮件的主机为 localhost。// Set Subject: 头字段。// Set From: 头部头字段。// 获取默认的 Session 对象。// 文件名 SendFileEmail.java。// Set To: 头部头字段。编译并运行你的程序来发送一封带有附件的邮件。// 设置文本消息部分。// 收件人电子邮箱。// 发件人电子邮箱。// 设置邮件服务器。原创 2022-11-28 10:43:26 · 329 阅读 · 0 评论 -
Java 多线程编程学习笔记
当sleep() 状态超时,join() 等待线程终止或超时,或者 I/O 处理完毕,线程重新转入就绪状态。如果就绪状态的线程获取 CPU 资源,就可以执行 run(),此时线程便处于运行状态。处于运行状态的线程最为复杂,它可以变为阻塞状态、就绪状态和死亡状态。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。一个运行状态的线程完成任务或者其他终止条件发生时,该线程就切换到终止状态。原创 2022-11-28 10:45:46 · 85 阅读 · 0 评论 -
Java Applet 基础和Applet的生命周期的学习笔记
paint: 该方法在 start() 方法之后立即被调用,或者在 Applet 需要重绘在浏览器的时候调用。stop: 当用户从包含 Applet 的页面移除的时候,该方法自动被调用。用户机器上的 JVM 创建一个 Applet 类的实例,并调用 Applet 生命周期过程中的各种方法。Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。原创 2022-11-30 10:43:10 · 303 阅读 · 0 评论 -
Java 实例 - 获取年份、月份等和时间戳转换成时间
/ 时间戳转换成时间。System.out.println("一周的第几天: " + dow);System.out.println("当期时间: " + cal.getTime());System.out.println("一月中的第几天: " + dom);System.out.println("一年的第几天: " + doy);原创 2022-12-12 15:25:37 · 1980 阅读 · 0 评论 -
Java 实例 - instanceof 关键字用法和break 关键字用法
它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。System.out.println("对象是 " + o.getClass() + " 类的实例");System.out.println("对象是 java.util.ArrayList 类的实例");System.out.println(no + " 元素的索引位置在: " + i);System.out.println("对象是 java.util.Vector 类的实例");Main.java 文件。原创 2022-12-14 10:25:11 · 225 阅读 · 0 评论 -
Java 实例 - 格式化时间和获取当前时间
System.out.println("现在时间:" + sdf.format(date));// 输出已经格式化的现在时间(24小时制)sdf.applyPattern("yyyy-MM-dd HH:mm:ss a");以下实例演示了如何使用 SimpleDateFormat 类的 format(date) 方法来格式化时间。Java 实例 - 格式化时间(SimpleDateFormat)现在时间:2015-03-27 21:27:28 下午。Java 实例 - 格式化时间和获取当前时间。原创 2022-12-11 17:39:14 · 205 阅读 · 0 评论 -
Java 实例 - 汉诺塔算法和斐波那契数列
大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368……后来,这个传说就演变为汉诺塔游戏,玩法如下:。2.每次移动一块碟子,小的只能叠在大的上面。原创 2022-12-13 09:18:04 · 125 阅读 · 0 评论 -
Java 实例 – 打印菱形和 九九乘法表
/ \t 跳到下一个TAB位置。// 输出左上角位置的空白。// 输出菱形上半部边缘。// 输出菱形左下角空白。// 输出菱形下半部边缘。// 输出 8 行的菱形。Java 实例 – 打印菱形和 九九乘法表。Java 实例 – 打印菱形。原创 2022-12-16 09:24:49 · 290 阅读 · 0 评论