Java基础知识整理
文章平均质量分 56
自称二次元人的程序员
这个作者很懒,什么都没留下…
展开
-
html-css-js
html,超文本标记语言,解释执行的文本类标记语言,是Internet上用于编写网页的主要语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。html是一种规范、标准,通过标记符号来标记要显示的网页中的各个部分。HTML的基本结构:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head>原创 2021-11-05 16:22:53 · 592 阅读 · 0 评论 -
html的颜色有多少种?
html的颜色由红®、绿(G)、蓝(B)三原色组成。每种颜色的最低值为0(十六进制为000),最高值为255(十六进制为FF)。十六进制值的写法:#十六进制字符(3或6个字符)。所以html的颜色一共有256*256*256=16,777,216种。 LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 深红(猩红) #DC143C 220,20,60 LavenderBlush 淡紫红 #原创 2021-10-31 15:36:38 · 2613 阅读 · 0 评论 -
Java_进制,补码,eclipse快捷键
进制1.进制就是进位制,对于任何一种进制–x进制,表示运算时逢x进一。2.进制表示形式:(1)二进制:由0,1组成,以0b开头;0b1111(2)八进制:由0,1,…7组成,以0开头;017(3)十进制:由0,1,…9组成,整数默认以十进制表示;15(4)十六进制:由0,1,…9,a,b,c,d,e,f,以0x开头;0xf原反补码1.原码:正整数的原码是其二进制形式负整数的原码是其绝对值二进制形式的基础上,将符号位 置12.反码:正数的反码与其原码相同负数的反码是对其原码逐位取反,原创 2021-09-28 00:32:31 · 160 阅读 · 0 评论 -
Java_xml
Java中的引擎是什么?引擎就是封装了代码/函数库,通过调用代码/函数库的接口来实现特定的功能,引擎可以理解为一个解析器。SYSTEM:本地引入dtd文件编写本地dtd;xmlns.context:context是上下文,这个文件可以理解为环境;xmlns.xsi:一般不使用;导入xml,dtd;解析xml:DOM4j,dom,sax;xml过大时会消耗较大的堆内存,所以让xml解析小文件;dom和sax都不借助别的jar包,jdk自带API可以完成。文本结点没有属性,返回为null,直原创 2021-09-27 22:02:30 · 134 阅读 · 0 评论 -
Java_IO流、网络编程
IO流的四大类:字节输入流InputSream字节输出流OutputStream字符输入流Reader字符输出流Writerflush()刷新流ByteArrayOutputStream:字节数组输出流的toByteArray()方法getBytes():字符串转换成字节数组read什么就write什么:读取字节就写出字节,读取数组就写出数组管道流:通过线程之间的管道对接PipedInputStream和PipedOutputStreamconnect连接两个线程in.connect(原创 2021-09-27 21:30:55 · 175 阅读 · 0 评论 -
Java_前3章
1.Java历史:1995年Sun公司推出,最初命名Oak(橡树)。口号:一次编译,到处运行。Java技术体系:面向桌面应用开发J2SE,面向企业级开发J2EE,面向手机等移动终端开发J2ME。2009年Oracle公司收购Sun公司。2.SDK,软件开发包,主要包含函数库或工具;JDK,Java程序开发工具包,面向Java程序的开发者;JRE,Java程序运行环境,面向Java程序的使用者;API,应用程序编程接口;API Documentation,API说明文档,描述API中的类、方原创 2021-09-27 21:24:21 · 134 阅读 · 0 评论 -
Java_反射
反射是java中提供的一种机制,它允许我们在程序运行的时候,动态获取一个类中的基本信息,并且可以调用类中的属性、方法、构造器。查看类中声明的属性:public static void main(String[] args)throws Exception { Class c = Class.forName("com.briup.demo.Student"); Field[] fields = c.getDeclaredFields(); for(Field f : fields){ Sys原创 2021-09-25 14:33:31 · 91 阅读 · 0 评论 -
Java_泛型
泛型是JDK1.5及以上才可以使用的特性/语法,本质是类型参数化(Parameterized by types)。T是泛型参数,表示一种数据类型,具体是什么类型,需要将来使用的时候进行传参来确定;如果在使用的时候,没有给泛型参数T传值,那么T默认就表示为Object类型;T是泛型参数的名字,也就是相当于形参,名字随便起,但是一般用一个有意义的大写字母。public interface Collection<E>{ boolean add(E e);}Collection是一个泛型接口原创 2021-09-25 14:25:45 · 158 阅读 · 0 评论 -
Java_集合
集合集合是JavaAPI中提供的一种容器工具,可以用来存储多个数据。集合和数组之间的区别有:(1)数组的长度是固定的,集合的长度是可变的;(2)数组中存储的是同一类型的元素,集合中存储的数据可以是不同类型的;(3)数组中可以存放基本类型数据或者对象,集合中只能存放对象;(4)数组是由JVM中现有的类型+[]组合而成的,只有一个length属性,还有从Object中继承过来的方法;集合是由JavaAPI中的java.util包里面所提供的接口和实现类组成的,这里面定义并实现了很多方法,可以使用集合原创 2021-09-25 14:19:16 · 149 阅读 · 0 评论 -
Java_枚举类
枚举,是JDK1.5引入的新特性,可以通过关键字enum来定义枚举类。枚举类是一种特殊的类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口。枚举其实也是一种类,同时还是一个final修饰的类。枚举类型都会默认继承一个父类型(java.lang.Enum),这还是一个抽象的泛型类。枚举中所定义的对象,其实就是类里面的public static final修饰的常量,并且这些常量会在静态代码块中做初始化。枚举类型中还一个默认的私有构造器,说明在枚举类的外面并不能自己去创建枚原创 2021-09-25 13:56:06 · 413 阅读 · 0 评论 -
Java_注解
注解(Annotation),是jdk5.0引入的技术,用它可以对java中的某一个段程序进行说明或标注,并且这个注解的信息可以被其他程序使用特定的方式读取到,从而完成相应的操作。@Override 注解:public class Person {@Overridepublic String toString() {return super.toString();}}编译器在编译该类的时候,会读取到toString方法上的注解@Override,从而帮我们检查这个方法是否是重写父类中的,原创 2021-09-25 13:18:10 · 68 阅读 · 0 评论 -
corejava_子类重写父类
package com.briup.day04;/** * 子类重写父类的方法后,再创建子类对象,就一定会调用子类重写的方法 *//* * 父类私有属性和方法其实可以被继承,但继承后有一个筛选的过程,使得子类不能访问父类的私有属性和方法。 * 1)私有属性可以通过父类中定义公共的get/set方法访问; * 2)私有方法可以通过在父类中定义公共方法,在公共方法中调用私有方法, * 子类可以通过继承这个公共方法访问到父类的私有方法。 */public class Test2 { publ原创 2021-09-22 23:09:02 · 79 阅读 · 0 评论 -
corejava_子类继承父类
package com.briup.day04;public class Test1 { public static void main(String[] args) { Fu f = new Zi();// f.method();//父类不能使用子类的特有属性和方法 //向下转型,让父类的引用f指向子类对象z,转型后才能获得Zi类的所有属性和方法的操作权限。 Zi z=(Zi)f; z.method(); /*原创 2021-09-22 23:08:46 · 58 阅读 · 0 评论 -
Java_多态
package com.briup.day04;/** * 创建什么类型的对象,就只有该类型对象的空间的操作权限。 * 虽然引用指向的是子类的对象,但new的是子类对象>>在堆开辟的空间是 * 子类类型的内存和父类类型的操作权限>>不能调用子类中独有的方法 * instanceof:判断引用指向的内存空间是否为该类型? */public class PolymorphicTest { public static void main(String[] args) {原创 2021-09-22 23:09:24 · 89 阅读 · 0 评论 -
Java_staitc关键字
package com.briup.day03;/** * 成员方法属于对象;构造器是特殊方法属于类。 *//*static关键字-->可以修饰什么?-->类中有什么?1.属性:属性归类所有,通过对象操作 >>一般不建议将static修饰的属性进行构造器初始化。 >>建议的初始化方式:静态属性显式初始化;静态代码块初始化。2.方法:静态只能访问静态(类的加载顺序)3.代码块: a.局部代码块(方法中) b.构造代码块(匿名代码块)类中,方法外 每次原创 2021-09-22 23:09:35 · 80 阅读 · 0 评论 -
Java_字符串常量池
package com.briup.day03;/** * @author chouhan * String重写了equals方法,比较的只是字符串的字面值是否相同。 * ==进行比较时,要考虑字符串常量池: * 字符串常量池-->jvm提供的优化机制-->以字面值形式定义新的字符串对象时,会把堆中的这个 * 字符串对象保存到字符串常量池中,下次再以字符串字面值创建时会先去常量池找是否有这个字面值 */public class StringTest { public stati原创 2021-09-22 23:09:53 · 65 阅读 · 0 评论 -
Java创建对象,Java的局部变量和实例变量
package com.briup.day03;/*1.创建对象的过程**画内存图!!!2.局部变量和实例变量的区别**A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中或者方法声明上**B:在内存中的位置不同成员变量:在堆内存(成员变量属于对象,对象进堆内存)局部变量:在栈内存(局部变量属于方法,方法进栈内存)**C:生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失**D:初始化值不同原创 2021-09-22 23:10:11 · 314 阅读 · 0 评论 -
Java实现杨辉三角
package com.briup.day02;/** * 4.杨辉三角 */public class Triangle { public static void main(String[] args) { Triangle t=new Triangle(); t.test(7);//7行的正三角形 t.test2(); } public void test(int line) { for (int i = 0; i <= line; i++) { for (int原创 2021-09-22 23:10:36 · 60 阅读 · 0 评论 -
Java常量优化机制
package com.briup.day02;/** * @author chouhan * 3.常量优化机制、运算符 */public class Test1 { public static void main(String[] args) {// float f=3.14; float f=3.14f;//必须加上f System.out.println(f);// boolean b=1; boolean b=true;//boolean类型只有true和false原创 2021-09-22 23:10:50 · 266 阅读 · 0 评论 -
Java_内部类
内部类,不是在一个java源文件中编写俩个平行的类,而是在一个类的内部再定义另外的一个类。内部类有四种:成员内部类;静态内部类;局部内部类;匿名内部类。成员内部类:(1)成员内部类中,不能编写静态的属性和方法。(2)代码编译后,会产生两个class文件,一个对应外部类,一个对应内部类:MemberOuterClass.class;MemberOuterClass$MemberInnerClass.class。(3)成员内部类和外部类的相互访问:1)成员内部类访问外部的属性和方法,直接通过类原创 2021-09-21 11:58:03 · 78 阅读 · 0 评论 -
corejava_类和对象
oop:面向对象;pop:面向过程;fp:面向函数编程的目的是什么?为了把现实世界中的事物用语言表示出来。如何去描述现实世界中的事物?属性:对该事物的描述信息,事物身上的名词;行为:事物能做什么,事物身上的动词。Java中最基本的单位是类,Java中用类class描述事物:成员变量->事物的属性;成员方法->事物的行为。类是什么?对象是什么?类是一组相关的属性和行为的集合。对象是该类事物的具体体现。成员变量和局部变量的区别:在类中的位置不同:成员变量在类中,方法外;局部原创 2021-09-21 11:52:31 · 96 阅读 · 0 评论 -
Java_Object类
Object类是所有类的父类型,类中定义的方法,java中所有对象都可以调用。1.toString方法:可以返回一个对象默认的字符串形式。子类中可以对该方法进行重写。默认情况下,println方法会调用当前对象的toString方法。2.getClass方法:可以返回一个引用在运行时所指向的对象,具体类型是什么。子类中不能重写getClass。3.equals方法:可以比较俩个对象是否相等。Object中的equals方法,是直接使用的**==**号进行的比较,比较俩个对象的地址值是否相等。子类中可以原创 2021-09-21 11:46:25 · 44 阅读 · 0 评论 -
Java_数组
数组是一组数据的集合,数组中的每个数据被称为元素。在java中,数组也是对象,数组中的元素可以是任意类型(基本数据类型或引用类型),但同一个数组里只能存放类型相同的元素。相同的数据类型是指类型相同或兼容的数据,兼容就是允许自动类型转换。args.length用于获取这个数组对象中的元素个数,length是数组的属性;args[0] 是获取这个数组中,第一个元素的值,获取下标为0的元素;Integer.parseInt()方法是将一个字符串转换为int数字。任意类型+[]=相应的数组类型,任意类型可原创 2021-09-21 11:45:13 · 66 阅读 · 0 评论 -
Java_流程控制
if控制语句:if-else一起使用,一定是有唯一的一个执行,另一个不执行。if语句只执行条件为真的命令语句,其他语句都不会执行。switch-case分支语句:默认只支持byte、short、int、char这四种类型,用来判断值是否相等。switch(表达式)和case 常量值:{ //… }(case的大括号可以省略,或者还可以用case 常量值;表示)中的表达式和常量值都必须是整数或字符型。同一个switch语句的case常量值互不相同。for循环for(;????–>死循原创 2021-09-21 11:39:08 · 94 阅读 · 0 评论 -
Java第一阶段复习
1.垃圾回收:程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收仍然不确定。2.static,final,abstract,interface之间的关系:static可以修饰除构造器以外的类成员,静态的类成员是针对类的,非静态的类成员是针对对象的。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量值不能被更改。abstract修饰的方法是抽象方法,只有方法的声明,没原创 2021-09-03 21:30:45 · 143 阅读 · 0 评论 -
Java_基本数据类型的值传递和引用值传递
基本数据类型的值传递和引用值传递:1.值传递,实参把自己存储的值(基本类型都是简单的数字)赋值给形参,之后形参如何操作,对形参一点影响没有。2.由于引用传递,是实参将自己存储的对象地址,赋值给了形参,这时候俩个引用(实参和形参)指向了同一个对象,那么任何一个引用(实参或形参)操作对象,例如属性赋值,那么另一个引用(形参或实参)都可以看到这个对象中属性的变量,因为俩个引用指向同一个对象。package com.briup.test;import java.util.ArrayList;impo原创 2021-09-01 11:00:44 · 176 阅读 · 0 评论 -
Java_逻辑运算符&&和||
关于逻辑运算符&&和||的理解结合if语句和逻辑运算进行分析,求z的值:public class Test { public static void main(String[] args) { boolean x=true; boolean y=false; short z=42; //if(y==true) if((z++==42)&&(y=true)) z++; if((x=false)||(++z==45)) z++;原创 2021-08-29 15:45:47 · 188 阅读 · 0 评论 -
JavaDay03 变量、操作符、流程控制、循环
JavaDay31.局部变量和实例变量的异同局部变量:定义在方法中的变量,就是局部变量;局部变量没有默认值;作用范围:局部变量被直接包裹的大括号中,从这变量声明开始,一直到这个大括号结束;方法的参数,也是局部变量,它的作用范围在整个方法中;不能使用修饰符。实例变量:(全局变量,成员变量)实例变量就是类中的属性,也叫做成员变量(非静态的);实例变量是有默认值的,即使声明完,不赋值,它也有一个默认的值,不同类型的实例变量的默认值不同:(1)byte类型,默认值为0;(2)short类型原创 2021-08-29 15:23:29 · 95 阅读 · 0 评论 -
Java_线程同步
线程的同步什么是线程安全问题?如果有多个线程,它们在一段时间内,并发访问堆区中的同一个变量,并且有写入的操作,那么最终可能会出数据的结果和预期不符的情况,这种情况就是线程安全问题。什么是线程同步?为了解决线程安全问题,Java中提供了线程同步的机制来解决它。Java中实现线程同步的方式,是给需要同步的代码进行 synchronized 关键字加锁。当两个线程并发执行时,因为它们都在抢夺CPU的时间片,如果它们在操作同一个变量,并且有写入数据的操作,可能线程A在操作这个变量时,赋值过程被线程B打断,原创 2021-08-24 14:02:59 · 98 阅读 · 0 评论