Java从入门到精通
2023-06-10 16:56:09 0 举报
AI智能生成
java
作者其他创作
大纲/内容
初识Java
Java简介
什么是Java语言
Java是1995年由Sum公司推出的一门极富创造力的面向对象的程序设计语言
Java的应用领域
桌面应用系统开发,嵌入式系统开发...
Java的版本
Java SE;Java EE
怎样学好Java
明确学习目标和方向...
JavaAPI文档
API(Application Programming Interface),应用程序编程接口
Java语言的特性
简单,面向对象,分布性,可移植性,解释型,安全性,健壮性,多线程,高性能,动态
搭建Java环境
JDK下载
http://jdk.java.net
在Windows10系统下搭建JDK环境
将下载好的压缩包解压到计算机硬盘,然后配置好环境变量即可
熟悉Eclipse
熟悉Eclipse
Eclipse简介
Eclipse由IBM公司投资4000万美元开发而成
下载Eclipse
http://www.eclipse.org/downloads/
安装Eclipse的中文语言包
http://www.eclipse.org/babel/downloads.php
Eclipse的配置与启动
在Eclipse的安装文件夹中运行eclipse.exe文件,即开始启动Eclipse
Eclipse工作台
在Eclipse的“欢迎”界面中,单机“工作台”按钮或关闭欢迎界面,将显示Eclipse的工作台
透视图与视图
透视图和视图是Eclipse中的概念
菜单栏
Eclipse的菜单栏包含了Eclipse的基本指令
工具栏
Eclipse的工具栏位于菜单栏的下方
“包资源管理器”视图
“包资源管理器”视图用于浏览项目结构中的Java元素
“控制台”视图
“控制台”视图用于显示程序运行的输出结果和异常信息
使用Eclipse
创建Java项目
在Eclipse中编写程序,必须先创建项目
创建Java类文件
创建Java文件时,会自动打开Java编辑器
使用编辑器编写程序代码
编辑器总是位于Eclipse工作台的中间区域,该区域可以重叠放置多个编辑器
运行Java程序
HelloJava类包含main()方法,它是一个可以运行的主类
程序调试
使用Eclipse的Java调试器需要设置程序断点,然后使用单步调试分别执行程序代码的每一行
Java语言基础
Java主类结构
包声明,成员变量,局部变量,主方法,导入其他类
基本数据类型
整数类型
byte,short,int,long
浮点类型
float,double
字符类型
char,转义字符
布尔类型
boolean
变量与常量
标识符和关键字
两者的作用分别是自拟名以便于标识和属于保留字含有特殊意思
声明变量
告诉编辑器此变量的数据类型
声明常量
只被赋值一次
变量的有效范围
变量有他的生命周期
运算符
赋值运算符
用运算符号“=”表示
算术运算符
+-*/%代表加减乘除取余
自增和自减运算符
单目运算符,必须是一个整型或者浮点型变量
比较运算符
分别是<,>,==,<=,>=,!=
逻辑运算符
分别是&&,&,||,!
位运算符
针对位方面的操作
三元运算符
条件式?值1:值2
运算符优先级
自增自减>算数>比较>逻辑>赋值
数据类型转换
隐式类型转换
从低级类型向高级类型的转换
显示类型转换
高精度变量的值赋给低精度的变量
代码注释与编码规范
代码注释
提高程序的可读性
编码规范
对程序的维护工作有很大的帮助
流程控制
复合语句
作用域:{}
条件语句
if条件语句
在某条件成立的情况下执行某段语句,另一种情况执行另一段语句
switch多分支语句
检测一个变量是否符合某个条件,不符合在用另一个值来检测
循环语句
while循环语句
用循环的方式为利用一个条件来控制是否要继续反复执行这个语句
do...switch循环语句
先执行一次条件再对其进行判断
for循环语句
重复执行某条语句,直到某个条件得到满足
循环控制
break语句
跳出当前循环体,中断当前循环
continuc语句
跳过本次循环,回到循环的条件测试部分,重新开始执行循环
数组
数组概念
一组相同类型数据的线性集合
一维数组
创建一维数组
作为对象允许使用new关键字进行内存分配
初始化一维数组
数组与基本数据类型一样可以进行初始化操作
使用一维数组
是常见的一种数据结构
二维数组
创建二维数组
二维数组可以看作是特殊的一维数组
初始化二维数组
和一维数组相似
使用二维数组
实际应用非常广泛
数组的基本操作
遍历数组
获取数组中的每个元素
填充替换数组元素
数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换
对数组进行排序
通过Arrays类的静态方法sort()可以实现对数组的排序
复制数组
Arrays类的copyOf()方法可以实现对数组的复制
查询数组
Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象
数组排序算法
冒泡排序
在程序设计中,经常需要将一组数列进行排序,这样更加方便统计与查询
直接选择排序
是选择排序的一种,排序速度比冒泡排序快一些,也是常用的排序算法
反转排序
将相反的顺序把原有数组的内容重新排序
类和对象
面向对象概述
对象
随处可见的事物
类
给某一类事物一个统称,就需要用到类的这个概念
封装
封装性,继承性,多态性
继承
关联,两个类之间的一般二元关系
多态
将父类对象应用于子类的特征就是多态
类
成员变量
对象的属性也被称为成员变量,成员变量可以是任意类型,整个类中均是成员变量作用范围
成员方法
使用成员方法对应类对象的行为
权限修饰符
private,public,protected
局部变量
在成员方法中定义一个变量,这个变量就是局部表变量
局部变量的有效范围
可以将局部变量的有效范围成为变量的作用域,局部变量的有效范围从该变量的声明开始到该变量的结束为止
this关键字
this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类
类的构造方法
当类实例化一个对象时,类都会自动调用构造方法
静态变量和静态方法
由关键字static修饰的变量和方法被称为静态变量和静态方法
类的主方法
主方法是类的入口点,它定义了程序从何开始
对象
对象的创建
在Java语言中使用new操作符调用构造方法创建对象
访问对象的属性和行为
使用“对象.类成员”来获取对象的属性和行为
对象的引用
操作标识符
对象的销毁
每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址需要被回收
继承,多态,抽象类与接口
类的继承
类的继承让整个程序架构具有一定的弹性
Object类
属于所有类的父类
对象类型的转换
向上转型
子类类型的对象转换为父类类型的对象
向下转型
父类类型的对象转换为子类类型的对象
使用instanceof关键字判断对象类型
判断是否一个类实现了某个接口,也可以用它判断一个实例对象是否属于一个类
方法的重载
让方法名相同二形参不同的构造方法同时存在
final关键字
final变量
变量一旦被设定,即不可被改变
final方法
防止子类修改父类的定义与实现方式,同时定义为final的方法的执行效率要高于非final方法
final类
不被任何类继承,且不允许其他人对这个类有改动
多态
使程序具有良好的扩展性,并可以对所有类对象进行通用的处理
抽象类与接口
抽象类
一般父类会被定义成抽象类,需要使用这个父类进行继承与多态处理
接口
抽象类的延申,接口中的所有方法都没有方法体
Java类包
类名冲突
编译器不允许存在同名的类文件
完整的类路径
一个完整的类名需要包名和类名的组合
创建包
package包名
导入包
import com.mr.*;
内部类
成员内部类
class InnerClass
匿名内部类
nwe 父类/父接口(){子类实现的内容};
包和内部类
包
java类包
类名冲突
完整的类途径
导入包
创建包
内部类
成员内部类
匿名类
异常处理
异常概述
在一个程序执行期间发生的事件中断了正在执行的程序的正常指令
异常的抛出与捕捉
抛出异常
异常抛出如果不做任何处理程序就会被终止
捕捉异常
由try,catch,finally三部分组成
Java常见的异常类
ClassCastException
自定义异常
通过throw关键字抛出异常对象,使用try-catch语句捕捉
在方法中抛出异常
使用throws关键字抛出异常
throws关键字通常被应用在声明方法时,用来指定方法可能抛出的异常
使用throw关键字抛出异常
throw关键字通常用于方法体中,并且抛出一个异常对象
运行时异常
RuntimeException异常是程序运行过程中抛出的异常
异常的使用原则
Java异常强制用户去考虑程序的强健性和安全性
字符串
String类
声明字符串
String str;
创建字符串
String(char a[])
连接字符串
连接多个字符串
s1 + "/n" + s2
连接其他数据类型
booktime
获取字符串信息
获取字符串长度
str.length();
字符串查找
str.indexOf(substr)
获取指定索引位置的字符
str.charAt(int index)
字符串操作
获取子字符串
str.substring(int beginIndex)
去除空格
str.trim()
字符串替换
str.replace(CharSequence target,CharSequence replacement)
判断字符串的开始与结尾
str.startsWith(String prefix)
判断字符串是否相等
boolean b = (A == B);
按字典顺序比较两个字符串
str.compareTo(String otherstr)
字母大小写转换
str.toLowerCase()
字符串分割
str.split(String sign)
格式化字符串
日期和时间字符串格式化
String s = Sting.format("%te",A);
常规类型格式化
%b,%B = true...
使用正则表达式
.=任意字符...
字符串生成器
append(content)...
常用类库
包装类
Integer类
int数据类型的值
Double类
double,float基本类型的封装
Boolean类
将基本类型boolean的值包装在一个对象中
Character类
包装一个基本类型为char的值
Number类
包装类的父类
数字处理
数字格式化
用常规小数形式表示或者科学计数法表示
Math类
Math.数学方法
Random类
Random r = new Random();
BigInteger类
Biglnteger twolistance = new Biglnteger("x")
BigDecimal类
BigDecimal类比BigInteger类多加了小数点的概念
System类
控制台输出字符
System.out.print("hello")
计时
System.currentTimeMillis()方法
Scanner类
import java.util.Scanner;
日期时间类
Date类
Date date = new Date(timeMillis);
日期时间格式化
DateFormat df = DateFormat.getDatelnstance();
Calendar类
Calendar rightNow = Calendar.getlnstance();
Runtime类
执行本地命令
Runtime.getRuntime().exec("javac hello.java")
查看内存
freeMemory()方法
自由主题
收藏
0 条评论
下一页