java基本概念.docx
《java基本概念.docx》由会员分享,可在线阅读,更多相关《java基本概念.docx(27页珍藏版)》请在冰豆网上搜索。
java基本概念
java语言4个思想原则:
1.程序的本质:
实现对数据的存储和加工
2.面向对象思想:
1)通过分析程序需要计算的数据和需要实现那些功能,总结出类;2)用类创建对象;3)调用对象的方法实现具体功能
3.创建方法的步骤:
类的方法由四要素构成,方法的参数表示为了得到计算结果需要给方法提供的计算对象,在方法内可以用运算符,选择结构和循环结构来对数据进行运算
4.使用循环:
使用循环时,首先写出三四步具体的循环,然后总结规律,再找出循环四要素,用循环语句写出循环
0简单数据类型intdoublecharStringboolean
常量格式字符型'A'字符串"book"逻辑truefalse
创建变量inta;doubleb;charc='a';Stringstr="student";booleanflag=true;
1创建类
1)类的结构
2)class类名{}
2创建属性
1)数据类型属性名;
3创建方法
1)数据类型方法名(形参){
方法体
}
4创建对象
1)类名对象名=new构造函数();
2)类与对象的关系
5调用对象的方法
1)对象名.方法名(实参);
6构造函数
1)创建对象时,为对象的属性赋值
2)与类名相同,无返回值
3)用new运算符隐式调用
7this1
1)代表当前对象
2)当函数的形参和属性名称相同时,用this指出属性
3)调用本类的其他方法
8包
1)存储类的文件夹,方便类的存储和使用,解决命名冲突
2)package包名;
3)import包名.类名;
9访问权限
1)决定类成员的使用权限
2)private默认protectedpublic
10控制结构和数组
运算符&&||!
++iinstanceOf?
:
1)if(条件1){
语句1;
}
2)if(条件1){
语句1;
}else{
语句2;
}
3)if(条件1){
语句1;
}elseif(条件2){
语句2;
}elseif(条件3){
语句3;
}
4)while(循环条件){
循环体
}
5)for(循环变量=初值;循环条件;循环变量改变){
循环体
}
6)breakcontinue
7)
数据类型数组名[];
数组名=new数据类型[长度];
数组长度:
数组名.length
8)
数据类型数组名[][];
数组名=new数据类型[行数][列数];
--------------------------
11函数重载(多态)1
1)在同一个类中,多个不同功能的方法取相同的名字
2)定义时形参列表必须不同
3)调用时根据实参与形参的匹配来决定调用哪个方法版本
12static
1)static成员只在类中保存一次,对象中不存储static成员,同类所有对象共享一个静态成员,归同类所用对象共享
2)静态属性用static修饰;声明属性时直接赋值;可以用"类名.属性名"来使用
3)静态方法性用static修饰;可以使用类名直接调用
4)静态方法内只可以直接使用本类的静态成员,需要使用非静态必须创建对象;但非静态方法内可以直接使用本类的静态成员
-----------------------
13继承
1)继承是类之间的关系,通过继承子类获取父类的全部成员(构造方法和私有成员除外)
2)class子类extends父类{}
3)子类的构造函数在运行之前自动调用父类的构造函数;如果父类构造函数有参数则在子类构造函数中用super(实参)调用.并且是第一句
1.概念2.语法3.私有4.构造5.方法覆盖6.向上转型7.单一
14super
1)代表父类
2)子类的构造函数调用父类的构造函数
3)调用被父类覆盖的方法
15abstract
1)抽象类不可以创建对象,只能用来被继承
2)抽象方法只有方法头,没有实现代码
16动态绑定(多态)
1)子类覆盖父类的同名方法;用父类的引用指向子类对象;用父类的引用调用覆盖方法
2)根据父类引用指向的真正对象,调用该对象中覆盖方法的版本
17final1
1)final类只能用来创建对象,不能被继承
2)final修饰的属性为常量
18接口
1)接口中所有的属性都是常量,接口中所有的方法都是抽象方法
2)interface接口名{}
3)class类implements接口{}
4)接口提出标准要求,类来具体实现;通过接口操作类
1.属性常量抽象方法
2.interface接口名{
publicstaticfinal数据类型常量=值;
publicabstract数据类型方法名(形参);
}
3.class实现类implements接口名{
属性
方法
}
4.接口不可以创建对象,但可以声明接口的引用
5.接口的实现类必须实现接口的全部方法
6.不相关的类可以实现同一个接口
7.一个类可以同时实现多个接口
8.抽象类可以实现接口的部分方法
--------------------------
19异常1
1)try{}catch(){}finally{}
2)throws
3)throw
--------------------------
20java基础类
1)java.lang.Objectjava中所有类的父类(间接或直接)
2)java.lang.Class当某个类创建对象时,自动创建一个和该类相关的Class类对象,一个类有一个Class对象,通过Class对象可以获取类的信息(类名构造方法属性方法父类)
3)java.lang.String字符串
4)java.lang.StringBuffer可变字符串,可以改变该字符串的长度和内容
5)java.lang包装类(byteintlongfloatdoublechar)IntegerDoubleLongBoolean
6)java.util.Date
7)java.text.SimpleDateFormat
8)java.lang.System
===============
1)Object
(1)publicStringtoString()-返回该对象的字符串表示
(2)publicbooleanequals(Objectobj)-判断参数对象是否与此对象“相等”。
2)Class
(1)publicstaticClassforName(StringclassName)throwsClassNotFoundException
-创建一个与参数指定的类相关联的Class对象
(2)publicObjectnewInstance()throwsInstantiationException,IllegalAccessException
-创建此Class对象所表示的类的一个新实例
注:
用Class创建某类对象时,要求该类必须有一个无参构造方法
3)String
(1)publicchar[]toCharArray()-将此字符串转换为一个新的字符数组
(2)publiccharcharAt(intindex)-返回此字符串指定索引处的char值索引从0开始
(3)publicintlength()-返回此字符串的长度
(4)publicintindexOf(Stringstr)-返回指定字符在此字符串中第一次出现处的索引,如果未出现该字符,则返回-1,索引从0开始
(4)publicintlastIndexOf(Stringstr)-返回在此字符串中最右边出现的指定子字符串的索引
(5)publicStringtrim()-删除字符串左右空格
(6)publicStringsubstring(intbeginIndex,intendIndex)-取字串索引从0开始
(7)publicString[]split(Stringregex)-按参数字符进行字符串的拆分
(8)publicbooleanstartsWith(Stringprefix)-测试此字符串是否以参数指定的前缀开始
(9)publicbooleanendsWith(Stringsuffix)-试此字符串是否以指定的后缀结束
(10)publicStringreplaceAll(Stringregex,Stringreplacement)-将字符串中所有的regex替换成replacement
(11)publicStringconcat(Stringstr)-将指定字符串联到此字符串的结尾
(12)publicstaticStringvalueOf(inti)-整型转成字符串对象
4)StringBuffer
(1)publicStringBufferappend(Stringstr)-将指定的字符串追加到此字符串
(2)publicStringBufferinsert(intoffset,Stringstr)-将字符串插入此字符序列中索引从0开始
(3)publicStringBufferdelete(intstart,intend)-删除子串start起始索引(包含)end-结束索引(不包含)
5)包装类IntegerDoubleLong
Integer
publicintintValue()-转换为int类型后该对象表示的数值
publicstaticintparseInt(Strings)throwsNumberFormatException-字符串转int
Double
publicdoubledoubleValue()-此对象表示的double值
publicstaticdoubleparseDouble(Strings)throwsNumberFormatException-字符串转double
Boolean
publicbooleanbooleanValue()-将此Boolean对象的值作为基本布尔值返回
publicstaticbooleanparseBoolean(Strings)
6)Date
(1)publicDate()-构造生成表示当前时间的对象
(2)publicDate(longdate)-构造参数date:
自1970年1月1日00:
00:
00以来的毫秒数
7)SimpleDateFormat
(1)publicSimpleDateFormat(Stringpattern)-构造方法ASCII字母用''括起,其他字符不用.
(2)publicfinalStringformat(Datedate)-将一个Date格式化为日期/时间字符串
8)System
(1)publicstaticlongcurrentTimeMillis()-返回以毫秒为单位的当前时间
-1970年1月1日0时之间的时间差(以毫秒为单位测量)。
--------------------------
21集合
Collection
ListArrayList
SetHashSet
MapHashMap
Iterator
--------------------------
22I/O操作
FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream
FileReader
FileWriter
BufferedReader
BufferedWriter
--------------------------
23线程1
--------------------------
24网络通信
--------------------------
25jdbc技术
--------------------------
26图形用户界面
动态绑定静态联编
1.方法覆盖方法重载
2.取决于父类的引用指向的实际对象实参的个数或类型
3.需要继承需要向上转型不需要继承和向上转型
4.运行时期决定编译阶段
*包
包
把多个功能相似或相互协作的类存储到一起,形成一个类的集合,称为包.如果在程序中用到某个包的类,则必须在程序中引入该包
创建包package包名;
packagehlj.harbin;
引用包import包名.类名;
importhlj.harbin.Second;
import包名.*;
编译运行javac-d.类名.java
java包名.类名
一个程序文件只能有一条package语句,且必须是程序的第一条语句.import语句可以有多个
包中的类如果想被其他包中的类使用,必须定义为公有类,注意一个文件最多有一个公有类
如果不创建包则类被放到一个未命名的包中,不能被其他包中的类使用
java程序结构:
1)package2)import3)类
使用包的目的:
包是类存储时的组织形式,方便类的管理和使用;解决命名冲突
访问权限
私有权限:
本类的成员函数(1个)private
默认权限:
本类的成员函数,同包其他类(2个)
保护权限:
本类的成员函数,同包其他类,不同包子类(3个)protected
公有权限:
本类的成员函数,同包其他类,不同包子类,不同包其他类(4个)public
注意:
类只有2种访问权限
API类库
java.util.Scanner
publicStringnextLine()
Java.util.String
equals()
valueOf()
java.lang.Integer
publicstaticintparseInt(Strings)
java.lang.Double
publicstaticdoubleparseDouble(String?
s)
java.lang.Math
publicstaticdoublesqrt(double)
publicstaticdoublerandom()
1.什么是java语言
程序设计语言:
人与计算机相互交流的工具,人通过程序设计语言向计算机下达命令,每句话又称指令或代码,计算机执行这些指令,实现指令功能.程序设计语言两个要素:
思维模式和语法结构
程序:
用程序设计语言书写的完成某一种功能的文件,是命令的集合;也就是说计算机程序是许多指令集合,每一条指令让计算机完成一个具体的功能,程序中全部代码执行完后,就能产生计算结果
程序设计:
用计算机解决问题时,书写程序的过程.由解决问题的思想步骤和语法结构两部分组成
计算机工作原理
1.计算机工作原理
常量:
常量就是数据的一种表现形式,程序的运算对象.其值固定不变.程序就是对常量进行运算得到结果
变量:
变量是常量的容器,是常量的存储空间,具有容器性和可变性,其值可以随意改变,程序的运算对象.
数据类型:
对数据按照其意义和能进行的操作进行的分类,根据数据类型不同,决定其所能进行的运算和存储方式
数值型:
表示量的多少801.85
字符型:
客观事物的名称,由字母,汉字和数字组成‘t’“student”
逻辑型:
对客观事物进行的评价(真,假)truefalse95>6
(intdoublecharStringboolean)共6个
4.运算符:
能够实现某种运算功能的符号+-*/
2面向对象程序设计思想
面向对象设计思想:
根据要解决的实际问题抽象出类,用类创建对象,调用对象的方法实现程序功能
3创建类
1.什么是类
1)地位:
类是构成应用程序的基本单元,是实现程序功能的核心结构
2)构成:
数据成员:
用来存储描述问题的基本数据,又称属性,用变量来实现
函数成员:
对数据成员进行操作,实现类的功能,又称方法
关系:
类的方法可以直接使用本类的每一个属性
类的方法可以直接使用本类的每一个方法
3)访问权限
public:
该成员可以被程序中所有类的方法使用
private:
该成员只能被本类的方法使用,在类体外不能直接访问类的私有属性和方法
如果需要在类体外使用类的私有成员,则通过类的公有方法实现
2.类的功能:
类不但决定了对象中能够存储那些数据,还是对象所有功能的具体实现.用类创建对象
3.创建类的语法格式
class类名{
数据成员
函数成员
}
4创建属性
1.属性是类的一种成员,用来存储类的数据
2.创建属性的语法格式:
数据类型变量名;
inta;
doublea;
charc;
Stringd;
booleanf;
(intdoublecharStringboolean)
5创建方法
1.方法是类的一种成员,对数据成员进行操作,是一种代表复杂运算功能的特殊运算符.实现类的功能
2.方法四要素:
方法名
功能
参数
返回值
3.创建方法的语法格式:
数据类型方法名(数据类型参数名1,数据类型参数名2){
函数体
}
4.return语句:
结束函数的运行回到调用位置
带回函数的运算结果
6创建对象
1.对象:
对象是以类为模板创建的实例,对象是类的运行体.对象具备类定义的全部成员;没有对象,类的任何功能都不可能实现;类是对象的模板,是同类对象的总结和抽象;
2.创建对象的语法格式
类名对象名=new类名();
7调用对象的方法
1.类体外部调用
对象名.方法名(参数);
2.类体内部调用
方法名(参数);
3.函数调用过程:
参数传递,执行函数内部代码,结束并返回到调用位置
8JDK安装环境
安装jdk
把程序文件放在[jdk安装环境\bin]
开始/运行/cmd
cd[jdk安装环境\bin]
javac文件名.java
java文件名
9主函数和输出语句
publicstaticvoidmain(Stringargs[]){
}
System.out.println(“结果”+45);
10Java语法规则
类名首字母大写,以后每个单词首字母大写,其他小写
属性和方法首字母小写,以后每个单词首字母大写,其他小写
对象名都小写
每行语句以;结束
严格区分大小写
缩近4个空格
注释
//单行注释
/*
多行注释
*/
运算符
算术运算符:
+-*/%++ii++
%两个整数想除取余数小数不可以求余用来判断是否整除
/实数相处得实数,两个整数相除,依然得整数(去尾取整)
++ii加1,表达式的值等于加之后的值
i++i加1,表达式的值等于加之前的值
关系运算符:
>>=<<===!
=
逻辑运算符:
&&||!
&&表示两个条件同时成立
||表示两个条件只要成立某一个就行
!
真变假,假变真
对象instanceof类
运算符优先级
instanceofi++!
*/%
+-
>>=<<=
==!
=
&&
||
?
:
(数据类型)
控制结构
字符的Accis码97—12265---901332
控制结构
结构控制语句
1)if双分支
2)if多分支
3)switch多分支
4)条件运算符
if单分支
格式
if(条件表达式){
语句1;
}
2.执行过程:
首先计算条件表达式的值,如果其值为真,则执行语句1,否则什么也不做
3.使用场合:
对一个条件进行判断,如果成立则做一件事情,条件不成立什么也不做的情况
4.条件表达式可是是关系表达式,逻辑表达式和数值表达式
if双分支
格式
if(条件表达式){
语句1;
}else{
语句2;
}
2.执行过程:
首先计算条件表达式的值,如果其值为真,则执行语句1,否则执行语句2;
3.使用场合:
对一个条件进行判断,如果成立则做第一件事情,条件不成立则做第二件事情
4.else总是和它上边离它最近的if匹配
If多分支
格式
if(条件表达式1){
语句1;
}elseif(条件表达式2){
语句2;
}elseif(条件表达式3){
语句3;
}else{
语句4;
}
4.测试表达式的值和常量的类型只能是整型和字符型
5.没有break语句,则从匹配的分支开始一直执行到最后一个分支
6.与if多分支的区别
7.default:
可以没有
条件运算符
格式
表达式1?
表达式2:
表达式3
2.运算规则:
首先计算表达式1的值,若表达式1的值为真,则运算结果等于表达式2的值;否则运算结果等于表达式3的值
3.算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符
4.条件运算符的结合性是自右至左
1)循环结构:
能够使一条语句被反复执行n次
2)循环变量:
每次执行循环都被改变的量,并且它的改变最终使循环结束
3)循环体:
被反复执行的语句
4)循环条件:
能够使循环执行若干次后终止的条件
5)循环四要素:
循环变量赋初值循环条件循环体循环变量增值
6)首先写出三步具体的循环,然后总结规律,再找出循环四要素,用循环语句写出循环
while循环结构
1)格式:
while(循环条件){
循环体
}
2)执行过程:
首先计算循环条件的值,如果其值为真,则执行一次循环体;然后返回循环条件处,第2次计算循环条件的值,如果其值还是真,则再一次执行循环体;以此类推,直到循环条件的值为假,则退出循环
for循环
1)格式:
for(循环变量赋初值;循环条件;循环变量增值){
循环体;
}
2)执行过程:
首先执行一次循环变量赋初值,然后计算循环条件的值,如果其值为真,则执行一次循环体,再执行循环变量增值,一次循环结束;再计算循环条件的值,如果还是真,再一次执行循环体,然后执行循环变量增值;如此反复,直到循环条件为假退出循环
break:
遇到break强制退出循环,即循环结束
continue:
遇到continu