MyJava知识点总结Word格式.docx
《MyJava知识点总结Word格式.docx》由会员分享,可在线阅读,更多相关《MyJava知识点总结Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
5)、标识符中不能包含空格。
6)、标识符是由字符组成的,因此可以使用汉字作为标识符(不推荐,尽量不用);
7、关键字
中一些赋以特定的含义、并用做专门用途的单词称为关键字,也可叫保留字。
关键字不能作为普通的标识符使用。
所有关键字都是小写的,、、等都不是关键字;
和虽然从未使用,但也作被为保留关键字;
关键字含义说明:
:
布尔值
字节:
布尔值假
字符类型字面值:
空
整型:
布尔值真
基本数据类型
长整型
短整型
单精度型保留字
双精度型
无类型
抽象
私有
公有
静态
修饰符:
定义常量
调用别的语言()程序时使用
短暂
处理线程是使用
异常处理:
退出循环
捉异常:
流程控制语句
异常处理:
无论有没有:
循环继续
抛出异常:
缺省
循环语句
控制语句:
类:
条件语句
继承:
实现接口循环语句
引入包:
返回
判断一个对象是否属于某个类:
条件判断
面向对象:
创建新对象
包
超类
自己
8、基本数据类型
整数类型(,,,)
数值型浮点类型(,)
基本数据类型字符型()
布尔型()
数据类型类()
接口()
引用(复合)数据类型
数组
字符串()
基本数据类型包括:
整型、浮点型、字符型、逻辑型(布尔型)。
数据类型
名称
位长
默认值
取值范围
布尔型
1
字节型
8
-128~127
字符型
16
‘\u0000’
‘\u0000’~‘\’
短整型
-32768~32767
整型
32
-2147483648~2147483647
64
-92233728~92233727
浮点型
0.0
±
1.445~±
3.402823538
双精度型
4.9324~±
1.79769308
注意:
整数类型数据用于描述一个一定大小范围内的整数。
浮点类型数据用于描述一个范围很大的实数;
浮点类型数据有一定的精度限制。
字符类型为,它用于表示一个字符,使用单引号’在中类型为16字节,采用表示。
逻辑类型为,它用于表示真和假;
类型只有两个值真(),假();
类型有自己的运算,不能参与其他数据类型之间的运算。
9、常量
常量就是程序里持续不变的值,是不能改变的数据。
声明常量的格式如下:
类型常量名[,常量名]=值;
中的常量包括整型常量、浮点型常量、布尔常量、字符常量等。
整型常量:
十进制:
不能以0开头,多个0~9之间的数字
十六进制:
以0x或0X开头0x8a0X56d
八进制:
必须以0开头0340376
长整型:
必须以L结尾87L345L
浮点数常量:
型:
2e3f0.6f
4.1d1.23d
布尔常量:
和
字符常量:
‘a’‘5’
字符串常量:
“”“8698”“\”转义字符\n表示换行
常量:
,表示对象的引用为空。
10、变量
在语言中存储一个数据信息,必须将它保存到一个变量中。
变量在使用前必须有定义,即有确定的类型和名称。
声明变量的语法:
类型变量名[,变量名][=初值];
i;
c;
a,b,c;
变量的声明有三种形式:
1、声明变量。
例如:
i;
2、变量赋值。
在变量赋值之前要先声明变量。
5;
3、变量的初始化。
i=8;
11、基本数据类型之间的兼容性
基本数据类型之间的转换:
“小”的数据类型可以直接赋给“大”的数据类型。
“大”的不能赋值给“小”的数据类型(会出现编译错误)。
数据类型大小关系如下:
整数类:
>
浮点型:
整型数据类型可以赋给浮点数据类型比如:
可以赋给和,但是不能赋给和(编译错误)。
可以赋给和。
当整数型常量被声明为类型时,只能赋值给型变量。
当整数型常量在0~65535之间时,可以被赋值给型变量。
型常量可以被赋值给整数类变量,只要整数变量的类型可以容纳型文字常量所表示的数值。
浮点型常量默认为型,而型常量不能赋值给型变量。
与其他数据类型没有兼容性。
12、数据类型转换
1、自动类型转换(隐式类型转换)
需要同时满足两个条件:
1)、两种类型彼此兼容
2)、目标类型的取值范围要大于源类型
2、强制类型转换(显示类型转换)
当两种类型不兼容,或目标取值类型范围小于源类型时,自动类型转换无法进行,需要进行强制类型转换。
数据类型强制转换的格式为:
(数据类型)数据表达式;
i=5;
b=()i;
13、变量的作用域
变量的作用域指一个变量起作用的范围,它决定了一个变量何时可以访问、何时不可以访问。
中任何变量的作用域都从该变量声明之后开始,并且只在该声明的语句块中使用,也就是该变量只能在声明它的那个花括号{}中使用。
变量有分为成员变量和局部变量。
成员变量:
在类中声明的变量称为成员变量,又叫全局变量。
使用范围:
通常在类开始处声明,可在整个类中使用。
局部变量:
在方法或块(块由两个花括号)中声明的变量称为局部变量。
从声明处开始到它所在方法或块的结束处。
例:
{
x=4;
这之间只有x可以访问
y=1;
和y可以访问
z=2;
、y、z都可以访问
z=5;
x=4;
只有x和y可以访问,不可以访问z
}
14、中的运算符
算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符、条件运算符
1)、算术运算符
运算符
运算
范例
结果
+
正号
+3
3
-
负号
4;
-4
加
5+5
10
减
6-4
2
*
乘
3*4
12
/
除
5/5
%
取模(求余)
5%5
自增(前)
2;
33;
自增(后)
32;
自减(前)
2;
11;
自减(后)
12;
字符串相加
“”+“”
“”
两个整数之间的相除(/)运算结果还是整数,其结果是除的结果的整数部分。
5/2结果为2
要获得实数结果,运算中至少一个浮点数。
5/2.0结果为2.5
2)、关系运算符
相等于
43
不等于
<
小于
4<
3
>
大于
4>
=
小于等于
=3
大于等于
3)、赋值运算符
赋值
加等于
52;
-=
减等于
32-;
*=
乘等于
32*;
62;
除等于
模等于
4)、逻辑运算符
&
(与)
&
|
(或)
|
^
(异或)
^
!
(非)
(短路与)
(短路或)
在使用短路与()时,如果第一个操作数(或表达式)为“假”,则不再计算第二个操作数(或表达式),直接返回“假”。
在使用短路或()时,如果第一个操作数(或表达式)为“真”,则不再计算第二个操作数(或表达式),直接返回“真”。
逻辑运算符只能用于布尔()类型之间;
其结果值为布尔()类型。
5)、位运算符
计算规则
按位与
只有参加运算的两位都为1,‘&
’运算的结果才为1,否则为0。
按位或
只有参加运算的两位都为0,‘|’运算的结果才为0,否则为1。
按位异或
只有参加运算的两位不同,‘^’运算的结果才为1,否则为0。
左移位
左移指定位数,右边补0。
右移位
右移高位是0,左边补0;
高位是1,左边补1。
无符号右移位
左边补0。
~
按位取反
1取反是0,0取反是1。
位运算符只可用于整数类型、类型,不可应用于浮点类型。
6)、条件运算符
条件运算符是一个三目运算符,也是唯一的一个三元运算符,符号为“?
”,在程序中能实现简单的判断功能。
语法格式:
表达式1?
表达式2:
表达式3
其中表示1是一个布尔表达式,如果表达式1结果为,则执行表达式2,否则执行表达式3。
举例说明:
求a,b的最大值。
46;
将a和b中的较大值赋给
15、中的控制语句
(1)、(表达式).......条件语句;
(2)、(表达式).......循环语句;
(3)、(表达式).......循环语句;
(4)、(表达式)......循环语句;
(5)、多分支选择结构;
(6)、结束本次循环语句;
(7)、终止执行或循环语句;
(8)、从方法返回语句。
1、条件语句
分为四种:
单分支条件语句
语法格式为:
(条件表达式){
语句或语句块;
二分支条件语句
语句或语句块1;
}{
语句或语句块2;
嵌套条件语句
(条件表达式){
多分支条件语句
(条件表达式1){
}(条件表达式2){
}……
……
}(条件表达式n){
语句或语句块n;
语句0;
2、循环语句
(变量初始化表达式;
循环条件表达式;
迭代部分)
{
语句或语句块;
循环体
}
循环有一个特殊的循环,叫死循环。
表现形式为:
=;
或(;
;
){}
(;
){}
循环可以再嵌套循环。
在循环的初始化或迭代部分,可以有多个表达式,表达式之间用逗号隔开。
=0;
(110<
--){
;
}共循环多少次?
3、循环语句
(循环条件表达式){
4、循环语句
}(表达式);
(注意分号绝对不能省略)
5、多分支选择语句
(条件表达式){
常量1:
语句1;
常量2:
语句2;
……
常量N:
语句N;
[:
语句;
]
条件表达式的返回值类型必须是以下类型之一:
、、、。
子句中的值常量N必须是常量,而且所有子句中的值应是不同的。
子句是可选的。
语句用来在执行完一个分支后,是程序跳出语句,即终止语句的执行。
在一些特殊情况下,多个不同的值要执行一组相同的操作,这时可以不用。
6.结束本次循环语句
终止执行和循环语句
使用语句可以立刻重新开始下一轮的循环,而不再执行循环后面的语句。
使用语句可以立刻终止循环,开始执行循环后面的语句。
还可以给语句起名字,然后利用语句跳出指定循环。
6、从方法返回语句
语句主要作用是退出当前方法,将程序控制转移到方法的调用者。
一般格式为:
[值或表达式];
16、方法调用语句
方法调用语句是执行对象的某个方法。
一个完整的方法调用语句由某个方法调用加上一个分号构成。
调用语法格式为:
类对象名称.方法名(参数);
(“aa!
调用对象的方法。
17、表达式语句
表达式语句就是由一个表达式加一个分号构成的语句。
例如常见的赋值语句:
1;
而1只是一个表达式。
18、空语句
空语句就是只有一个分号构成的语句。
;
19、复合语句
复合语句又叫块,由{}将一些语句括起来就构成一个复合语句。
*100;
20、数组
(1)定义:
是用来存储一组或多组相同类型数据的数据类型。
(2)数据类型:
可以是基本数据类型(例如:
数字型、字符型、布尔型),也可以是复合数据类型(例如:
数组、类、字符串和接口)。
※数组本身就是一种复合数据类型,因此,数组的元素也可以是数组,这样就构成了二维数组和多维数组。
(3)数组作为复合数据类型,与基本数据类型最大的区别:
数组是通过引用来控制的,而基本数据类型是通过值来控制的。
1、一维数组的声明:
格式:
类型数组名[];
或类型[]数组名;
举例:
a[];
[]b;
数组的初始化有两种方法:
一种是直接初始化,另一种是动态初始化。
直接初始化
格式:
类型数组名[]={值1,值2,…,值n};
举例:
a[]={1,2,3};
b[];
b={1,2,3};
动态初始化:
(1)声明时初始化:
类型数组名[]=类型[数组长度];
(2)声明后初始化:
类型数组名[];
数组名=类型[数组长度];
2、访问数组元素
数组元素是通过数组名和下标来访问。
未被初始化的数组,不能进行访问。
数组名[下标]
中,数组的下标从0开始,直到<
数组长度-1>
结束。
获得数组的长度,通过属性来获得。
3、数组的复制
方法:
(源数组,源数组起始位置,目标数组,目标数组起始位置,长度);
★注:
不管是要复制的数组,还是被复制的数组,都必须先初始化。
a[]={1,2,3},b[]=[3];
(a,0,0,3);
将数组a复制到b
4、对象数组:
定义一个对象数组,是一个字符串缓存类
a[]=[2];
给对象赋值
a[0]=(“[0]”);
a[1]=(“[1]”);
(“a[0]=”+a[0]+“a[1]=”+a[1]);
a[0](“”);
追加字符串
(“a[0]=”+a[0]);
5、二维数组和多维数组
前面提到过,数组的元素也可以是数组,如果一个数组的每一个元素都是一个一维数组,这样就构成一个二维数组。
定义格式:
类型数组名[][];
或类型[][]数组名;
a[][];
[][]b;
这几种定义不合法:
a[2][];
b[][2];
c[2][2];
二维数组的初始化:
二维数组的初始化也有直接和动态初始化两种方式。
直接初始化格式:
类型数组名[][]={{值1,值2,…,值n},{值1,值2,…,值n}....};
a[][]={{1,2,3},{4,5,6},{7,8,9}};
动态初始化格式
类型数组名类型[长度1][长度2];
长度1表示行,长度2表示列。
a[][][3][5];
类型数组名类型[长度1][];
数组名[0]类型[长度20];
数组名[1]类型[长度21];
数组名[长度1-1]类型[长度2n];
a[][];
[3][];
a[0][5];
a[1][8];
a[2][6];
6、二维数组的应用
两个矩阵相乘的例子。
声明并初始化数组
a[][]={{8,13},{4,7},{5,2}};
b[][]={{3,4,11},{6,1,10}};
[][]=[3][3];
通过嵌套循环实现矩阵相乘的运算
(0<
){
(0<
b[0]){
[i][j]=0;
[i][j]a[i][k]*b[k][j];
}
打印结果
(“a*b:
”);
[i]){
([i][j]+“”);
();
换行}
7、一维数组的应用
例1:
将整数序列{3,15,28,11,34,78,95,27,18}首末颠倒过来。
a[]={3,15,28,11,34,78,95,27,18};
i,,;
(2)){
以下将数组元素a[i]和a[-1-i]的值互换
=a[i];
a[i]=a[-1–i];
a[-1–i]=;
(a[i]+“”);
例2:
从数据:
3225786913978638629中找到数据97所在的位置。
『用顺序查找(线性查找)方法编写程序』。
a[]={32,25,78,69,13,97,86,38,62,9};
=-1;
逐个元素与97相比较,找到则退出循环,否则继续
(0<
(a[i]97){
=i;
(-1){表示该数不存在
(“97这个数不存在!
(“97这个数的下标是:
”+);
例3:
将数据:
3728511364为例,用『冒泡法』进行升序排列。
下面编写程序代码:
(冒泡法)
a[]={37,28,51,13,64};
i,j,n,;
n=;
(1<
n){共执行n-1轮
n–j;
){第j轮
(a[i]>
a[1]){
交换a[i]与a[1]的值
=a[i];
a[i]=a[1];
a[1]=;
打印排序后的结果
(0<
){
(a[i]+“”);