java基本语法
你回到了你的家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java正则表达式
一、基本语法1.1 括号类[xyz]:字符集,匹配包含的任一字符,例如"[abc]“匹配"plain"中的"a”[^xyz]:反向字符集,匹配未包含的任何字符,例如"[ ^abc]“匹配"plain"中的"p”, “l”, “i”, “n”[a-z]:字符范围,匹配指定范围内的任何字符,例如"[a-z]"匹配"a"到"z"范围内的任何小写字母[^a-z]:反向范围字符,匹配不在指定范围内的任何字符,例如"[ ^a-z]“匹配任何不在"a"到"z” 范围内的字符(pattern):匹配patte原创 2020-09-09 19:09:06 · 286 阅读 · 0 评论 -
Java泛型
一、泛型的定义以及存在意义泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数类型(可以称之为类型实参),然后在使用/调用时传入具体的类型(类型实参)。一些常用的泛型类型变量:E:元素,用于Java集合框架K:关键字N:数字T:类型V:值例如如下的泛型定义,如果要实现不同类型的加法,每种类型都需要重载一个add方法package com.jay.java.泛型.needGeneric;/** * Author:Jay On 20原创 2020-09-14 00:15:16 · 146 阅读 · 0 评论 -
Java基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。一、bytebyte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。二、shortshort 数据类型是 16 位、有符号的以二进制补转载 2020-09-07 07:37:26 · 119 阅读 · 0 评论 -
Java StringTokenizer类使用方式
Java StringTokerizer类用于分隔字符串一、构造方法StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r)。StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。StringTokenizer(String转载 2020-08-28 23:05:47 · 335 阅读 · 0 评论 -
java collection自定义comparator进行排序
一、概念介绍HashMapHashMap是一个数组和链表组成的一种链表散列结构,存储方式是根据key的hash值来决定存储的位置,这就导致了存储后的元素不会维持插入时的顺序。Comparator如果我们需要控制某个类的次序并且该类本身不支持排序,那么就可以建立一个类比较器来进行排序,实现方式很简单只需要实现java.util.Comparator接口。Collections.sortCollections.sort(List list,new Comparator(){ @override原创 2020-08-20 18:41:08 · 1309 阅读 · 0 评论 -
双亲委派模型
一、概念1.1 全限定名全限定名有绝对路径的意思,Java类包的定名:com.linux.struct.sort.bubblesort,从最原始上层的地方援引到具体的对象,这就是全限定名了。1.2 类加载器虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取此类的二进制字节流这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为”类加载器“。从Java虚拟机的角度来讲,只存在以下两种不同的类加载器:启动类加载器(Bootstrap C原创 2020-08-15 17:56:56 · 164 阅读 · 0 评论 -
Java继承
一、概念继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。1.1 格式在Java中通过extends关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:class 父类 {} class 子类 extends 父类 {}1.2 继承类型Java不支持多继承,但是支持多重继承二、继承的特性子类拥有父类的非private的属性、方法子类可以拥有自己的属性和方法,即子类可以对父类进行扩展子类可以原创 2020-08-09 11:51:49 · 580 阅读 · 0 评论 -
java抽象类
一、定义在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描述对象的,如果一个类中没有包含足够的信息来描述一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其他功能仍然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口二、程序定义在J原创 2020-08-08 22:50:30 · 157 阅读 · 0 评论 -
java接口
一、定义接口(Interface),在Java中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来实现接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法,接口则要包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内锁描述的所有方法,否则就必须声明为抽象类。另外,在Java中,接口类型可用来声明一个变量,他们原创 2020-08-08 20:10:40 · 246 阅读 · 0 评论 -
java深拷贝和浅拷贝
一、浅拷贝1.1 介绍浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性值是基本数据类型,那么拷贝的就是基本数据类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址,因此如果拷贝的对象改变了引用的内部值(内存地址所指向的部分的值,比如数组中的一个元素),那么此时会影响到另一个对象。1.2 特点对于基本数据类型的成员对象,因为基础数据类型是值传递的,所以是直接将属性值赋值给新的对象。基础类型的拷贝,其中一个对象修改该值,不会影响另外一个对于引用类型原创 2020-08-07 18:35:43 · 163 阅读 · 0 评论 -
java关键字
一、final1.1 final修饰引用如果引用是一个基本数据类型,则该引用为常量,值无法被修改如果引用是一个引用数据类型,比如对象、数组。则该对象或者数组的内容可以修改,但指向该对象或数组的地址的引用不能修改如果引用是类的成员变量,则必须当场赋值,否则编译会报错public class test { public static void main(String[] args) { final int test1=1; //此处赋值会报错原创 2020-08-06 11:38:17 · 214 阅读 · 0 评论 -
java IO
一、Scanner 类Scanner是一个扫描器,获取数据的过程是去内存中的一块缓冲区进行扫描和数据读入,我们在控制台中输入的数据也是被先存入缓冲区中等待扫描器的扫描读取。这个扫描器在扫描过程中判断停止的依据就是“空白符”,空格、回车都是空白符。1.1 nextInt() nextLine()nextInt()方法在扫描到空白符的时候会将前面的数据读取走,但会丢下空白符“\r”在缓冲区中。对于nextLine()方法来说,空白符会被清理掉,不会继续保存在缓冲区中。以如下的代码为例:public c原创 2020-08-02 13:03:24 · 167 阅读 · 0 评论 -
java引用
一、值类型与引用类型1.1 变量初始化int num=10;String str="hello";在上面的语句中,num是int基本类型变量,值就直接保存在变量中。str是String引用类型变量,变量中保存的只是实际对象对应的地址信息,而不是实际对象数据,如下图:1.2 变量赋值当变量的值改变时,基本数据类型会直接修改变量的值,原来的值被覆盖掉,替换为新的值。而对于引用数据类型str,赋值运算只是改变了变量中保存的地址信息,原来对象的地址被覆盖掉,重新写出新对象的地址数据,但原地址的数据不原创 2020-07-27 14:45:25 · 147 阅读 · 0 评论 -
Java Integer类
一、Integer.parseInt(s)和Integer.valueOf(s)的区别Integer.parseInt(s)的作用是把字符串s解析成有符号的int基本类型Integer.valueOf(s)的作用是把字符串s解析成Integer对象类型public classtest { public static void main(String[] args){ String test1="10000"; String test2="10000";原创 2020-07-27 07:59:32 · 249 阅读 · 0 评论 -
Java的static关键字使用
一、static的修饰作用1.1 static关键字用于修饰类注意普通类是不允许被声明为静态的,只有内部类才可以public classtest { public static void main(String[] args) { int te=2; //只有声明为static才可以这样直接创建内部类的实例 //否则需要先创建一个test类的实例 InnerClass t=new InnerClass(); }原创 2020-07-12 16:57:15 · 205 阅读 · 0 评论 -
Java方法调用和参数传递
一、Java中main函数调用同类下方法或变量有时候我们想调用main方法那个类中的其他方法,这时有两种方式:方式1,使用static修饰那个方法public classtest { public static void main(String[] args) { int te=2; test(te); } static void test(int a){ System.out.println(a); }}方式2,原创 2020-07-12 16:37:28 · 2300 阅读 · 0 评论 -
java数学运算
一、乘方public classtest { public static void main(String[] args) { double test=Math.pow(2,3); System.out.println(test); }}输出:8,0原创 2020-07-12 10:47:57 · 247 阅读 · 0 评论 -
java数组基本用法(数组的声明/初始化及一些常用的数组操作)
一、数组的声明int[] a;二、数组初始化2.1 特殊初始化这种初始化不用new关键字完成,在数组声明的同时完成初始化操作,也被称为静态初始化,主要原因是因为采用这种初始化的方式,数组的存储空间的分配是由编译器完成的。int[] a={1,2,3};2.2 先使用new关键字创建数组,然后分别再为数组中的元素赋值,完成初始化操作。注意如果使用这种初始化方式,如果数组元素为基本数据类型,在完成new操作后,数组中的元素就会自动初始化为空值,可以直接使用,但是如果数组元素为引用类型,在完成n原创 2020-07-04 17:25:56 · 386 阅读 · 0 评论 -
java Sting类函数
一、判断字符串中是否包含某个字符串(字符): contains()public classtest { public static void main(String[] args) { String x="hello world"; boolean status=x.contains("hello"); System.out.println(status); }}输出结果:true二、判断字符串长度: length()publ原创 2020-07-04 17:12:59 · 289 阅读 · 0 评论
分享