![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 91
灵虚天
这个作者很懒,什么都没留下…
展开
-
泛型<E>
1. 泛型泛型:是一种未知的数据类型,当不知道会使用什么数据类型(或同一个方法可能接受不同数据类型),用泛型泛型也可以作为变量接受数据类型E:未知的数据类型,即泛型,(在JAVA源码统一使用E,但其实可以是任意字母或单词)在创建对象时会确定泛型E的数据类型,并将数据类型作为参数传递,赋值给泛型E泛型没有继承的概念,< Integer >并不是< Object >的继承泛型泛型可以作为返回值,参数,数据类型,如:public class ArrayList< E &原创 2020-08-08 11:51:00 · 2550 阅读 · 0 评论 -
Collection集合/Iterator迭代器/增强for
集合,是JAVA的一种容器,用来存储多个数据。Collection集合:单列集合,以接口方式实现导包:import java.util;1. 和数组的区别:数组长度固定,集合长度可变数组可以存储基本数据类型,也可以存储对象,集合只能存储对象数组的数据类型必须一致,集合的类型可以不一致2. Collection集合框架及其特点3. Collection集合常用方法Collection集合定义了所有单列集合的共性方法,所有单列集合都可以使用Collection接口的方法 boolean原创 2020-08-08 09:53:57 · 94 阅读 · 0 评论 -
包装类、String与基本数据类型的转换
一、包装类JAVA提供了俩种数据类型:基本数据类型和引用数据类型引用数据类型,其实就是各种JAVA jdk提供的类包装类很多时候,我们需要创建对象来解决问题,如ArrayList< E >,其中E必须是一个引用数据类型,如果想使用基本数据类型,就必须使用基本数据类型对应的引用数据类型,即包装类。包装类在将基本数据类型包装为引用数据类型的同时,也定义了对基本数据类型操作的方法基本数据类型对应的包装类本类型包装类byteByteshortShort原创 2020-08-03 11:16:43 · 303 阅读 · 0 评论 -
StringBuilder类和链式编程
1.String类的劣势字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享String类的底层是被final修饰的byte数组:private final char value[];因此,其值不可改变。字符串每相加一次,就会重新占用一块内存。如:“a”+“b”+“c”:这三个字符串本身会占用一块空间。当执行"a"+“b”=“ab"又占用一个空间最后"ab”+“c”="abc"结果又占用一块空间。一个字符串相加,便占用了原创 2020-08-02 11:03:43 · 199 阅读 · 0 评论 -
System类
System类提供了大量静态方法,以获取与系统相关的信息或系统级操作,导包:import java.lang.System;1. System字段System共三个字段,输入/输出/错误。在前面我们已经使用过这些字段,如:System.out.println();Scanner scanner=new Scanner(System.in);三个字段定义如下:static PrintStream err //“标准”错误输出流。 static InputStream i原创 2020-08-02 10:11:58 · 133 阅读 · 0 评论 -
时间日期类(2)——Calendar类
一、Calendar类日历类Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。导包:import java.util.Calendar;Calendar 是一个抽象类,无法直接创建对象,我们可以创建其子类对象原创 2020-08-02 09:42:32 · 368 阅读 · 1 评论 -
时间日期类(1)——Data类、DateFormat类、SimpleDateFormat类
一、Data类时间日期类;导包:import java.util.Date;类 Date 表示特定的瞬间,精确到毫秒。表示格式:在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:年份 y 由整数 y - 1900 表示。月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。日期(一月中的某天)按通常方式由整数 1 至 31 表示。小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是原创 2020-08-01 11:27:33 · 1000 阅读 · 0 评论 -
Object类/Objects类、instanceof 关键字
java.lang.Object类是所有类的父类,即自己写的所有的类的父类也是Object;因此,即使不定义,也能使用Object的方法Object类的常用方法String toString() //返回该对象的字符串表示,默认是地址值boolean equals(Object obj) //指示其他某个对象是否与此对象“相等”。 toString方法的重写原Object类的toString方法返回的是对象的地址值一个类如果重写了toString方原创 2020-08-01 09:56:02 · 392 阅读 · 0 评论 -
内部类的概念与分类
1. 内部类内部类就是在一个类中定义另一个类分类成员内部类局部内部类(匿名内部类)2. 成员内部类格式:修饰符 class 外部类名{ 修饰符 class 内部类名{ }}//内部类使用外部类的内容,随便使用,不用管修饰符是啥,也不需要new//外部类使用内部类的内容,需要通过new内部类的对象使用外部类使用内部类(1)间接使用:在外部类中使用内部类,main中只是调用外部类即:在外部类的方法中中new一个内部类对象,使用这个内部类内容。而main中只需要ne原创 2020-07-26 11:42:33 · 300 阅读 · 0 评论 -
面向对象的特性之(三)——多态
1. 多态的前提类与类的继承:extends类与接口的实现:implements接口与接口的继承:extends2. 什么是多态一个对象拥有多种形态,就是多态。如:一个人的多级继承关系:小明->学生->人->生物;此时,小明显然具有多种形态,既是学生,又是人,还是生物。同理,接口的实现,接口的继承,也同样会产生多态性。代码中的多态:父类引用指向子类对象。格式:父类名 对象名=new 子类名();接口名 对象名=new 实现类名();//显然,学生也是人,子类就原创 2020-07-23 09:37:02 · 121 阅读 · 0 评论 -
JAVA接口——interface、implements
1. 接口定义接口就是一种公共的规范标准,是多个类的公共规范。接口是一种引用数据类型。关键字:interface,编译后的字节码文件仍然是.class定义格式:public interface 接口名称{ 接口内容}接口内容接口可以包含的的内容:常量抽象方法默认方法(java 8)静态方法私有方法(java 9)...原创 2020-07-22 10:01:13 · 742 阅读 · 0 评论 -
JAVA抽象类——abstract
1. 抽象方法如果父类中一定含有某个方法,但如何实现并不能确定,这就应该是一个抽象方法。如父类是图形,方法是计算图形的面积,因为每一种图形都有不同的面积计算公式,所以如何计算图形的面积不能确定,那么,这就是一个抽象方法。2. 抽象方法和抽象类的定义和C语言的虚类、虚函数作用相同。抽象类:抽象方法所在的类,一定是抽象类。在class之前加abstract关键字抽象方法:即加上abstract关键字,去掉大括号,不写内容,直接分号结束。定义格式:public abstract 类名{ 成员变量原创 2020-07-21 11:04:13 · 1189 阅读 · 0 评论 -
面向对象的特性之(二)——继承;super
1. 继承继承是多态的前提,没有继承,就没有多态。继承的主要作用:共性抽取父类(基类、超类);子类(派生类)子类可以拥有符类的内容,也可以有自己独有的内容。通常在升级版本时,对于那些投入使用的类,尽量不要修改,而是创建一个新的子类,重复利用父类共性内容的同时,添加自己新的内容。在继承的关系中,子类就是一个父类。子类可以当作一个父类看待。如:父类是员工,子类是讲师,那么“讲师就是一个员工”,这种关系被称为**“is-a”**2. 定义格式:public class 父类名{ ...}原创 2020-07-21 10:18:00 · 87 阅读 · 0 评论 -
JAVA引用数据类型(4)——静态类Arrays、Math
1. Arrays类java.util.Arrays中有很多与数组有关的工具类,里面提供了大量静态方法,用来实现数组常见操作。Arrays类的使用导包:import java.util.Arrays使用:(Arrays类的成员方法都是静态方法,因此不需要创建对象)static String toString(数组) //将数组转化为字符串返回,返回格式为:[元素1,元素2...]static boolean equals(数组1,数组2) //如果俩个数组相等,则返回 true。原创 2020-07-20 10:25:56 · 200 阅读 · 0 评论 -
static、final关键字、public等四种权限修饰符
static的概念成员变量使用static成员变脸加了static之后,这个成员变量不再属于某一个单独的对象,而是属于这个类创建出来的所有对象。所有对象共享同一数据。原创 2020-07-20 09:31:03 · 701 阅读 · 0 评论 -
JAVA引用数据类型(2)——String
1. 字符串的特点在JAVA中,所有双引号中的内容都是字符串,即使没有new。字符串内容永远不能改变,可以共享使用(共享的前提就是只读)字符串效果上是char[],底层原理上是byte[]2.创建字符串的3+1种方式1.使用空参构造String str1=new String() //String() 创建空字符串2.使用字符数组构造char[] value={'a','x','c'};String str1=new String(value) //String(char[] value原创 2020-07-19 11:45:18 · 743 阅读 · 0 评论 -
JAVA类和对象;封装性;this
1. 面向对象和面向过程的区别2. 面向对象的相关概念类:是一组相关属性和行为的集合。可以看作是一类事物的模板。使用其属性和行为特征来描述这一类事物属性:事物的状态信息(成员变量)行为:事物能做的动作(成员方法)3. 定义格式:修饰符 class 类名{//类名采用大驼峰成员变量1成员变量2...成员方法1成员方法2...}/*注意事项:1.成员变量直接定义在类中,在方法之外2.成员方法不屑static修饰符3.成员变量和局部变量的区别: (1)局部变量定义在原创 2020-07-19 09:43:17 · 88 阅读 · 0 评论 -
JAVA程序流程——循环和选择
一、方法方法:就是将功能抽离,单独定义;在C语言中我们称之为函数;方法的格式:修饰符 返回值类型 方法名 (参数列表){ 代码..... return;}/*修饰符可以是static、public等等返回值类型和参数列表的类型可以是基本数据类型以及引用数据类型方法名*/...原创 2020-07-19 09:42:57 · 186 阅读 · 0 评论 -
JAVA基本知识(一)
1. 命名规则,和C语言基本相同。方法名和变量名使用小驼峰类名使用大驼峰只允许使用字母、数字、下划线,并且只能以字母和下划线开头。系统标识符也不能用(即会变颜色的单词)2. JAVA数据类型整型大小(bit)byte1short2int4long8浮点型大小(bit)float4double8字符型大小(bit)char1布尔类型大小(bit)boolean不原创 2020-07-19 09:40:03 · 190 阅读 · 0 评论 -
JAVA方法
方法方法:就是将功能抽离,单独定义;在C语言中我们称之为函数;方法体:{}中的内容方法一定要定义在class类当中,不能定义在其他方法中,即方法的定义一定不可以嵌套方法的定义格式:修饰符 返回值类型 方法名 (参数列表){ 代码..... return;}/*修饰符可以是static、public等等,返回值类型和参数列表的类型可以是基本数据类型以及引用数据类型方法名使用小驼峰命名法*/方法的调用:方法要想被执行,就必须被调用方法名 (参数列表);例如:原创 2020-07-19 09:30:23 · 67 阅读 · 0 评论 -
JAVA匿名对象
匿名对象直接使用即创建对象但其地址没有专门保存,因此匿名对象只能在创建时使用唯一一次,以后再不能使用。因此,如果确定某个对象只需使用一次,则可以使用匿名对象格式:new 类名()例如:System.out.println("输入的数字是:"+new Scanner(System.in).nextInt());匿名对象作为方法参数方法:public static void mothod(Scanner sc){int num=sc.nextInt();System.out.println.原创 2020-07-19 09:28:21 · 60 阅读 · 0 评论 -
JAVA引用类型(3)——Scanner类、Random类、Arraylist类
1. Scanner类的功能:实现键盘输入数据到程序(和C语言的scanf函数功能类似)2. 使用步骤:1. 导包:import java.util.Scanner(卸载class之前,包路径查API文档)2. 创建:Scanner sca=new Scanner(System.in);//System.in表示键盘输入3. 使用:获取键盘输入的int数字:int num=sca.nextIn();获取键盘输入的字符串:int num=sca.next();...原创 2020-07-19 09:24:57 · 220 阅读 · 0 评论 -
JAVA运算符简述
很多内容和C语言类似,不具体写了赋值运算:基本赋值运算符:=;复合赋值运算符:*;/;%; +=; -=; *=;复合赋值运算符会帮助进行强制类型转化byte num=30;num+=5;/*通过前面的知识我们知道,num是byte类型,而5是一个int类型,在运算之前num是会自动类型转化为int,然后相加为int类型的35;此时,int是大范围的数据类型,不能自动类型转化为byte。但复合运算符在运算时,编译器会帮我们进行强制类型转换,在编译器内部相当于num=(byte)(num原创 2020-07-19 09:11:34 · 116 阅读 · 0 评论 -
JAVA的数据类型转换
1. 自动类型转化:会将占用内存小的数据类型自动转化为占用内存大的数据类型。如:int x=1;byte y=2;x=x+y;会自动将byte类型的数据y转化为int型然后相加;byte/short/char类型之间可以进行运算,但会自动类型转换为int类型后才进行运算。如:byte num1=40,num2=50,sum;sum=num1+num2;会提示错误。因为运算以后其结果已经是int类型了,大范围的数据类型不能自动转化为小范围数据类型。想显示字符类型的具体数值时,加一个int原创 2020-07-19 09:08:16 · 174 阅读 · 0 评论 -
JAVA引用类型(1)——数组
数组是一种容器,可以同时存放多个相同数据类型的数据数组是一种引用类型,其长度在程序运行期间不可以改变初始化动态初始化(指定长度):格式: 数据类型[] 数组名称 =new 数据类型[数据长度];左右俩侧数据类型必须相同。int[] str = new int[10];short[] str2 = new short[200];String[] str3 = new String[20];静态初始化(指定内容)静态初始化的长度由初始化的数据个数决定。基本格式:数据类型[] 数组名称 =原创 2020-07-19 09:04:02 · 2272 阅读 · 0 评论 -
HelloWorld程序的创建(3)——Intllij IDEA
使用IDE集成开发环境Intllij IDEA写HelloWorld程序Intllij IDEA的JAVA程序结构:新建项目新建模块此处应该选择javaJDK所在路径,看你下载JAVA时在哪里安装的(是JAVA的安装路径,不是Intellij IDEA的安装路径)模块名称新建包然后输入包名,按enter键。包名只能使用字母小写,数字和点号。包是一组嵌套的文件夹。每一个点号都表示包含关系,如:包名为linxu.day01,那么在src种就会出现文件夹linux下包含着一个day01原创 2020-07-19 09:01:32 · 153 阅读 · 0 评论 -
HelloWorld程序的创建(2)——Eclipse
使用IDE集成开发环境Eclipse写HelloWorld程序点击右上角图标创建JAVA程序右上角选择JAVA ,而非JAVA EE,单击左侧Create a Java project,输入程序名,结束创建包,右键src创建类,右键新创建的包书写代码 package linxu;public class helloworld { public static void main(String[] args) { System.out.println("Hello W原创 2020-07-19 09:01:06 · 225 阅读 · 0 评论 -
HelloWorld程序的创建(1)——不使用IDE
点击右上角图标创建JAVA程序右上角选择JAVA ,而非JAVA EE,单击左侧Create a Java project,输入程序名,结束创建包,右键src创建类,右键新创建的包书写代码 package linxu;public class helloworld { public static void main(String[] args) { System.out.println("Hello World Linxu!!!"); }}运行程序,在代码.原创 2020-07-19 09:00:39 · 185 阅读 · 1 评论 -
Eclipse和Intellij IDEA的下载及配置
一、Eclipse工具的下载Eclipse下载地址下载如图所示的工具,然后解压(不要有中文路径)打开后选择工作路径二、Intellij IDEA工具的下载及配置1.下载Intellij IDEA下载地址,学生和教职工免费版本Intellij IDEA下载地址,社区免费版本我下载的是第一种,下载安装即可,下面的页面如下,其他默认next。2. Intellij IDEA的配置字体自动补全作用:即使自动补全的提示消失,按一下快捷键就能再次显示,这里配置快捷键为“ALT+/”原创 2020-07-19 08:55:20 · 449 阅读 · 0 评论 -
JAVA及其下载
一、Java程序运行Java语言是一个解释性语言,步骤如下:javac .exe工具 编译Java代码,将源代码生成对应的.class字节码文件(目标代码)java.exe工具 解释.class字节码文件,交给CPU执行二、Java虚拟机(JVM),一种能够运行Java目标代码的虚拟机,以堆栈结构机器来进行实做。能够运行Java语言写的软件程序。java的目标代码被称为字节码三、JDK和JREJRE,即Java运行环境,主要包含的是Java程序运行所需的必要元素,例如JVM及其原创 2020-07-19 08:54:10 · 197 阅读 · 0 评论