
Java
Java学习之路
Data菌
这个作者很懒,什么都没留下…
展开
-
Java多线程
本篇介绍Java多线程。能够并发执行任务。但要注意的是线程创建太多,会导致CPU 花费在上下文的切换的时间将多于执行程序的时间。程序执行效率反而降低。创建线程方式有以下3种1.通过实现Runnable接口创建线程;2.通过继承Thread类创建线程;3.通过 Callable 和 Future 创建线程;package com.example.javatest;/** * Author:W * 通过实现Runnable接口来实现 */public class Thread1原创 2021-08-13 16:50:31 · 149 阅读 · 0 评论 -
Java对象的序列化和反序列化
对象的序列化:将对象转换成字节序列,并可以写入文件,保存到硬盘上,ObjectOutputStream类。对象反序列化:从文件中读取字节流,并转换成对象。ObjectInputStream类。package com.example.javatest;/** * Author:W * 玩家类对象可序列化,则需要实现接口Serializable */public class Player implements java.io.Serializable{ public String原创 2021-08-13 10:57:21 · 235 阅读 · 0 评论 -
Java泛型类与泛型函数
泛型:所操作的数据类型被指定为一个参数,即数据类型参数化。避免重复写类似的功能代码。package com.example.javatest;//包名定义/** * Author:W * 泛型:所操作的数据类型被指定为一个参数,数据类型参数化。 * 1)泛型类:在类名后面添加了类型参数声明部分。 * 2)泛型方法:该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。 */public class MainTest{ publi原创 2021-08-12 20:49:28 · 2473 阅读 · 0 评论 -
Java散列表HashMap
本篇介绍以键值对形式存储数据的结构HashMap。主要介绍它的4种遍历方式。package com.example.javatest;//包名定义/** * Author:W * Map * HashMap:一个散列表,它存储的内容是键值对(key-value)映射。 */import java.util.*;import java.util.HashMap;public class MainTest { public static void main(String[] a原创 2021-08-12 19:45:51 · 246 阅读 · 0 评论 -
Java常用集合
本篇介绍ArrayList、LinkedList以及HashSet集合。1)ArrayList:一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制。 一个数组队列,提供了相关的添加、删除、修改、遍历等功能。2)LinkedList: 类似于 ArrayList,与 ArrayList 相比,LinkedList 的增加和删除对操作效率更高,而查找和修改的操作效率较低。3)HashSet:基于 HashMap 来实现的,是一个不允许有重复元素的集合。不是线程安全的。pac..原创 2021-08-12 19:17:42 · 200 阅读 · 0 评论 -
Java类继承、方法重写与重载、抽象类和抽象方法以及接口
1.继承:父类和子类之间是层级结构关系,子类通过继承父类拥有父类的非private的属性和方法。提高了代码的复用性。1)单继承:只能允许继承自一个父类;2)子类可以扩展,即拥有自己的属性和方法;3)子类可以重写父类的方法;4)super关键字来实现对父类成员的访问,用来引用当前对象的父类。this关键字:指向自己的引用。5)final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。6)子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或原创 2021-08-12 15:03:39 · 3822 阅读 · 0 评论 -
Java文件操作
本篇介绍文件的IO操作。下面这张图清晰地描述了关于IO流操作的API。这里介绍其中一种:FileOutputStream和FileInputStream。package com.example.javatest;import java.io.*;import java.io.FileOutputStream;import java.io.IOException;/** * Author:W * 文件操作 * 1.目录的操作 * 2.文件操作:创建、文件流输入输出 */.原创 2021-08-11 19:24:12 · 117 阅读 · 0 评论 -
Java异常处理
本篇介绍Java的异常处理机制:1.try..catch..finally[可选]异常捕获处理。2.throws:用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。调用者要申明抛出异常或者捕获,不然编译报错。3.throw:用在方法体内,可以不申明或不捕获,编译器不会报错。具体向外抛异常的是一个异常实例。但调用者需要捕获处理一下。package com.example.javatest;/** * Author:W * 异常处理 * 1.throws:用在方法声明后面,表示原创 2021-08-11 17:13:58 · 132 阅读 · 0 评论 -
Java函数
本篇介绍函数的定义,构造函数、finalize()函数、函数重载、可变参数等。package com.example.javatest;/** * Author:W * 函数 * 1.构造函数:对象创建时,自动调用默认调用,可以重载 * 2.finalize()函数:类似C++里析构函数,在对象销毁时调用 * 3.函数重载:名称相同,但返回值、参数类型、数量或顺序不一样的函数 * 4.可变参数函数:同类型的参数,单数量不明确的函数 */class Dog{ public原创 2021-08-11 15:51:50 · 196 阅读 · 0 评论 -
Java日期时间Date和Calendar类
本篇介绍关于时间日期操作的类Date和Calendar类一些API函数使用。package com.example.javatest;import java.util.*;import java.util.Date;import java.text.*;import java.util.Timer;/** * Author:W * 时间日期 * 1.Date类:封装了当前的日期和时间。 * 2.Calendar类:能够设置和获取日期数据的特定部分 * 3.GregorianCa原创 2021-08-11 15:12:31 · 185 阅读 · 0 评论 -
Java数组
本篇介绍数组的定义包括一维数组和二维数组,另外是数组对应的操作类Arrays类 一些常用API函数。package com.example.javatest;import java.lang.reflect.Array;import java.util.Arrays;/** * Author:W * 数组 */public class MainTest { public static void main(String[] args) { System原创 2021-08-11 11:13:12 · 140 阅读 · 0 评论 -
Java字符操作类StringBuffer与StringBuilder
当需要对字符串频繁进行修改操作时,建议使用StringBuffer或者StringBuilder类。因为操作过程中不会产生新的对象。1)StringBuilder:不是线程安全的(不能同步访问),但有速度优势。一般情况下建议使用StringBuilder;2)StringBuffer:线程安全,可同步访问。package com.example.javatest;/* *Author:W * 当需要对字符串进行频繁修改时,建议使用如下2个字符串类,因为操作时不产生新的未使用对象。 *原创 2021-08-11 10:14:27 · 457 阅读 · 0 评论 -
Java字符串String
本篇介绍字符串处理类String一些常用API:连接、判空、截取、连接、包含字符串检测、返回字符索引等等。package com.example.javatest;/* *Author:W * String类 */public class MainTest { public static void main(String[] args) { System.out.println("====String字符串类===="); String原创 2021-08-11 09:52:25 · 122 阅读 · 0 评论 -
Java字符操作类Character
本篇介绍字符操作类Character类。package com.example.javatest;/* *Author:W * Character类 */public class MainTest { public static void main(String[] args) { System.out.println("====Character字符类===="); Character a = 'X';//字符进行了“装箱”操作原创 2021-08-10 20:58:28 · 179 阅读 · 0 评论 -
Java的数学运算Math类函数
本篇介绍关于一些数学运算的封装类Math的一些常用函数。绝对值、正余弦、平方根、四舍五入、随机数等等。package com.example.javatest;/* *Author:W * Math函数运算 */public class MainTest { public static void main(String[] args) { float a = -1.45f; int b = 3; int c = 7;原创 2021-08-10 17:03:00 · 541 阅读 · 0 评论 -
Java条件语句
本篇介绍Java的条件语句:if..else语句以及switch..case语句。package com.example.javatest;/** * Author:W * 条件语句 * 1.if..else语句 * 2.switch..case语句 */public class IfTest { //if..else语句 public void method1() { System.out.println("===if..else if..e原创 2021-08-10 11:43:51 · 164 阅读 · 0 评论 -
Java运算符
本篇介绍Java的运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、instanceof运算符。package com.example.javatest;/** * Author:W * 运算符 * 1.算术运算符 * 2.关系运算符 * 3.位运算符 * 4.逻辑运算符 * 5.赋值运算符 * 6.其他运算符:条件运算符、instanceof运算符 */public class OperatorTest { //算术运算符原创 2021-08-10 11:25:43 · 120 阅读 · 0 评论 -
Java循环
本篇介绍Java的循环结构:while/do..while/for;另外是break和continue语句的运用。package com.example.javatest;/** * Author:W * 循环 * 1.while * 2.do..while:至少执行一次 * 3.for * 4.类似foreach的for增强型循环 * 5.关键字:break,跳出与其最接近的一层循环 * 6.关键字:continue,跳出本次循环,继续下一次循环 */public class原创 2021-08-09 21:13:23 · 145 阅读 · 0 评论 -
Java的变量与常量
本篇介绍Java语言的变量的类型:局部变量、实例变量以及静态变量定义与使用;常量的定义与使用。package com.example.javatest;/* *Author:W * 变量: * 1)局部变量:在方法、构造方法中声明,执行完成后,会自动销毁;栈中分配,并且不会自动初始化。 * 2)实例变量:类中声明,对类中所有方法可见;在对象创建的时候创建,在对象被销毁的时候销毁;会默认初始化。 * 3)静态变量:static修饰,类中声明,无论一个类创建了多少个对象,类只拥有类变量的一份拷原创 2021-08-09 20:26:41 · 144 阅读 · 0 评论 -
Java基本数据类型
本篇介绍Java的基本数据类型。package com.example.javatest;/* *Author:W * 基本数据类型 *//*枚举型*/enum channelType{ QQ, XiaoMi, HuaWei}public class MainTest { //字节型 private static byte byte1 = 12; //短整型 private static short short1 = 35原创 2021-08-09 19:29:16 · 194 阅读 · 0 评论 -
Java开发环境搭建
本篇开始,笔者将会系统学习Java语言,陆续会发布一些关于java基础知识的文章。当前篇博客主要介绍Java开发环境的搭建。笔者在大学时代,用的是Eclipse集成开发工具,这次使用AndroidStudio。可以在http://www.android-studio.org/下载。现在利用AndroidStudio工具编写第1个Java项目“Hello World”。1)先创建一个Android项目2)在该Android项目中创建一个Moudle3)打开MainT...原创 2021-08-09 17:32:39 · 1115 阅读 · 0 评论