
Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Michael阿明
两个孩子的父亲,机械工程师,准备转行人工智能方向,一起加油吧!高举智慧,她就使你高升;怀抱智慧,她就使你尊荣。-- 箴言(4:8)
-
原创 Java 文件 IO 操作
文章目录1. File类2. RandomAccessFile类3. 流类3.1 字节流3.2 字符流3.3 管道流3.4 ByteArrayInputStream、ByteArrayOutputStream3.5 System.in、System.out3.6 打印流 PrintStream3.7 DataInputStream、DataOutputStream3.8 合并流3.9 字节流与字符流的转换3.10 IO包类层次关系4. 字符编码5. 对象序列化1. File类File 类 是 java.2021-03-02 22:53:1372
1
-
原创 Java 多线程
文章目录1. 进程、线程2. 认识线程 Thread2.1 继承 Thread 类实现多线程2.2 实现 Runnable 接口实现多线程2.3 两者对比3. 线程的状态4. 线程操作方法4.1 线程名称4.2 线程是否启动4.3 后台线程、setDaemon()4.4 线程的强制运行4.5 线程的休眠4.6 线程的中断 interrupt()5. 多线程的同步5.1 同步代码块5.2 同步方法5.3 死锁6. 线程间通信1. 进程、线程进程的特征是:进程就是一个执行中的程序,有自己独立的一块内存空2021-03-02 00:10:23159
3
-
原创 Java 给编译器看的注释--Annotation
文章目录1. 系统内建的Annotation2. 自定义Annotation3. Retention4. 反射 与 Annotation5. Target6. Documented7. Inherited将配置直接写入到程序之中:Annotation1. 系统内建的Annotation@Override,@Deprecated,@SuppressWarnings 等class Person5 { public String say(){ return "人在说话!";2021-03-01 20:46:2544
3
-
原创 Java enum枚举
文章目录1. 枚举例子2. 接口的实现3. 枚举中定义抽象方法enum 定义了枚举类型,其继承于 Enum 枚举类1. 枚举例子import java.util.EnumMap;import java.util.EnumSet;import java.util.Iterator;import java.util.Map;class EnumDemo { public enum Color{ RED, GREEN, BLUE } public stati2021-03-01 18:31:40142
4
-
原创 Java 集合框架(List、Set、Map、Iterator、Stack、Properties)
文章目录1. ArrayList2. LinkedList3. HashSet4. TreeSet5. Iterator、ListIterator6. HashMap相关文献:https://www.runoob.com/java/java-collections.html1. ArrayList类似动态数组 ArrayList al = new ArrayList(); System.out.println("al 的初始大小:" + al.size());2021-03-01 15:09:1145
2
-
原创 Java 自定义排序 Comparator
语法:class 比较器名 implements Comparator重写 int compare(Object o1, Object o2)import java.util.*;class comparatorDemo implements Comparator { public int compare(Object o1, Object o2) { String a, b; a = (String) o1; b = (String) o22021-03-01 13:53:2655
2
-
原创 Java 异常处理
文章目录1. 异常例子2. 异常处理3. 抛出异常4. 编写异常类1. 异常例子class TestTryCatch { public static void main(String[] args){ int arr[] = new int[5]; arr[7] = 10; System.out.println("end!!!"); }}输出:(越界)Exception in thread "main" java.lang.Arra2021-02-27 22:31:4352
0
-
原创 Java 包及访问权限
文章目录1. package 包2. import3. JDK常见的包4. 访问权限5. jar 压缩1. package 包作用:防止不同的人写的类的名称相同冲突了,package testPackage1.java;class testPg { public String talk(){ return "talk()"; }}class testAnother{ public static void main(String[] args){2021-02-27 21:41:3846
0
-
原创 Java 常用类库
文章目录1. String、StringBuffer2. 基本数据类3. System 类4. Runtime 类5. Date、Calendar、DateFormat 类6. Math、Random 类7. hashCode() 方法8. 对象克隆1. String、StringBufferpublic class testString { public static void main(String [] args) { String s = "Michael";2021-02-26 23:31:3162
1
-
原创 Java 关于类的专题
文章目录1. Object 类2. 内部类3. 覆写 Object 类的 equals 方法4. 接口对象实例化5. this() 调用无参构造方法6. static 属性所有对象共享一份7. static 方法不能调用 非static 属性8. 静态代码块9. final 关键字10. instanceof 关键字1. Object 类所有的类都是继承于 Object 类,该类有一个 toString() 方法,打印对象时调用class Person4 extends Object{ // exte2021-02-26 21:21:2538
1
-
原创 Java 抽象类、接口
abstract class抽象类定义规则如下:(1) 抽象类和抽象方法都必须用 abstract 关键字来修饰。(2) 抽象类不能被直接实例化,也就是不能用new关键字去产生对象。(3) 抽象方法只需声明,而不需实现。(4) 含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则这个子类还是抽象关。abstract class Person2 { // 抽象类 String name; int age; String occupa.2021-02-25 23:53:3667
0
-
原创 Java 类的封装、继承、多态
// 封装、继承、多态class Person1{ String name; int age; private int height;// 私有 封装 public Person1(String name, int age) { this.name = name; this.age = age; } public void talk() { System.out.println("This is2021-02-25 22:25:2351
2
-
原创 Java 类和对象
class Person { String name; int age; public Person(){}//构造函数,与类同名,没有返回值 public Person(String name, int age){ this.name = name; this.age = age; } String talk() { return "i am " + name + ", age " + age;2021-02-25 00:34:3236
0
-
原创 Java 数组及多维数组
注意一点,数组每行可以不等长可以两种写法,直接枚举初始化,或者new type [len1][len2]...import java.util.Arrays;public class Myarray { public static void main(String[] args) { // 一维数组声明 int arr1 [] = new int[3]; int [] arr2 = {4,5,6}; .2021-02-24 23:32:5141
0
-
原创 Java 运算符、表达式、语句
文章目录1. 运算符2. 表达式3. 语句1. 运算符赋值运算 =+, -, *, /, % 算术运算+, -, !, ~ 一元运算关系运算 >, <, >=, <=, ==, != 返回布尔递增++,递减--,支持(float,double)+1, -1逻辑运算 &&,||括号运算 (),提高优先级简洁写法 a += b, 等价 a = a + b,和 C++ 一样2. 表达式三元表达式 boolean ? exp1 : exp2类型转换2021-02-24 22:28:1733
0
-
原创 Java 变量、数据类型
文章目录1. 变量、常量2. 数据类型1. 变量、常量final 修饰常量public class Variable { static final int YEAR = 365; // 常量使用 final 修饰, 不可修改,类似C++的 const static int day = 0; // 成员变量 public static void main(String[] args) { System.out.println("2年2021-02-24 21:10:4038
2
-
原创 HelloJava,我的第一个Java程序
HelloWorld.javapublic class HelloWorld { // HelloWorld 需要和文件名一致,因为 public // 一个文件最多一个 public 类 // 如果该文件没有 public 类,则文件名随意取 public static void main(String[] args) { float i = 10.2f; i++;//浮点数可以 ++ System.out.println(i.2021-02-24 16:57:1676
0
-
原创 Java JDK 安装配置
文章目录1. 下载安装2. 配置环境变量3. 检查安装成功1. 下载安装下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html(需要注册下载)以下操作环境:WIN 102. 配置环境变量JAVA_HOME 为安装路径Path 添加 %JAVA_HOME%\bin,上移到第一条3. 检查安装成功cmd 输入 java -versioncmd 输入 javac.execmd 输入2021-02-24 11:05:0776
2