Java
自学Java,总结自己用到的一些方法
如是我闻CsDn
这个作者很懒,什么都没留下…
展开
-
IntelliJ IDEA常用快捷键
IDEA常用快捷键项目Value全局替换ctrl + shift + r文件中替换ctrl + r万能查询shift + shift查看类的集成结构ctrl + h方法参数提示ctrl + p复制光标所在行ctrl + d删除光标所在行ctrl + y光标所在的错误代码处显示错误信息ctrl + F1注释光标所在行代码ctrl +/代码块注释ctrl + shift +/智能代码提示ctrl + shif原创 2020-12-20 11:42:21 · 143 阅读 · 1 评论 -
Java 找到两个字符串包含的最大子字符串
找到两个字符串包含的最大子字符串-Javapublic class stringdemo { /** * 找两个字符串包含的共同子字符串 * 如果只有一个 */ public String findMaxStr(String str1, String str2) { if (str1 != null && str2 != null) { String maxStr = (str1.length() >原创 2021-01-28 15:59:52 · 195 阅读 · 0 评论 -
线性查找和二分查找 Java
Java 线性查找和二分查找public class Test{ public static void main{} //二分查找 public static void binarysearch(int[] binarysearch,int searchnum) { // 遍历数组 System.out.print("binary search:"); for (int i : binarysearch) { Sys原创 2020-12-19 09:35:21 · 107 阅读 · 0 评论 -
创建一个长度为6的数组,要求随机取值为1-30,同时元素值各不相同 Java
Java创建一个长度为6的数组,要求随机取值为1-30,同时元素值各不相同方法一:创建标志flagpublic class Test{ public static void main{ int[] arr6 = new int[6]; for (int i = 0; i < arr6.length; i++) { arr6[i] = (int)(Math.random()*30) +1; boolean f原创 2020-12-19 09:35:47 · 616 阅读 · 0 评论 -
冒泡排序 Java
Java实现冒泡排序public class SortTest{ public static void BubbleSort(int[] arr) { System.out.println("bubblesort"); //排序前遍历数组 System.out.print("排序前:"); for (int i : arr) { System.out.print(i +"\t"); }原创 2020-12-20 22:03:03 · 137 阅读 · 0 评论 -
Java将一个字符串的指定部分进行反转,比如“abcdef”反转为“aedcbf”
将一个字符串的指定部分进行反转,比如“abcdef”反转为“aedcbf”public class stringdemo { /** * 将一个字符串的指定部分进行反转,比如“abcdef”反转为“aedcbf” */ // 方式一:转换为char[] public String reverse(String str, int startIndex, int endIndex) { if (str != null && str.l原创 2021-01-28 15:57:33 · 543 阅读 · 1 评论 -
快速排序 Java
Java实现快速排序public class SortTest{ public static void QuickSort(int[] arr, int lower, int upper) { // 快速排序 if (lower > upper) { return; } int pivot = arr[lower]; int i = lower, j = upper; w原创 2020-12-20 22:05:14 · 124 阅读 · 0 评论 -
数组实现循环队列Java
数组实现循环队列-Javapackage MyQueue;import java.lang.reflect.Array;public class MyQueueArray<AnyType> { private int theSize; private int currentSize; private Object[] theItems; private int front; private int back; public MyQueu原创 2021-03-15 18:20:02 · 200 阅读 · 0 评论 -
链表实现队列Java
链表实现队列-Javapackage MyQueue;public class MyQueueLinked<Anytype> { private int theSize; private Node<Anytype> front; private Node<Anytype> back; class Node<Anytype> { private Anytype data; private N原创 2021-03-15 18:18:18 · 185 阅读 · 0 评论 -
线性表(数组)实现栈Java
线性表(数组)实现栈-Javapackage MyStack;/** * 线性表实现 * @param <AnyType> */public class MyStackArray<AnyType> { public static final int DEFAULT_CAPACITY = 10; private int theSize; private AnyType[] theItem; public MyStackArray() {原创 2021-03-12 18:29:18 · 181 阅读 · 1 评论 -
链表实现栈Java
链表实现栈-Javapackage MyStack;/** * 链表实现 * @param <AnyType> */public class MyStackLinked<AnyType> { private int theSize; private Node<AnyType> head; private Node<AnyType> tail; public MyStackLinked() {} priv原创 2021-03-12 18:27:40 · 170 阅读 · 0 评论 -
LinkedList类的底层实现Java
LinkedList类的底层实现-Javapackage MyLinkedList;import javax.script.AbstractScriptEngine;public class MyLinkedList<AnyType> implements Iterable<AnyType> { private int theSize; private int modCount = 0; private Node<AnyType> beg原创 2021-03-12 16:22:21 · 207 阅读 · 0 评论 -
文件的复制Java
文件的复制-Java1. 文本文件的复制2. 非文本文件的复制3. 完整文件复制1. 文本文件的复制/*** 实现文本文件的复制*/@Testpublic void test4() { FileReader fr = null; FileWriter fw = null; try { //1. 实现读入和写出的File类 File srcFile = new File("src\\echo06\\hello.txt"); F原创 2021-03-11 10:11:48 · 125 阅读 · 0 评论 -
ArrayList类的底层实现Java
ArrayList的底层实现-Javapublic class MyArrayList<AnyType> implements Iterable<AnyType> { public static final int DEFAULT_CAPACITY = 10; private int theSize; private AnyType[] theItem; public MyArrayList() { doClear();原创 2021-03-11 10:11:19 · 171 阅读 · 0 评论 -
IO流详解Java
IO流详解-Java1. IO流体系2. 节点流的使用3. 处理流1. IO流体系按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)按数据流的流向不同分为:输入流,输出流按流的角色的不同分为:节点流,处理流节点流:直接从数据源或目的地读写数据处理流:不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能IO流详细分类图2. 节点流的使用读取操作@Testpublic void test2(原创 2021-03-11 10:10:37 · 138 阅读 · 0 评论 -
File类详解Java
File类-Java1. 基本概念2. File类的常用函数3. 遍历指定目录下的所有目录4. 遍历指定目录下的所有文件,判断目录下是否是文件5. 在目录中查找指定的文件6. 查看当前工作路径7. 遍历所有目录1. 基本概念File类的对象,代表一个文件夹或文件File声明在java.io包下File类只能操作文件名,不能修改文件内容路径分隔符4.1 windows和DOS系统默认使用“\"表示4.2 UNIX和URL使用“/”表示2. File类的常用函数/**public Str原创 2021-03-11 10:12:02 · 264 阅读 · 0 评论 -
Iterator的remove()方法Java
Iterator的remove()方法-JavaCollection接口实现了Iterable接口,实现了Iterable接口的类可以拥有增强for循环Iterator的remove()方法优势如果知道删除项的准确位置,删除操作的开销小不能对正在被遍历的集合进行改变(add,remove,clear等操作),但是可以调用iterator中的remove方法进行删除 Iterator iterator = coll.iterator(); while (i原创 2021-03-11 10:12:12 · 2809 阅读 · 0 评论 -
字符串格式化format()Java
字符串格式化format()-Java public void test09() { /** * printf()和format()方法具有相同的功能. * System.out是java.io.PrintStream的实例. * PrintStream,java.io.PrintWriter, 和java.lang.String每个类都有四个新的格式化方法: * * format( Strin原创 2021-03-10 17:51:14 · 211 阅读 · 0 评论 -
round()方法Java
round()方法-Java// round()是四舍五入的计算,五入时是到大于它的整数Math.round(3.7) // 4// 底层算法是:Math.floor(x+0.5) ,将原来的数字加0.5再向下取整Math.round(11.5) // 12Math.rounf(-11.5) // -11原创 2021-03-10 17:49:31 · 693 阅读 · 0 评论 -
计算两个数组的差集和交集Java
计算两个数组的差集和交集-Java @Test public void test15() { // 计算两个数组的差集 ArrayList<String> arr1 = new ArrayList<>(); ArrayList<String> arr2 = new ArrayList<>(); arr1.add("a"); arr1.add("b");原创 2021-03-10 17:47:54 · 298 阅读 · 0 评论 -
找到数组中重复的元素,并返回重复的次数Java
找到数组中重复的元素,并返回重复的次数-Java @Test public void test13() { Integer[] arr = {1, 4, 1, 5, 6, 4, 1, 7, 1, 6}; Map<Integer, Integer> map = findDupicatedInArray(arr); System.out.println(map); } public static < T >原创 2021-03-10 17:46:08 · 568 阅读 · 0 评论 -
数组和列表的转换Java
数组和列表的转换-Java数组—>列表:Array—>ListList list = Arrays.asList(array)列表—>数组:List—> ArrayObject[] array = list.toArray()测试一:获取数组的最大最小值 @Test public void test10() { // 获取数组的最大最小值 Integer[] array = {2, 3, 7, -3, 0, -5, 22原创 2021-03-10 17:43:00 · 203 阅读 · 0 评论 -
测试两个字符串对应区域的内容是否相同Java
测试两个字符串对应区域的内容是否相同-Java @Test public void test08() { // 测试两个字符串对应区域的内容是否相等 String first_str = "Welcome to Microsoft"; String second_str = "I work with microsoft"; // 表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12原创 2021-03-10 17:37:00 · 219 阅读 · 0 评论 -
字符串分割Java
字符串分割-Java方法一 @Test public void test06() { // 分割字符串 String str = "hello-world-!"; String[] split = str.split("-"); for (String s : split) { System.out.println(s); } }helloworld!方法二原创 2021-03-10 17:34:41 · 260 阅读 · 0 评论 -
替换字符串某个元素Java
替换字符串-Java @Test public void test03() { // 替换字符串 String str = "hello hello world"; // 替换所有的,且不改变原始字符串 System.out.println(str.replace("he", "ha")); // 只替换第一此出现的 System.out.println(str.replaceFirst("ll原创 2021-03-10 17:27:25 · 504 阅读 · 0 评论 -
删除字符串的某个字符Java
删除字符串的某个字符-Java @Test public void test02() { // 删除字符串的某个字符 String str = "Hello world"; String s = removeCharAt(str, 3); System.out.println(s); // 删除字符串的几个字符 String s1 = removeCharAt(str, 2, 4);原创 2021-03-10 17:24:23 · 178 阅读 · 0 评论 -
两个字符串进行比较Java
字符串比较-Java @Test public void test01() { // 字符串比较 String str1 = "Hello world"; String str2 = "hello world"; Object objStr = str2; // 通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object原创 2021-03-10 17:22:40 · 456 阅读 · 0 评论 -
时间戳、日历和格式化时间Java
时间戳、日历和格式化时间格式化时间 @Test public void test01() { // 格式化时间 Date date = new Date(); System.out.println(date); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); System.out.println(sdf.format(d原创 2021-03-05 18:48:20 · 142 阅读 · 0 评论 -
打印三角形、平行四边形、菱形、九九乘法表Java
输出指定行数的菱形 public static void printlingxing(int size) { // 打印n*n的菱形 if (size % 2 == 0) { size++; } // 菱形上半部分 for (int i = 0; i < size / 2 + 1; i++) { for (int j = size / 2 + 1; j >原创 2021-03-05 18:08:40 · 327 阅读 · 0 评论 -
Java的StringBuffer类详解
StringBuffer类详解---Java1. String、StringBuffer和StringBuilder区别2. 源码分析3. StringBuffer方法3.1 StringBuffer append ( xxx):提供了很多的 append() 方法 用于进行字符串拼接3.2 StringBuffer delete (int start,int end):删除指定位置的内容3.3 StringBuffer replace (int start, int end, String str):把原创 2021-01-29 18:57:22 · 226 阅读 · 1 评论 -
属性 vs 局部变量---Java
对比:属性 vs 局部变量相同点定义格式相同:数据类型 变量名 = 变量值先声明,后使用都有对应的作用域不同点声明的位置不同属性:直接定义在类的{ }中局部变量:方法内,形参,代码块内,构造器形参,构造器内部的变量权限修饰符的不同属性:可以使用权限修饰符局部变量:不能使用权限修饰符默认初始化情况属性:都有默认初始化值:整型:(byte、short、int、long)— 0浮点型:(float,double)— 0.0字符型:char原创 2021-01-28 17:04:49 · 177 阅读 · 0 评论 -
Java方法的重写
方法重写—Java子类继承父类后,对父类中的同名同参方法,进行覆盖操作应用:重写以后,当创建子类对象后,通过子类对象调用父类的同名同参的方法时,实际执行的是子类重写的方法子类权限修饰符必须大于等父类的权限修饰符子类不能重写父类private的方法返回值类型:父类:void----->子类:必须是void父类:A类型------>子类:A类型或者A子类父类:基本数据类型----->子类:与父类一致区分方法的重载与重写定义重载:同类原创 2021-01-28 16:44:42 · 293 阅读 · 0 评论 -
this关键字---Java
this关键字—Java调用的结构:属性、方法、构造器理解:当前对象 或 当前正在创建的对象通常情况下省略this;当方法的形参和类的属性同名时,必须显式的使用“this.变量”的方式,标明此变量是属性,而不是形参this调用构造器在类的构造器中,显示的使用“this(形参列表)”方式,调用本类中指定的其他构造器构造器中不能调用自己如果一个类中最多n个构造器,则最多n-1个构造器中使用了“this(形参列表)”规定:“this(形参列表)”只能声明在当前构造器的首行原创 2021-01-28 16:36:00 · 96 阅读 · 0 评论 -
super关键字---Java
super关键字理解为父类的可以调用的结构:属性、方法、构造器super调用属性和方法我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。特殊情况:当子类重写了父类中的方法以后,我们想在子类的方法中调用父类中被重写的方法原创 2021-01-28 16:33:54 · 102 阅读 · 0 评论 -
interface关键字--Java
interface关键字–Java1. 使用说明接口使用interface来定义Java中,接口和类是并列的两个结构如何定义接口:定义接口中的成员DK7及以前:只能定义全局常量和抽象方法全局常量:public static final的.但是书写时,可以省略不写抽象方法:public abstract的JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法接口中不能定义构造器的!意味着接口不可以实例化Java开发中,接口通过让类去实现(implements)原创 2021-01-28 16:29:48 · 186 阅读 · 0 评论 -
final关键字---Java
final关键字—Java1. 修饰结构:类、变量、方法2. final 用来修饰一个类:此类不能被其他类所继承。比如:String类、System类、StringBuffer类3. final 用来修饰方法:表明此方法不可以被重写比如:Object类中getClass();4. final 用来修饰变量:此时的"变量"就称为是一个常量final修饰属性:可以考虑赋值的位置:显式初始化、代码块中初始化、构造器中初始化(以上三处只能选择一处使用赋值)(类中方法中不可以)final修饰局部变量原创 2021-01-28 16:19:27 · 169 阅读 · 0 评论 -
abstract关键字---Java
abstract关键字—Java1. 修饰结构:类、方法2. abstract修饰类:抽象类此类不能实例化 (final:不能继承 static:与类同生 abstract:不能实例,需要子类 )抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作—>抽象的使用前提:继承性3. abstract修饰方法:抽象方法抽象方法只有方法的声明,没方法体 (public abstract void原创 2021-01-28 16:12:53 · 148 阅读 · 0 评论 -
Java的String类方法详解
Java的String类函数详解1. int length() 返回字符串的长度2. char charAt(int index) 返回某索引处的字符3. boolean isEmpty() 判断是否是空字符串4. String toLowerCase() 和 String toUpperCase() 将 String 中的所有字符转换大小写5. String trim() 返回字符串的副本 忽略前导空白和尾部 空白1. int length() 返回字符串的长度 String s1 = "H原创 2021-01-27 20:20:12 · 264 阅读 · 0 评论 -
IDEA安装插件
IDEA作为软件开发利器,不单单是因为它自身包含的功能强大,还有一点是平台开放性!IDEA插件安装1. 如何安装插件2. 插件推荐2.1 Alibaba Java Coding Guidelines2.2 Call Graph2.3 Translation2.4 Leetcode Editor2.5 Rainbow Brackets2.6 Nyan Progress Bar3. IDEA主题1. 如何安装插件本文是IDEA2020.3版本,以安装Alibaba Java Coding Guideli原创 2021-01-23 17:58:31 · 738 阅读 · 0 评论 -
static关键字Java
Java中static关键字的使用修饰内容:可以修饰属性、方法、代码块、内部类static修饰属性 称为静态属性:所有对象都共享同一个静态变量;当通过某一个对象修改静态变量时,其他对象调用改对象时,也是修改之后的① 静态属性随着类的加载而加载,非静态属性随着对象的实例化而加载② 静态属性的加载早于对象的创建③ 类只会加载一次,所以静态变量也只存在一份,存在方法区的静态域中static修饰方法称为静态方法:通过类调用① 随着类的加载而加载,通过"类.静态方法"或者”对象.静态方法“的方原创 2020-12-31 17:21:58 · 147 阅读 · 0 评论