Java教程
文章平均质量分 54
凡我出品,皆属精品
这个作者很懒,什么都没留下…
展开
-
#Java执行cmd命令 #Java调用cmd命令 @FDDLC
核心语法:Runtime.getRuntime().exec("命令");示例1:打开记事本class Solution{ public static void main(String[] args)throws Exception{ String cmd="notepad"; Runtime.getRuntime().exec("cmd.exe /C start "+cmd); }}示例2:打开组策略class Solut原创 2021-12-17 16:48:21 · 251 阅读 · 0 评论 -
#Java字节码:5种方法调用指令 #虚方法 @FDDLC
一、概述在Java字节码中,有5种用于方法调用的指令:1、invokevirtual:最常见,调用所有的虚方法和final方法(final方法不是虚方法)。2、invokespecial:调用private方法和构造方法<init>()和父类中的方法。3、invokeinterface:与invokevirtual类似,调用接口方法(在运行期而非编译期确定接口的实现对象)4、invokestatic:调用static方法5、invokedynamic:在运行期解析出所引用原创 2021-05-30 00:22:00 · 411 阅读 · 0 评论 -
#Java正则表达式 #删除多余空行 @FDDLC
一、Java正则中的常见表示: \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,n匹配字符n。\n匹配换行符。序列\\\\匹配\\,\\(匹配(。 ^ 匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^ 还会与"\n"或"\r"之后的位置匹配。 $ 匹配输入字符串结尾的位置。如果设置了RegExp对象的Multil...原创 2021-05-28 23:31:40 · 469 阅读 · 0 评论 -
#Java:数的类型和进制的表示 #基本类型的判断(相当于typeof) @FDDLC
一、进制1、二进制:0b***(零b开头的0、1序列)2、八进制:0***(零开头,后面为0-7)3、十六进制:0x***(零x开头,后面为0-9,a-f,A-F)二、数的类型0、基本类型的判断(相当于typeof):后续会用到class Main{ public static void judge(Object o){ if(o instanceof Integer) System.out.println("int"); ...原创 2021-05-28 21:05:20 · 239 阅读 · 0 评论 -
#Java重载(Overload) @FDDLC
一、重载(Overload)示例示例a:示例b:class Calculator{ public void show(){ System.out.println("空"); } public void show(int a){ System.out.println("int:"+a); }}class Computer extends Calculator{ public void show(double a){原创 2021-05-28 17:01:14 · 59 阅读 · 0 评论 -
#Java重写(override) @Override的作用 @FDDLC
一、重写(override)示例示例a:示例b:二、重写(override)的概念提炼子类对父类中相应方法的重写(父类方法有方法体,见示例a)或实现(父类方法无方法体,见示例b)三、@Override的作用以上面的示例b为例:上面我给work这个方法加了@Override后,编译器就知道:Bike的work方法源自父类Tool,即work这个方法在父类Tool中也有。如果父类Tool中没有相同签名的work方法,编译器就会报错。如果不加@Overr..原创 2021-05-28 16:16:31 · 236 阅读 · 0 评论 -
#Java:读取全部文件内容到String中 @FDDLC
需求:如题需求来源:在@ResponseBody方法中给客户端请求响应一个String类型的页面实现:1、项目结构:2、data.html:<html><head> <meta charset="UTF-8"></head><body><h3>Hello</h3></body></html>3、Main.java:import ...原创 2021-05-20 09:55:12 · 278 阅读 · 0 评论 -
#Java命令:java、javap #Java反汇编:简单的例子 @FDDLC
一、javac命令:编译上面支持中文!上面仅支持英文!总结:javac命令可以把java源文件(.java)编译成字节码文件(.class)二、java命令:执行(必须要有main方法)注意:上面执行的是Test.class文件,命令中不能有拓展名!二、javap命令:反汇编示例1:只显示反汇编后的Java代码示例2:既显示反汇编后的Java代码,也显示字节码指令(Java语言的汇编指令)C:\Users\FDDLC\...原创 2021-05-08 12:06:49 · 208 阅读 · 0 评论 -
#Java命令行编译:错误: 编码 GBK 的不可映射字符 (0xB2) @FDDLC
问题:使用命令行编译时报错:原因:编码有问题解决:原创 2021-05-08 11:32:18 · 195 阅读 · 0 评论 -
#Java:intern #字符串:equals == @FDDLC
一、equals:形式:a.equals(b)1、用途:比较两个对象是否相等如果a、b类型不同,结果肯定为false。下面的论述都是a、b类型相同的情况。2、如果对象所属的类没有重写equals,则调用Object的equals方法:上面牵扯到==,这里提前讲一下:对于非数值对象来说,==比较的是两个对象的引用地址是否相等,即指向的是否是同一个对象。3、如果对象所属的类重写了equals,则按重写之后的规则进行比较示例:String类型重写了equals...原创 2021-05-08 09:42:37 · 110 阅读 · 2 评论 -
#Java:switch @FDDLC
一、switch的一般用法import java.util.Scanner;class Test{ public static void main(String[] args) { Scanner in=new Scanner(System.in); int grade;//[0,60)为C,[60,80)为B,[80,100]为A。grade属于[0,100] while((grade=in.nextInt())>=0&&am原创 2021-05-07 21:40:03 · 947 阅读 · 0 评论 -
#Java:enum #枚举类 @FDDLC
一、枚举的用途枚举是Java中一种特殊的类,因而也叫枚举类。一般用来表示一类事物的多个状态/形态等,比如季节之于春夏秋冬,性别之于男女,等等。二、枚举的简单例子1、定义枚举类:2、使用枚举类:输出:三、对二中例子的深入剖析1、对Sex.java进行反汇编:javap Sex.class注:javap,jdk自带的反汇编器(对class文件进行反汇编)从反汇编的结果进行分析,可以得出如下结论:a、用enum标志的枚举类默认继承了java...原创 2021-05-07 18:22:02 · 219 阅读 · 0 评论 -
#Java序列化、反序列化、Serializable、serialVersionUID @FDDLC
一、概念与用途1、序列化:把对象转化成方便存储与传输的字节序列的过程。2、反序列化:把字节序列还原成对象的过程。3、Serializable序列化接口。空接口。只是一个标志,接口中无任何内容。4、serialVersionUIDSerializable的辅助属性,可由系统隐式生成,也可由用户自行指定。5、序列化与反序列化的用途:将对象保存在存储介质中,以便下次使用;或在网络中进行传输,以便在另一端使用。二、代码测试1、由系统自动生成serialVe..原创 2021-05-07 14:10:51 · 144 阅读 · 0 评论 -
#Java:增强for循环的小问题:值传递与引用传递 @FDDLC
一、值传递:二、引用传递:import java.util.Arrays;import java.util.LinkedList;import java.util.List;class User{ public String name; public int age; public User(String name,int age){ this.name=name; this.age=age; } @O.原创 2021-05-06 00:27:27 · 608 阅读 · 0 评论 -
#Java:<<、>>、>>> @FDDLC
一、<<class Test{ public static void main(String[] args) { System.out.println(Integer.toBinaryString(-1)+":32个1,其值为-1"); System.out.println(Integer.toBinaryString(2<<1)+": 2<<1"); System.out.println(Integer.toBi原创 2020-12-19 20:53:16 · 406 阅读 · 2 评论 -
#Java中的运算符优先级 #算符优先级、结合方向 @FDDLC
Java中的算符优先级:原创 2020-12-11 18:46:54 · 132 阅读 · 0 评论 -
#Writer、OutputStreamWriter、FileWriter @FDDLC
一、Writer:public abstract class Writer implements Appendable, Closeable, Flushable1、Writer的家谱(部分):2、Writer的相关方法:1)flush:abstract public void flush():将内存中的内容刷到目标中2)abstract public void close():先flush,再关闭流。关闭后不能再write或flush3)public ...原创 2020-12-06 20:28:44 · 318 阅读 · 0 评论 -
#Java教程:字符输入流 #Reader、FileReader、InputStreamReader @FDDLC
一、Reader:public abstract class Reader implements Readable, Closeable1、Reader的部分朋友圈2、Reader的相关方法:1、close:关闭输入流2、public int read():读取一个字符,以整数形式返回3、public int read(char cbuf[]):正常情况下会读取cbuf.length个字符到cbuf数组中4、abstract public ...原创 2020-12-06 19:12:23 · 201 阅读 · 0 评论 -
$力扣 LeetCode231. 2的幂 #在所有Java提交中击败了100%的用户 @FDDLC
题目描述:231. 2的幂 - 力扣(LeetCode) (leetcode-cn.com)Java代码:class Solution { public boolean isPowerOfTwo(int n) { return n>0&&1073741824%n==0; }}原创 2020-12-06 18:34:21 · 123 阅读 · 0 评论 -
#FileInputStream与FileOutStream的综合案例 @FDDLC
相关阅读:#Java教程:InputStream、FileinputStream #Java字符输入流 @FDDLC#Java教程:OutputStream、FileOutputStream #Java字节输出流 @FDDLC案例需求:复制一个文件实现一:...原创 2020-12-06 16:03:26 · 120 阅读 · 0 评论 -
#Java教程:InputStream、FileinputStream #Java字符输入流 @FDDLC
一、InputStream...原创 2020-12-06 11:26:15 · 1486 阅读 · 0 评论 -
#Java教程:OutputStream、FileOutputStream #Java字节输出流 @FDDLC
一、OutputStream抽象类:OutputStream是所有字节输出流的父类!1、OutputStream的部分朋友圈:2、OutputStream的相关方法:1)flush:把暂存在内存中的数据写出去2、close:关闭输出流,并释放相关资源3、public abstract void write(int b):写一个字节(ASCII值)4、public void write(byte b[]):一次性写数组长度这么多个(b.len...原创 2020-12-06 09:10:14 · 422 阅读 · 0 评论 -
#Java教程:listFiles、文件过滤器、FileFilter、FilenameFilter查找特定文件或目录 @FDDLC
一、查找所有包含vip这3个连续字符的文件或目录测试目录的结构:需要实现:import java.io.File;class Solution{ public static void printTarget(File file,String keyword){ String filename=file.getName(); if(filename.contains(keyword)) System.out.println(filename);原创 2020-12-05 20:10:57 · 636 阅读 · 0 评论 -
$Java教程:断言、assert、IDEA设置断言 #Java断言 @FDDLC
一、编写断言相关的代码import java.util.Scanner;class Solution{ public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int num=scanner.nextInt(); assert num<=100:"num必须小于等于100!"; //如果不满足冒号前面的条件,就会提示冒号后面的内容原创 2020-12-05 19:32:21 · 228 阅读 · 0 评论 -
#File类:length、list、listFiles、setReadOnly、setWritable、setReadable、renameTo、打印目录结构 @FDDLC
1、setReadOnly:public boolean setReadOnly()官方说明:Marks the file or directory named by this abstract pathname so that only read operations are allowed. After invoking this method the file or directory will not change until it is either deleted or marked t原创 2020-12-05 14:37:19 · 259 阅读 · 0 评论 -
#Java教程:File类:文件、目录的创建、删除、判断、getXXX、canXXX @FDDLC
一、File类的作用:源码中的简介:意思是说:File类是文件或目录的抽象表示。也就是说,File可以表示一个文件,也可以表示一个目录。那何为抽象呢?File不等同于真实的文件或文件夹,只是封装了一些对它们的操作而已。二、创建一个File对象1、方法:代码:import java.io.File;class Solution{ public static void main(String[] args) { File file=new .原创 2020-12-05 11:43:26 · 468 阅读 · 0 评论 -
#StringBuilder中的append方法 @FDDLC
StringBuilder中的append方法有很多重载形式:核心实现在其父类AbstractStringBuilder中。一、public StringBuilder append(char c) public AbstractStringBuilder append(char c) { ensureCapacityInternal(count + 1); value[count++] = c; return this; ..原创 2020-12-04 19:28:15 · 1983 阅读 · 0 评论 -
#Java教程:求整数位数 #判断整数有多少位 @FDDLC
最近阅读JDK源码时发现一个有用的API:(在Integer中)其源码如下:说明:直接用的话要求是非负整数!不过,因为这个方法的访问修饰符是缺省的,即同胞(同包,这里是java.lang)和自己才可见!所以要用的话,只能复制或仿制一下: final static int [] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999, 99.原创 2020-12-04 19:00:53 · 433 阅读 · 2 评论 -
#Java教程:访问修饰符:public、protected、缺省、private @FDDLC
Java中修饰符有很多,其中访问修饰符有4个,开放程度从高到低依次是:public、protected、缺省(即不加访问修饰符)、private。开放程度的等级从高到低为(前面的包含后面的):所有类可见、子类可见、同一个包中的类可见、仅自己(本类)可见。不服测个试!工程结构:因为简单,public就不测试了。下面以Provider为研究对象!Provider:自己嘛,都能访问!User1:除了private,其他都能访问User2:...原创 2020-12-04 18:40:05 · 257 阅读 · 0 评论 -
#Java教程:子类作为父类方法的参数 @FDDLC
分享一个发现:子类可以作为父类方法中的参数。代码如下:class Sup{ //父类 int num; int sum(Sub a,Sub b){return a.num+b.num;}}class Sub extends Sup{ } //子类class Main{ public static void main(String[] args) { Sub a=new Sub(),b=new Sub(); //子类对象 a.num=原创 2020-12-04 15:55:56 · 775 阅读 · 0 评论 -
#Java教程:字符的位运算:& | ^ @FDDLC
一、与:&class Solution{ public static void main(String[] args) { char zero='0',one='1'; System.out.println("zero:"+(int)zero); System.out.println("one:"+(int)one); System.out.println("zero&zero:"+(zero&zero))原创 2020-12-04 15:24:06 · 418 阅读 · 0 评论 -
#JDK1.8后的Lambda表达式 @FDDLC
一、多线程碰到的麻烦class Solution{ public static void main(String[] args) { Runnable runnable=new Runnable() { @Override public void run() { System.out.println("你好啊!"); } }; //创建线程任务原创 2020-12-04 11:07:20 · 202 阅读 · 0 评论 -
#Java中的匿名实现类和匿名子类:简单代码示例 @FDDLC
一、匿名实现类Runnable接口的匿名实现类:class Solution{ public static void main(String[] args) { Runnable runnable=new Runnable() { @Override public void run() { System.out.println("666"); } }; /原创 2020-12-04 09:48:38 · 357 阅读 · 0 评论 -
#Java线程池的简单代码示例:ExcutorService、Excutors.newFixedThreadPool、submit、shutdown @FDDLC
代码:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;class Solution{ public static void main(String[] args) { ExecutorService executorService= Executors.newFixedThreadPool(2); //创建一个线程数量固定(2个线程)的线程池原创 2020-12-04 08:42:25 · 569 阅读 · 0 评论 -
#Java教程:wait、nofity、nofityAll @FDDLC
一、Object类:对象之祖1、getClass方法:返回一个Class对象...原创 2020-12-03 19:05:44 · 216 阅读 · 0 评论 -
#Java教程:Class类@FDDLC
一、Class类Class类的朋友圈:Class类对外提供的一些方法(绿锁):1、重写了Object类的toString方法;getName方法:获取全限定类名getName方法:重写的toString方法:示例:package cn.edu.nenu;class Person{ private String name; public Person(String name){ this.name=name; }原创 2020-12-03 18:07:35 · 1010 阅读 · 0 评论 -
#Java多线程中的安全问题 #Java多线程同步 #同步代码块、synchronized、Lock锁、同步锁、对象锁、同步方法 @FDDLC
今天我们讨论的主题是:吃花生一、一个人吃花生(单线程)class MyRunnable implements Runnable{ private final int peanutSum=10; private int peanutIndex=1; @Override public void run() { while(peanutIndex<=peanutSum){ System.out.println(Threa.原创 2020-12-02 09:58:37 · 344 阅读 · 2 评论 -
#Java教程:多线程 #Thread、Runnable、匿名内部类 @FDDLC
一、Thread类Thread追根溯源:Thread类中的部分方法:1、start方法:创建一个新线程,来执行run方法注意:run方法继承自Runnable接口!示例:class MyThread extends Thread{ @Override public void run() { for(int i=0;i<100;i++) System.out.println("MyThread"+i); }}class T原创 2020-12-01 21:39:10 · 303 阅读 · 0 评论 -
#Java:Throwable、Exception、Error #运行时异常、编译期异常、错误 @FDDLC
一、Java中的异常体系最重要的是Throwable、Exception、RuntimeException和Error。二、Throwable:Exception和Error的顶头上司主要方法有getMessage和printStackTrace。例1:class Solution{ public static void main(String[] args) { Throwable throwable=new Throwable("I am th.原创 2020-12-01 17:29:48 · 293 阅读 · 0 评论 -
#如何在命令行中编译、运行Java文件 @FDDLC
1、首先,用记事本或其他文件编辑器编写一个Java文件:Test.java:class Test{ public static void main(String[] args) { System.out.println("Hello World!"); }}2、切换到该Java文件所在的目录,并在当前目录打开命令行:我把Test.java放到Desktop下了3、执行:javac Test.java结果:4、运行Test.clas...原创 2020-12-01 15:56:05 · 111 阅读 · 0 评论