Java基础知识.docx
- 文档编号:8321947
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:24.06KB
Java基础知识.docx
《Java基础知识.docx》由会员分享,可在线阅读,更多相关《Java基础知识.docx(11页珍藏版)》请在冰豆网上搜索。
Java基础知识
Java基础知识
2018-10-10
1.JAVA语言对于标识符的规定
1.标识符可由任意顺序的大小写字母、数字、下划线_和美元符号$组成
2.标识符不能以数字开头
3.标识符不能是Java中的保留关键字
4.Java中的标识符是区分大小写的
2.数据类型
3.选择结构
if…else语句
if(条件==true){
语句组;
}
else{
语句组;
}
嵌套if…else语句
if(条件==true){
语句组;
}
elseif(条件==true){
语句组;
}
else{
语句组;
}
4.循环结构
for循环
for(初始变量;循环条件;条件迭代){
语句组;
}
while循环
初始变量;
while(循环条件){
语句组;
条件迭代;
}
do…while循环
初始变量;
do{
语句组;
条件迭代;
}while(循环条件);
注意:
1.for适合于预先知道循环将要进行的次数的情况
2.while适合于不清楚循环将要进行的次数,而且循环可能一次都不进行的情况
3.do…while适合于不清楚循环将要进行的次数,但是循环肯定要进行一次的情况
5.三元运算符和switch语句
三元运算符:
intc=a>b?
a:
b;
如果a>b,把a赋给c;a
switch语句:
switch(表达式){
case常量:
语句组;
break;
default:
语句组;
}
表达时必须为byte,short,int,long,或char类型,jdk1.7之后,可以为String类型。
6.接受键盘和循环中断
接受键盘
Scannersc=newScanner(System.in);
inta=sc.nextInt();
Stringb=sc.next();
charc=sc.next().charAt(0);
doubled=sc.nextDouble();
循环中断
break:
强迫程序中断循环,离开循环体
continue:
强迫程序调到循环的开始处,continue之后的语句将不再执行,回到循环开始处
7.面向对象
类与对象的关系:
类是对一组具有相同属性、操作和关系的同类事物的描述,是抽象的。
对象是实际存在的该类事物的每个个体,因而也称实例。
类定义语法:
class类名称{
数据类型属性1;
数据类型属性n;
public返回值类型方法名(数据类型属性1,数据类型属性n){
[return表达式;]
}
}
8.实例化对象
声明对象同时实例化:
类名对象名=new类名();
给成员变量赋值:
对象名.成员变量名=值;
调用成员方法:
对象名.成员方法名(参数1,参数n);
new关键字的作用:
new是用来实例化对象的关键字
在实例化对象时,在内存开辟内存空间用来存放该对象
9.构造方法
定义:
访问修饰符类名(数据类型参数){
this.变量名=参数名;
}
this关键字的作用:
this表示当前对象
使用this.可以调用当前对象的属性和方法
注意:
如果一个类的构造方法声明为private,则其他类不能实例化该类的对象
10.封装
定义:
将其信息属性和方法隐藏起来,只提供调用方法的借口
为什么需要封装:
1.隐藏类的实现细节
2.让使用者只能通过指定的方法访问数据,可以方便加入控制逻辑,限制不合理的操作
3.便与修改,增强代码可维护性
实现:
class类名{
private成员变量;
public数据类型getXXX(){
return变量名;
}
publicvoidsetXXX(成员变量){
this.变量名=变量名;
}
}
11.继承
定义:
将一个已有类中的属性和方法保留,再加上自己特有的属性和方法形成一个新类,既继承
一个类从另一个类派生出来的过程叫继承
被继承的类称为父类
执行继承的类称为父类
实现:
class子类名extends父类名{
//类体
}
注意:
1.继承使用extends关键字实现
2.子类继承父类的全部成员,除private的成员或方法
3.Java中只支持单继承
4.子类不继承父类的构造方法,但在子类的构造方法中可以使用super调用父类的构造方法
12.多态
1.重写:
子类继承父类中,子类中提供的方法名、参数列表、返回值类型都相同,但方法的具体实现不同
注意:
1.如果在子类中想调用父类的那个被重写的方法,我们可以用super.方法名
2.重写方法中,不能使用比父类中被重写的方法更低的访问权限(public>protected>default>private高到低)
2.重载:
在同一个类中方法名相同,方法的参数类型或个数不同
注意:
1.重载只能在一个类中实现
2.两个方法参数类型相同,参数名不同不能作为重载的条件,不算重载
3.返回值类型不能算为重载的条件
4.类中的构造方法可以重载
13.final关键字
定义:
最终不变的
privatefinalStringCOUNTRY=”中国”;
特点:
1.使用final生命的变量为常量,常量值不可以修改
2.使用final声明的类不能有子类
3.使用final声明的方法不能被子类重写
14.static关键字
定义:
声明的变量和方法都是全局的,属于该类的所有对象共享
privatestaticfinalStringCOUNTRY=”中国”;
小结:
1.static修饰的属性、方法都是属于该类的所有对象共享
2.static修饰的属性、方法会在类第一次加载的时候就分配内存空间
3.static修饰的属性、方法可以直接通过类名来访问
15.包的使用
定义:
是在使用多个类或接口时,为了避免名称重复而采用的一种措施,类似于操作系统中的文件目录
作用:
避免类或接口重名冲突
实现访问权限控制
声明语法:
package包名.子包名.子子包名;
导入:
在一个类中使用另一个包中的类必须使用import关键字导入该类
Import.包名.子包名.类名;
16.访问修饰符
public公共的
可以被所有的类访问
protected受保护的
可以被这个类本身访问
被它的子类(同一个包以及不同包的子类)访问
同一个包中的所用其他的类访问
default默认的
被这个类本身访问
被同一个包中的类访问
private私有的
只能被这个类本身访问
17.抽象类
抽象类:
包含一个抽象方法的类称为抽象类,抽象类在class前使用abstract关键字修饰
抽象方法:
只声明而未实现的方法称为抽象方法,使用abstract关键字修饰该方法
语法:
abstractclass抽象类类名{
//抽象方法
访问修饰符abstract返回值类型方法名(参数列表);
}
使用规则:
1.包含一个抽象方法的类必须是抽象类
2.抽象类和抽象方法都要使用abastract关键字声明
3.抽象方法只需要声明而不需要实现
4.抽象类必须被子类继承,子类必须重写抽象类的全部抽象方法
5.抽象类的定义不能使用final关键字修饰class,因final不能有子类
18.接口
定义:
接口是比抽象类更抽象的类,一般来说,只有方法的声明和定义全局常量,接口的定义使用interface关键字修饰类
语法:
interface类名{
全局常量定义;
抽象方法声明;
}
实现:
接口是比抽象类更抽象的类,所以与抽象类一样不能直接实例化对象,创建子类实现接口中的抽象方法
语法:
class子类implement接口A,接口B{
//实现接口中的方法
}
注意:
1.一个类只能继承一个父类,但是可以实现多个接口,
不同的接口使用逗号隔开,实现接口的多继承
2.接口是一个特殊的类,只包含全局常量和抽象方法
3.子类同时共享多个接口中的常量,且必须实现多个接口中的方法
4.若子类中有未实现的抽象方法,那么子类就必须定义为抽象类
5.接口不能继承抽象类
19.数组
1.概念:
是有相同类型的,用一个标识符名称封装到一起的一个对象序列或基本数据类型数据序列
说明:
数组是一种最简单的复合数据类型
数组可以是一维的也可以是多维的
数组中的每个元素可以通过数组名和唯一的数组下标来确定,数组的下标从0开始,最大下标为(数组长度-1);例如数组长度为10,则下标从0~9
一维数组语法:
数据类型[]数组名;
案例:
Int[]x;
2.动态初始化:
用new关键子对象分配其内存空间,通过赋值语句分别为每个元素赋值
动态初始化语法:
数据类型[]数组名=new数据类型[数组长度];
案例:
Int[]x=newint[100];
数组中元素的引用方式:
数组名[index];
index为数组下标,可是整形常数或表达式
index取值从0到数组长度-1
3.静态初始化语法:
声明数组的同时给数组中的每个元素赋值,根据赋值元素的个数决定数组的长度,并在堆中分配连续的存储空间
案例:
Int[]x={1,2,3};
二维数组语法:
数据类型[][]数组名;
静态初始化语法:
数据类型[][]数组名={{初值列表1},{初值列表2},{初值列表n}};
案例:
Int[]x={{1,2,3},{4,5},{6}};
4.注意:
1.声明数组时,无论用何种方式定义数组,都不能指定其长度
2.数组的使用分为两个步骤:
1 声明数组:
是在栈内存中分配空间,该值指向堆中数组第一个元素的地址
2 为数组元素在堆中分配空间:
是使用关键字new在动态赋初值或是直接静态赋值
3.求数组长度使用数组属性length,语法调用数组名称.length
4.在Java中数组是对象,不是基本数据类型
20.ArrayList和HashMap集合
ArrayList:
ArrayList是List接口的实现类,该接口的特点是可以保存重复的、有序元素,可以通过add(Object)方式向集合中添加元素,get(intindex)得到集合中对应的元素
HashMap:
HashMap是Map接口的实现类,该接口的特点是以键-值对的方式存取元素,元素的存取是无序的,HashMap中不允许出现重复的键,但允许键-值都是空,使用put(key,value)方式向集合中添加元素,通过get(key)的方式得到value值
21.JDBC连接数据库
连接MySQL数据库:
导入MySQL数据库连接架包,在mysql的jar包上右键选择buildpath-addtobuildpath
//1.注册驱动
//2.创建连接对象
Connectioncon=DriverManager.getConnection(url,"root","root");
//3.创建陈述对象
Statementst=con.createStatement();
//4.返回结果集
Stringsql="SELECTSno,SnameFROM表名";
ResultSetrs=st.executeQuery(sql);
while(rs.next()){
intSno=rs.getInt("Sno");
StringSname=rs.getString("Sname");
}
//5.释放资源
rs.close();
st.close();
con.close();
22.多线程
线程的生命周期:
创建状态→
就绪状态→
运行状态→
阻塞状态→
终止状态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础知识