jAVA基础知识点汇总(附带实例)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结果为:
结果为: 结果为:
在 for 循环中,经常用的 2 中跳离循环语句的方法:break 和 continue;break 的作用:终止循环,离开循环体;continue 的作用:跳出本次循环,去执行下一次循环。 13.运算符(都是以二进制的形式比较的) ^的运算方法是相同为 0,相反为 1; 例:1^2:1:001 2:010 3 :011 |的运算方法是只要有 1 就为 1; 1|2:1:001 2:010 3:011 &的运算方法是只要有 0 就为 0; 1&2:1:001 2:010 0:000
(2).对象的使用:对象名.属性名;对象名.方法名(); (3).对象的比较("=="与 equals()方法的运用)
例 1. "=="运算符用与比较
运行结果为: 例 2.equals 方法用与比较
运行结果为: 例 3.为某一普通类创建两个对象进行比较
结果为:不是同一个人
Hale Waihona Puke 总结:string 是一个特殊的类,当为该类创建对象时,并进 行对象比较时,“==”用于比较两个对象的内存地址,而 equals()方法则比较的是两个对象的内容是否相等。当为一个 普通的类创建两个对象进行比较时,"equals()"的作用和"==" 作用相同,都是进行地址比较。这是因为在进行对象比较时, 默认的调用了 object 类中的 equals()方法。 (4).构造方法的使用 例 1:
结果为:
也就是说:如果整数与字符串相加,整数会自动向字符串类
型转化;如果整数与字符相加,字符会先转化为 ASCII 码, 后再与整数相加。
注:a~z:97~122
A~Z:65~90
11.java 的运算符可分为 4 种:算术运算符、关系运算符、逻 辑运算符、位运算符。 12.程序的结构: 有 3 种:顺序结构、选择结构、循环结构。 着重理解一下 switch 语句( 只有实践,才能理解深刻): 需注意的是: (1).switch 语句里的选择值只能是字符或常量(int 、byte、 short)。 (2)如果 case 语句后面没有 break,则程序一直执行到 switch 语句的尾端才会离开,但是程序中每条 case 语句的顺序不 同,所产生的结果也会随之不同。例:
变量的作用范围分为成员变量(全局变量)和局部变量,成员 变量的作用范围为整个类,而局部变量作用的范围只是它所 在的范围之内使用。需注意的是: (1).在类中定义的变量有初始值,而在方法中定义的变量没 有初始值,例:
10.数据类型 数据类型从整体上分为两种:一种是基本数据类型,一种是 引用数据类型;基本数据类型又包括数值型(byte、short、int、 long、float、double)、字符型(char)、布尔型(boolean);引用数 据类型又包括类、接口、数组。
Byte(-128-127):占 1 个字节;short(-32768-32767):占 2 个字 节;int:占 4 个字节;long:占 8 个字节;float:占 4 个字节; double:占 8 个字节;char:占 2 个字节; 重点知识在于数据类型的转化: 转化分为两种:一种是自动类型转换,一种是强制类型转换。 自动转换的原则是:“扩大转换,即从较小的表示范围向较 大的表示范围转换”。例如:字符与整数之间可以相互转 换;float 类型可以向 double 类型转化,但是 double 不能向 float 类型转化。 例:
15:0001111 60: 0111100 >>>n 的运算方式不带符号右移 n 位,填 0; -5>>>2 5:00000101 14.数组 要使用 Java 的数组,必须经过两个步骤:声明数组和分配内 存给该数组。 例: int a[]=new int[3];
int a[][]=new int[3][3]; 数组的赋值: 例:int a[]={1,2,3}; int a[][]={{1,2,3},{4},{5,6}}; 如果想获得一维数组的数组长度,需要使用:数组名.length 来获得;如果想获得某字符串的长度则需要使用:变量 名.length()。 如果在二维数组中: 数组名.length: 取得数组的行数 数组名[行的索引].length:取得特定行的元素个数 如果想对某一数组进行升序排序,可以使用:java.util 包下面 的 Arrays.sort(数组名)进行升序排序;如果想对数组进行拷 贝,可以使用:System.arraycopy(source 0,dest,0,x),意思是:复
~的运算方法是求反,负数的二进制表示就是该负数的绝对 值的二进制数按位取反再加一。 ~5 5:00000101 00000101+1 -6 11111010 >>n 运算方式右移 n 位,正填 0,负填 1; 15>>2 15 :01111 3 :011 <<n 运算方式左移 n 位,正填 0,负填 1 15<<2
制源数组从下标 0 开始的 x 个元素到目标数组,从目标数组 的下标 0 开始的位置进行存储。 二.第九到十六章 核心技术 1.基本概念的掌握 (1)面向对象的语言是以对象为中心,以消息为驱动,即:程 序=对象+消息。 (2)将具有相同属性和相同行为的一组对象称为类。类是对一 类事物的描述,是抽象的、概念上的定义;对象是实际存在 的该类事物的个体,因而也称为实例。所以说,类是对象的模 板,对象是类的实例。 (3).要利用类的方式去解决问题,必须用类创建一个实例化对 象,然后通过类对象去访问类的成员变量,去调用类的成员 方法去实现程序的功能。 (4)面向对象的三大特征:封装性、继承性、多态性,有的教 材还将“抽象”也作为面向对象的特征。 (5)如果类 B 继承类 A,则类 A 为基类、父类或超类;类 B 为派生类或子类。 (6)多态性主要包括 2 种表现形式:一种是重载和覆写;一种 是向上转型和向下转型。 2.类、对象、方法、属性 (1).类的声明需要用 class 关键字;对象只有在实例化之后才 能被使用,而实例化类对象通过 new 关键字完成。
3.类的继承、封装、多态 (1).类的封装 例 1.
结果为: 总结: 1.类封装的原因:阻止对象直接访问类的对象。 2.如果要给对象赋值有两种解决方法: 第一种方法是在该类中创建构造方法; 第二种方法是在该类中创建 setXxx()、getXxx()这样的公有方 法。 (2).类的继承 例 1:
结果为: 总结: 1.在 java 中支持类的单继承和多层继承,但不支持多继承, 即一个类不能继承多个类,就类似一个儿子只有一个亲爸。 2.子类对象在实例化时默认先去调用父类中的无参构造方 法,之后再调用本类的构造方法。 例 2:
结果为: 总结: 1.抽象类和抽象方法必须用 abstract 来修饰。 2。抽象类不能直接实例化,通过子类进行实例化。 3.抽象方法只需声明,不需实现。 4.抽象类的子类必须覆写所有的抽象方法。
5.抽象类的组成:抽象方法(必须有),普通方法、常量、变 量、构造方法(可以没有)。 6.什么时候使用抽象类?当该方法(行为)很抽象时,也就 是实现该行为有很多种方式。例:人分为学生和工人,他们 虽然都有说话行为,但他们说话的内容不同,这时候可以把 说话行为定义为抽象方法。 7.在抽象类中也可以有构造方法,但是这些构造方法必须在 子类中被调用。 (2)接口(interface)是抽象类的变体。在接口中,所有方 法都是抽象的。接口中只可以定义 static final 成员变量。 但是 static final 可以省略 。例:
6.在 java 程序中,main 方法为程序的主方法,在 java 程序中 有且仅有一个 main 方法,它是程序的开端;需注意的是: main 方法之前必须加上 public static void ,static 表示 main 方法在没有创建类对象的情况下,仍然可以运行。 7.标识符:java 中的包、类、属性、方法、参数的名字,可 由任意顺序的大小写字母、数字、下划线和美元符号($)组成 。 但需要注意的是: (1).标示符不能以数字开头。 (2)标识符不能是关键字。在 java 中有 48 个关键字,但需要 注意的是 goto、const 也是关键字,但是现在还没有使用。 8.注释: 分为单行注释(//)、多行注释(/**/)、文档注释(/***/)。 9.常量和变量 常量的声明:final 类型 常量名=值; 需注意的是: (1).常量名称通常是由大写字母组成。 (2)当常量用于一个类的成员(全局)变量时,必须给常量赋值, 否则会出现编译错误。例:
JAVA 知识点汇总
编者:周新明 JAVA SE 一.第一到八章:基本基础知识 1.java 的历史: Java 是由 sun 公司开发的,起初的目的是为家电消费产品开 发的一个分布式代码系统。Java 的前身是:oak(橡树); 1995:正式将 oak 改名为 java; 2005 年:正式将 J2SE、J2EE 改名为 JAVA SE、JAVA EE; 2.java 语言的特点: Java 是一种简单的、面向对象的、分布式的、解释型的、健 壮的、结构中立的、可移植的、性能优异的、多线程的、动 态的语言;Java 最大的优点是:与平台无关,即:“一处编 写,到处运行”。 3.编译 java 程序时,需使用 javac 命令,执行编译后(.class) 的程序时,需使用 java 命令。 4.JVM(java 虚拟机)的作用:保证经过编译后的 java 代码能 够在安装 java 虚拟机的系统上运行。 5.如果将一个类声明为 public 类,则也要将文件名取成和这 个类一样的名称。也就是说,在 java 文件中,最多只有一个 public 类,否则 java 的文件便无法命名。
总结: super 关键字只能在子类中使用,主要功能是调用父类中的属 性和方法和构造方法。 调用方法时:super.方法名(); 调用属性时:super.属性 而 this 关键字是在本类中使用, 调用本类中的方法时:this.方法名(); 调用本类中的属性时:this.属性名 (3).方法覆写 例:
结果为: 总结:
1.接口里的数据成员必须初始化,且为常量。 2.接口里的方法全部是抽象方法。 3.final 和 abstract 可以省略。 4.接口是实现多继承的一种机制,一个类只可以继承一个父 类,但可以实现多个接口;一个接口可以继承多个接口。 5.在 Java 中一个类可以同时继承一个类和实现一个接口 语法如下: (1)class 类名 implements 接口 A,接口 B { } (2)interface 子接口名称 extends 父接口 A,父接口 B { } 5.鼻祖(object) 例:
结果为: 总结: 1.覆写只存在继承关系中。而方法重载是在本类中。 2.如果子类覆写了父类中的方法,在对子类实例化后,调用 的是子类覆写好的方法,而父类中的方法不会调用。 (4)类的多态(深刻理解向上转型和向下转型) 例:
结果为: 总结: 1.向上转型会自动完成,而向下转型需要强制转型 2.向上转型的意思是:功能多的可以向功能少的转换,否则 要强制转换。例:马分为白马和黑马,黑马可以向马转换, 而马向黑马转换需要条件才可以。也就是说,功能多的可以 向功能少的一端自动转换,功能少的不能自动转化为功能多 的,需强制转换,这与我们生活中的实例基本相符。 4.抽象类(abstract) 和接口(interface) (1)声明方法的存在而不去实现它的类被叫做抽象类。抽象类 中有没有实现的方法,有可能有实现的方法。例:
结果为: 总结: 1.在使用构造方法时,名字应与类名相同。 2.构造方法无返回值。 3.构造方法无需直接调用,在创建对象时会自动调用。
例 2.
运行结果为: 总结: 1.构造方法可以重载。 2.在 java 中如果明确的声明了构造方法,则默认的构造方法 不会自动生成。如果以该例为例,如果不在 p 对象为构造方 法传值,则会出现编译错误,这是因为无参构造方法已被有 参构造方法重载,所以无参构造方法不能自动生成,那么如 何解决这个问题呢?只需在 person 类中在创建一个无参构造 方法即可。 3.构造方法的作用就是:为新创建的对象赋初值。
结果为: 结果为:
在 for 循环中,经常用的 2 中跳离循环语句的方法:break 和 continue;break 的作用:终止循环,离开循环体;continue 的作用:跳出本次循环,去执行下一次循环。 13.运算符(都是以二进制的形式比较的) ^的运算方法是相同为 0,相反为 1; 例:1^2:1:001 2:010 3 :011 |的运算方法是只要有 1 就为 1; 1|2:1:001 2:010 3:011 &的运算方法是只要有 0 就为 0; 1&2:1:001 2:010 0:000
(2).对象的使用:对象名.属性名;对象名.方法名(); (3).对象的比较("=="与 equals()方法的运用)
例 1. "=="运算符用与比较
运行结果为: 例 2.equals 方法用与比较
运行结果为: 例 3.为某一普通类创建两个对象进行比较
结果为:不是同一个人
Hale Waihona Puke 总结:string 是一个特殊的类,当为该类创建对象时,并进 行对象比较时,“==”用于比较两个对象的内存地址,而 equals()方法则比较的是两个对象的内容是否相等。当为一个 普通的类创建两个对象进行比较时,"equals()"的作用和"==" 作用相同,都是进行地址比较。这是因为在进行对象比较时, 默认的调用了 object 类中的 equals()方法。 (4).构造方法的使用 例 1:
结果为:
也就是说:如果整数与字符串相加,整数会自动向字符串类
型转化;如果整数与字符相加,字符会先转化为 ASCII 码, 后再与整数相加。
注:a~z:97~122
A~Z:65~90
11.java 的运算符可分为 4 种:算术运算符、关系运算符、逻 辑运算符、位运算符。 12.程序的结构: 有 3 种:顺序结构、选择结构、循环结构。 着重理解一下 switch 语句( 只有实践,才能理解深刻): 需注意的是: (1).switch 语句里的选择值只能是字符或常量(int 、byte、 short)。 (2)如果 case 语句后面没有 break,则程序一直执行到 switch 语句的尾端才会离开,但是程序中每条 case 语句的顺序不 同,所产生的结果也会随之不同。例:
变量的作用范围分为成员变量(全局变量)和局部变量,成员 变量的作用范围为整个类,而局部变量作用的范围只是它所 在的范围之内使用。需注意的是: (1).在类中定义的变量有初始值,而在方法中定义的变量没 有初始值,例:
10.数据类型 数据类型从整体上分为两种:一种是基本数据类型,一种是 引用数据类型;基本数据类型又包括数值型(byte、short、int、 long、float、double)、字符型(char)、布尔型(boolean);引用数 据类型又包括类、接口、数组。
Byte(-128-127):占 1 个字节;short(-32768-32767):占 2 个字 节;int:占 4 个字节;long:占 8 个字节;float:占 4 个字节; double:占 8 个字节;char:占 2 个字节; 重点知识在于数据类型的转化: 转化分为两种:一种是自动类型转换,一种是强制类型转换。 自动转换的原则是:“扩大转换,即从较小的表示范围向较 大的表示范围转换”。例如:字符与整数之间可以相互转 换;float 类型可以向 double 类型转化,但是 double 不能向 float 类型转化。 例:
15:0001111 60: 0111100 >>>n 的运算方式不带符号右移 n 位,填 0; -5>>>2 5:00000101 14.数组 要使用 Java 的数组,必须经过两个步骤:声明数组和分配内 存给该数组。 例: int a[]=new int[3];
int a[][]=new int[3][3]; 数组的赋值: 例:int a[]={1,2,3}; int a[][]={{1,2,3},{4},{5,6}}; 如果想获得一维数组的数组长度,需要使用:数组名.length 来获得;如果想获得某字符串的长度则需要使用:变量 名.length()。 如果在二维数组中: 数组名.length: 取得数组的行数 数组名[行的索引].length:取得特定行的元素个数 如果想对某一数组进行升序排序,可以使用:java.util 包下面 的 Arrays.sort(数组名)进行升序排序;如果想对数组进行拷 贝,可以使用:System.arraycopy(source 0,dest,0,x),意思是:复
~的运算方法是求反,负数的二进制表示就是该负数的绝对 值的二进制数按位取反再加一。 ~5 5:00000101 00000101+1 -6 11111010 >>n 运算方式右移 n 位,正填 0,负填 1; 15>>2 15 :01111 3 :011 <<n 运算方式左移 n 位,正填 0,负填 1 15<<2
制源数组从下标 0 开始的 x 个元素到目标数组,从目标数组 的下标 0 开始的位置进行存储。 二.第九到十六章 核心技术 1.基本概念的掌握 (1)面向对象的语言是以对象为中心,以消息为驱动,即:程 序=对象+消息。 (2)将具有相同属性和相同行为的一组对象称为类。类是对一 类事物的描述,是抽象的、概念上的定义;对象是实际存在 的该类事物的个体,因而也称为实例。所以说,类是对象的模 板,对象是类的实例。 (3).要利用类的方式去解决问题,必须用类创建一个实例化对 象,然后通过类对象去访问类的成员变量,去调用类的成员 方法去实现程序的功能。 (4)面向对象的三大特征:封装性、继承性、多态性,有的教 材还将“抽象”也作为面向对象的特征。 (5)如果类 B 继承类 A,则类 A 为基类、父类或超类;类 B 为派生类或子类。 (6)多态性主要包括 2 种表现形式:一种是重载和覆写;一种 是向上转型和向下转型。 2.类、对象、方法、属性 (1).类的声明需要用 class 关键字;对象只有在实例化之后才 能被使用,而实例化类对象通过 new 关键字完成。
3.类的继承、封装、多态 (1).类的封装 例 1.
结果为: 总结: 1.类封装的原因:阻止对象直接访问类的对象。 2.如果要给对象赋值有两种解决方法: 第一种方法是在该类中创建构造方法; 第二种方法是在该类中创建 setXxx()、getXxx()这样的公有方 法。 (2).类的继承 例 1:
结果为: 总结: 1.在 java 中支持类的单继承和多层继承,但不支持多继承, 即一个类不能继承多个类,就类似一个儿子只有一个亲爸。 2.子类对象在实例化时默认先去调用父类中的无参构造方 法,之后再调用本类的构造方法。 例 2:
结果为: 总结: 1.抽象类和抽象方法必须用 abstract 来修饰。 2。抽象类不能直接实例化,通过子类进行实例化。 3.抽象方法只需声明,不需实现。 4.抽象类的子类必须覆写所有的抽象方法。
5.抽象类的组成:抽象方法(必须有),普通方法、常量、变 量、构造方法(可以没有)。 6.什么时候使用抽象类?当该方法(行为)很抽象时,也就 是实现该行为有很多种方式。例:人分为学生和工人,他们 虽然都有说话行为,但他们说话的内容不同,这时候可以把 说话行为定义为抽象方法。 7.在抽象类中也可以有构造方法,但是这些构造方法必须在 子类中被调用。 (2)接口(interface)是抽象类的变体。在接口中,所有方 法都是抽象的。接口中只可以定义 static final 成员变量。 但是 static final 可以省略 。例:
6.在 java 程序中,main 方法为程序的主方法,在 java 程序中 有且仅有一个 main 方法,它是程序的开端;需注意的是: main 方法之前必须加上 public static void ,static 表示 main 方法在没有创建类对象的情况下,仍然可以运行。 7.标识符:java 中的包、类、属性、方法、参数的名字,可 由任意顺序的大小写字母、数字、下划线和美元符号($)组成 。 但需要注意的是: (1).标示符不能以数字开头。 (2)标识符不能是关键字。在 java 中有 48 个关键字,但需要 注意的是 goto、const 也是关键字,但是现在还没有使用。 8.注释: 分为单行注释(//)、多行注释(/**/)、文档注释(/***/)。 9.常量和变量 常量的声明:final 类型 常量名=值; 需注意的是: (1).常量名称通常是由大写字母组成。 (2)当常量用于一个类的成员(全局)变量时,必须给常量赋值, 否则会出现编译错误。例:
JAVA 知识点汇总
编者:周新明 JAVA SE 一.第一到八章:基本基础知识 1.java 的历史: Java 是由 sun 公司开发的,起初的目的是为家电消费产品开 发的一个分布式代码系统。Java 的前身是:oak(橡树); 1995:正式将 oak 改名为 java; 2005 年:正式将 J2SE、J2EE 改名为 JAVA SE、JAVA EE; 2.java 语言的特点: Java 是一种简单的、面向对象的、分布式的、解释型的、健 壮的、结构中立的、可移植的、性能优异的、多线程的、动 态的语言;Java 最大的优点是:与平台无关,即:“一处编 写,到处运行”。 3.编译 java 程序时,需使用 javac 命令,执行编译后(.class) 的程序时,需使用 java 命令。 4.JVM(java 虚拟机)的作用:保证经过编译后的 java 代码能 够在安装 java 虚拟机的系统上运行。 5.如果将一个类声明为 public 类,则也要将文件名取成和这 个类一样的名称。也就是说,在 java 文件中,最多只有一个 public 类,否则 java 的文件便无法命名。
总结: super 关键字只能在子类中使用,主要功能是调用父类中的属 性和方法和构造方法。 调用方法时:super.方法名(); 调用属性时:super.属性 而 this 关键字是在本类中使用, 调用本类中的方法时:this.方法名(); 调用本类中的属性时:this.属性名 (3).方法覆写 例:
结果为: 总结:
1.接口里的数据成员必须初始化,且为常量。 2.接口里的方法全部是抽象方法。 3.final 和 abstract 可以省略。 4.接口是实现多继承的一种机制,一个类只可以继承一个父 类,但可以实现多个接口;一个接口可以继承多个接口。 5.在 Java 中一个类可以同时继承一个类和实现一个接口 语法如下: (1)class 类名 implements 接口 A,接口 B { } (2)interface 子接口名称 extends 父接口 A,父接口 B { } 5.鼻祖(object) 例:
结果为: 总结: 1.覆写只存在继承关系中。而方法重载是在本类中。 2.如果子类覆写了父类中的方法,在对子类实例化后,调用 的是子类覆写好的方法,而父类中的方法不会调用。 (4)类的多态(深刻理解向上转型和向下转型) 例:
结果为: 总结: 1.向上转型会自动完成,而向下转型需要强制转型 2.向上转型的意思是:功能多的可以向功能少的转换,否则 要强制转换。例:马分为白马和黑马,黑马可以向马转换, 而马向黑马转换需要条件才可以。也就是说,功能多的可以 向功能少的一端自动转换,功能少的不能自动转化为功能多 的,需强制转换,这与我们生活中的实例基本相符。 4.抽象类(abstract) 和接口(interface) (1)声明方法的存在而不去实现它的类被叫做抽象类。抽象类 中有没有实现的方法,有可能有实现的方法。例:
结果为: 总结: 1.在使用构造方法时,名字应与类名相同。 2.构造方法无返回值。 3.构造方法无需直接调用,在创建对象时会自动调用。
例 2.
运行结果为: 总结: 1.构造方法可以重载。 2.在 java 中如果明确的声明了构造方法,则默认的构造方法 不会自动生成。如果以该例为例,如果不在 p 对象为构造方 法传值,则会出现编译错误,这是因为无参构造方法已被有 参构造方法重载,所以无参构造方法不能自动生成,那么如 何解决这个问题呢?只需在 person 类中在创建一个无参构造 方法即可。 3.构造方法的作用就是:为新创建的对象赋初值。