![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
文章平均质量分 59
为java语言基础
你得支棱起来呀-
如果想私聊博主帮忙解决问题,麻烦先关注一下,博主看到私信后且懂的话,一定帮忙解决。
展开
-
Java正则化表达式
一、使用正则表达式的好处有哪些?一个正则表达式就是一个描述规则的字符串,所以,只需要编写正确的规则,我们就可以让正则表达式引擎去判断目标字符串是否符合规则。正则表达式是一套标准,它可以用于任何语言。Java标准库的java.util.regex包内置了正则表达式引擎,在Java程序中使用正则表达式非常简单。1、要判断用户输入的年份是否是20##年一共有4个字符,分别是:2,0,0~9任意数字,0~9任意数字。对应的正则表达式就是:20\d\d,其中\d表示任意一个数字。把正则表达式转转载 2021-04-27 14:05:38 · 363 阅读 · 0 评论 -
JAVA新建一个类的过程(从内存进行分析)
我们想要创建一个对象。基本上就是java虚拟机分配内存的过程。因此我们可以先回顾一下java程序的执行过程。一个例子去解释:我们测试一下:我们分析一下这个过程第一步,JVM去方法区寻找Test类的代码信息,如果有直接调用,没有的话使用类的加载机制把类加载进来。同时把静态变量、静态方法、常量加载进来。这里加载的是(“冯冬冬的IT技术栈”,“冯XX”);这是因为字符串是常量,age中的18是基本类型。第二步,jvm进入main方法,看到Person person=new Pers转载 2021-04-01 16:15:17 · 410 阅读 · 0 评论 -
JAVA中BufferredReader的简单用法
BufferedReader可以用来读取文件或者接收来自键盘(控制台)的信息。它比Scanner更加快捷,能够大幅度缩短程序运行时间。它下面的readline()方法可以一次性读取一行文字(String),非常方便。需要注意的是,使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception)。以及,在使用完BufferredReader以后,需要用close()方法关闭流。BufferedReader的初始化方法如下:1、接收转载 2021-03-30 23:51:19 · 2682 阅读 · 0 评论 -
乐观锁和悲观锁的含义-实现方式-应用场景
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据(修改)的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操...转载 2021-03-15 11:12:26 · 469 阅读 · 0 评论 -
多个if 和if elseif else情况的区别
多个if型:int a=0;if(a==0){ a++; printf("aaa");} if(a==1) printf("bbb");if(a==2) printf("ccc"); 最终输出:aaabbb,在多个if语句中,所有的if都会进行判断,无论是否满足情况.所以在满足a==0时,执行了a++,a就变成了1,当进行a==1判断时,也符合,故也执行了printf("bbb")-------------------------------------------.原创 2021-02-23 15:08:56 · 680 阅读 · 0 评论 -
有关Map的知识点(HashMap()和TreeMap())
List和MapList是一种顺序列表,如果有一个存储学生Student实例的List,要在List中根据name查找某个指定的Student的分数,应该怎么办?最简单的方法是遍历List并判断name是否相等,然后返回指定元素:List<Student> list = new ArrayList<>();Student target = null;for (Student s : list) { //遍历list中的Student对象,每次遍历的值赋值...原创 2021-01-12 16:27:23 · 109 阅读 · 0 评论 -
用打印的方式看清楚链表的头指针,头节点,指针与和数据域究竟是什么?
之前看到的各种教程,都说链表的前一个节点的指针域指向后一个节点,那这里指向是啥意思?因为楼主本人比较执拗,所以的东西要有自己的理解方式才能记得住,才能转化和运用,所以不想别人说啥就记啥,故用程序打印的方式来一探究竟程序用了3个类,一个节点类(有点JavaBean实体类的意思,用来存数据的),一个链表的操作类,一个测试类。节点类:public class Node { public int data; public Node next; //指针都是Node类型的,所以后原创 2020-11-27 03:01:11 · 1814 阅读 · 1 评论 -
Java的for循环和for each循环的区别
1、for循环经常用来遍历数组,通过计数器可以根据索引来访问数组的每个元素:但是这个方式只是遍历数组的索引,如果想得到这个元素的值的大小,还需要通过索引对应读取这个元素的值int[] ns = { 1, 4, 9, 16, 25 };for (int i=0; i<ns.length; i++) { //遍历索引i System.out.println(ns[i]); //通过索引i读取数组的值 n[i]}2、java提供的for each循环可以更简单地遍原创 2020-11-18 16:47:06 · 509 阅读 · 0 评论 -
JAVA集合学习笔记
java集合Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集合类的根接口。Java的java.util包主要提供了以下三种类型的集合:List:一种有序列表的集合,例如,按索引排列的Student的List; Set:一种保证没有重复元素的集合,例如,所有无重复名称的Student的Set; Map:一种通过键值(key-value)查找的映射表集合,例如,根据Student的name查找对应Student的Map。Java集合使用统一的It转载 2020-11-18 15:53:04 · 325 阅读 · 0 评论 -
JAVA的反射学习
反射的目的是为了获得某个实例的信息。因此,当我们拿到某个Object实例时,我们可以通过反射获取该Object的class信息void printObjectInfo(Object obj) { Class cls = obj.getClass();}要从Class实例获取获取的基本信息,参考下面的代码:public class Main { public static void main(String[] args) { printClassInfo...原创 2020-11-05 15:47:22 · 173 阅读 · 0 评论 -
遍历map
通过遍历map中key的集合keySet() 进行遍历import java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 123); map.put("原创 2020-09-03 14:08:13 · 84 阅读 · 0 评论 -
JAVA的重写
1、TestDog.java 文件代码:class Animal{ public void move(){ System.out.println("动物可以移动"); }} class Dog extends Animal{ public void move(){ System.out.println("狗可以跑和走"); }} public class TestDog{ public static void main(Strin...原创 2020-08-15 14:21:16 · 188 阅读 · 0 评论 -
JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换
一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1通过引用字符数组来创建字符串char a[]={'A','b','c','E'};String str1=new String(a);System.out.println(str1);1.2先定义后赋值String str2;str2="this is a book";System.out.println(str2);1.3通过截取字符数组的一部分来创建字符串char a3[]={'a','...原创 2020-08-06 16:01:22 · 3989 阅读 · 1 评论 -
JAVA基础复习(面试)
java 创建对象的几种方式1、new创建新对象2、通过反射机制3、采用clone机制4、通过序列化机制前两者都需要显式地调用构造方法. 对于clone机制,需要注意浅拷贝和深拷贝的区别,对于序列化机制需要明确其实现原理,在java中序列化可以通过实现Externalizable或者Serializable来实现.Object中有哪些公共方法?equals(),clone(),...原创 2020-04-22 22:01:10 · 258 阅读 · 0 评论 -
字符串的一些常见操作
字符串的一些常见操作1、获取字符串①charAt() 方法从字符串中获取单个字符如 String s = "haderts123";s.charAt(3)表示获取下标为3的单个字符,所以结果为e②可以使用String类中的substring方法从字符串中提取子串String s = "Welcome to java";s.substring(1,5);结果为 elco...原创 2020-04-14 22:39:17 · 667 阅读 · 0 评论 -
忽略既非字母又非数字的字符,判断回文串
结题思路1、先删除非字母和非数字,过滤字符串。可以使用character类中的isLetterOrDigit(ch)来检测字符ch是否是字母或数字2、判断是否为回文串,可以用StringBuilder.reverse();来将过滤后的字符串倒置,再拿来比较来个两者是否相等。import java.util.Scanner;public class PalindromeIgnore...原创 2020-04-14 14:15:56 · 691 阅读 · 0 评论 -
检测回文串
检测回文串import java.util.Scanner;public class CheckPalindrome { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); String...原创 2020-04-14 13:35:35 · 188 阅读 · 0 评论 -
length,length(),size()详解及区别
length , length(), size() 详解及区别length属性:用于获取数组长度。int ar[] = new int{1,2,3}/*** 数组用length属性取得长度*/int lenAr = ar.length;//此处lenAr=3System.out.println("Arr length:"+lenAr);length()方法:用...原创 2020-04-14 13:22:18 · 282 阅读 · 0 评论 -
StringBuilder的用法
1、创建StringBuiler实例1.1 用构造函数直接创建StringBuilder MyStringBuilder = new StringBuilder("Hello World!");1.2创建空的实例再赋值StringBuilder MyStringBuilder = new StringBuilder();Str.Append("He...转载 2020-04-14 12:53:34 · 664 阅读 · 0 评论 -
StringBuffer的用法(java)
StringBuffer的用法:1、StringBuffer对象的初始化StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。例如:StringBuffer s = new StringBuffer();这样初始化出的StringBuffer对象是一个空的对象,就是我犯的错误。如果需要创建带有...原创 2020-04-12 16:33:21 · 433 阅读 · 1 评论 -
next和nextLine的区别
next()和nextLine()的区别详解:next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。nextLine()方法字面上有扫描一整行...原创 2020-04-12 15:04:43 · 573 阅读 · 0 评论 -
数组和ArrayList之间的区别--JAVA学习
在学习JAVA的过程中碰到ArrayList,将之与数组进行对比,核心思想差不多,都是利用下标进行控制,但是它有自己的具体的方法可以直接引用。操作 数组 ArrayList 创建数组/ArrayList Object[ ] a = new Object[10] ArrayList list = newArrayList() 引用元素 a [index]...原创 2019-10-04 17:02:08 · 192 阅读 · 0 评论 -
用Java自定义一个栈--JAVA学习
使用ArrayList构造一个栈,可以存放int值我们先明白栈的属性。栈是先进先出的存储容器。import java.util.*;public class MyStack { private ArrayList list = new ArrayList(); public boolean isEmpty() { return list.isE...原创 2019-10-04 17:17:17 · 413 阅读 · 0 评论