java
2019-07-17 11:22:50 0 举报
AI智能生成
登录查看完整内容
小白的jsva思维导图
作者其他创作
大纲/内容
java
语言基础
命名规范
类首字母大写
数字 字母 下划线 $
驼峰命名法 testCircleTrangle
关键字 不能用来作变量名
区分大小写
大驼峰
SetName()
小驼峰
setName()
数据类型
基本数据类型
整数类型
byte
数据类型转换
大》小
强制类型转换
(类型)
小》大
位 1字节=8位
-128~127
short
byte+short是int
int
long
定义数据L
浮点类型
float
定义数据f
没有小数点,不加f也不报错
double
多
字符类型
char
编码级
ascli
unicode
java中的字符使用的是16位的Unicode编码
utf-8
一个字符 =两个字节
布尔类型
boolean
true/false
引用数据类型
数组
一组数
下标
数组长度
获取方法 数组名[索引]
for/foreach
冒泡排序
缺点
长度不能修改啊
定义方式
3种
类 (class)
数据类型 变量名=值
Cat cat = new Cat()
接口(interface)
运算符
算术运算符
% 取余运算符
++,--运算符
X++
先用后加
++X
先加后用
关系运算符
> >= < <= == !=
=赋值运算符
运算符的左边必须是变量
+=:自带强制转换功能
比较运算符
逻辑运算符
与运算符
或运算符
异运算符
非运算符
三元运算符
位运算符
>> <<
流程控制语句
1 分支语句
执行分类
if() clse if()
switch() case 值
byte,short,int 没问题
long,float,double会报错,但是可以再括号内将他们转化为int,就美俄问题了
从jdk1.7开始,String也可以
char也可以
boolean会报错,而且boolean是不能强制转换成int的
2循环
初始值 循环条件 更新初始值
for
for(;;){}
while
do()while()
跳出循环
break
reture
方法结束
continue
当次结束
结构语句
判断结构
if
选择结构
switch
循环结构
do..while
循环嵌套
forfor嵌套
变量
概念
程序执行的过程中,在指定范围内变化的量
格式
数据类型 变量名 = 初始值;
数据类型之间的转换
隐式转换
就是自动类型转换
容量小的数据类型 自动转换为容量大的数据类型
强制转换
容量大的数据类型 强制转换为 容量小的数据类型
(转换后的数据类型)需要转换的数据
常量
字符串String
初始化
“ ”引起来表示一个字符常量
String变量名=字符串常量;
String变量名=new String(字符串常量);
字符串比较
不要使用==
值类型
引用类型
equals(变量)
将次字符串与指定对象进行比较,其结果是true当且仅当该参数不是null并且是string对象,表示相同的字符创列表作为该对象
get会将用户名和密码放在URL中,进而出现在浏览器的历史记录中,显然这种情况应该用post,更多百度
连接字符串
+连接符
获取字符串信息
长度length()
查找
indexof
查找字符串中字符串的首个位置,返回找到之后的索引值
如果没找到,返回-1
lastindexof
从后往前找首位置
获取字符
charAt(索引);下标对应的第几个字
toUpperCase转大写
toLowerCase转小写
indexOf();从做往右数
compareTo();比较两个字符串
compareToIgnoreCase();比较忽略大小写
conCat();连接函数
contains();这个字符串中是否包含它true/false
endswith();以.....结束
getBytes();把字符串变为数组
replace();替换(一个换另一个)
trim();去除空格的
lastIndexof();从右往左数
强类型的语言,定义变量时,必须指定数据类型
环境
jdk安装
环境变量的配置
面向对象oop
语言特征
一切皆对象
类
抽象概念
具有相同特征和行为的一类事物
概念 在类中 进行表示
class 类名{}
属性
private
get/set方法
方法定义
方法权限修饰符(static final) 有无返回值 方法名(参数列表){方法体}
指明一个方法的规范
方法名 形参个数 类型 传递
方法调用
遵守方法定义的规范
参数 实参
set
this 当前对象
this() 在当前类调用构造方法的
构造方法
也可以给私有属性赋值
格式
访问权限修饰符 类名(){}
在Java里,只要创建一个类 这个类就会默认有一个无参构造方法
默认存在 如果在当前类中写了其他的构造方法,默认失效
方法重载
概念:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数
方法名相同 参数列表不同(个数 类型 顺序) 与返回值无关
根据参数的不同 对方法进行自动选择
全局变量
当前类中 都可以访问的变量
局部变量
方法
属性私有 方法公开
对象
具体的
已有类的基础上创建出来的
类型 变量(引用对象) = new 构造方法()
有参和无参构造方法调用()
set/构造方法 创建对象 指明初始值 有参构造
对象.方法(参数)
static
优先加载
main
不能用static修饰
修饰的方法不能被重写
局部
全局
能
构造
get/set
不能搭配使用 冲突
静态代码块
不用我们手动调用 随着类加载 执行该代码
而且只执行一次
关联与类
类名.方法名()
static final 修饰一个变量 变量改为常量 字母大写
final
只读
修饰的类不能被继承 不能修饰抽象类 也不能修饰抽象方法
可以修饰 必须给初始值
全局变量
不能
可以修饰
用什么编辑工具写
txt
eclipse
idea
代码写在哪
1.创建项目
2.src
Java的源文件夹
package
3.创建一个class文件
main()
要运行的代码写在main()中
入口函数
继承
extends
类 extends 类
单根继承
共同特征
姓名 年龄 出生日期
二次封装 在已有类的基础上 相同特征 再次进行抽象 创建类
Object
构造链
如果一个类没有明确的通过extends关键字指明继承的是哪个类 默认继承cbject
super
可以调用父类种的方法
super()
调用父类种的构造方法
保证父类中有对应的构造方法
继承
写 一类就是继承
方法重写
继承关系
父类中有这个方法 子类定义一个与他完全相同的方法((访问权限修饰符>=父类的权限)返回值类型 方法名 参数列表)
四个访问权限修饰符
public
不同包 同包 不同类 同类 都能访问
protected
不同包必须有继承关系 同包 不同类 同类 能访问
默认
同包 不同类 同类 能访问
同类
向上转型/向下转型
父类引用指向子类对象
抽象
abstract
抽象类中不一定有抽象方法 但是抽象方法中一定要存在于抽象类中
只有方法的声明 没有方法体
属性 get/set 构造方法
final 修饰的变量 一开始定义时 不定义值 空白final
.构造器不是通过继承得到的,所以没有必要把它声明为final的。2.同理,一个抽象的构造器将永远不会被实现,所以它也不能声明为abstract的。3.构造器总是关联一个对象而被调用,所以把它声明为static是没有意义的。
异常类
空指针异常:NullPointerExcept
数据类型转换异常:java.lang.ClassCastException
没有访问权限:java.lang.illegalAccessException
方法的参数错误:java.lang.IllegalArgumentException
数组下标越界异常:java.lang.IndexOutOfBoundsException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
指定的类不存在: java.lang.ClassNotFoundException
实例化异常:java.lang.InstantiationException
传递非法参数异常:IllegalArgumentException
算术运算异常:ArithmeticException
向数组中存放与声明类型不兼容对象异常:ArrayStoreExceptio
0 条评论
回复 删除
下一页