java
2019-07-17 11:22:50 0 举报
AI智能生成
小白的jsva思维导图
作者其他创作
大纲/内容
语言基础
命名规范
类首字母大写
数字 字母 下划线 $
驼峰命名法 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
先加后用
关系运算符
> >= < <= == !=
boolean
=赋值运算符
运算符的左边必须是变量
+=:自带强制转换功能
比较运算符
逻辑运算符
与运算符
或运算符
异运算符
非运算符
三元运算符
位运算符
>> <<
流程控制语句
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
循环结构
while
do..while
for
循环嵌套
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/构造方法 创建对象 指明初始值 有参构造
set
对象.方法(参数)
static
优先加载
main
类
不能用static修饰
方法
修饰的方法不能被重写
局部
不能用static修饰
全局
能
构造
不能用static修饰
get/set
不能搭配使用 冲突
静态代码块
不用我们手动调用 随着类加载 执行该代码
而且只执行一次
关联与类
类名.方法名()
static final 修饰一个变量 变量改为常量 字母大写
final
只读
类
修饰的类不能被继承 不能修饰抽象类 也不能修饰抽象方法
方法
修饰的方法不能被重写
局部变量
可以修饰 必须给初始值
全局变量
可以修饰 必须给初始值
构造方法
不能
get/set
可以修饰
用什么编辑工具写
txt
eclipse
idea
代码写在哪
1.创建项目
2.src
Java的源文件夹
package
3.创建一个class文件
main()
要运行的代码写在main()中
入口函数
继承
extends
类 extends 类
单根继承
共同特征
姓名 年龄 出生日期
二次封装 在已有类的基础上 相同特征 再次进行抽象 创建类
Object
构造链
如果一个类没有明确的通过extends关键字指明继承的是哪个类 默认继承cbject
super
可以调用父类种的方法
super()
调用父类种的构造方法
保证父类中有对应的构造方法
继承
写 一类就是继承
方法重写
继承关系
父类中有这个方法 子类定义一个与他完全相同的方法((访问权限修饰符>=父类的权限)返回值类型 方法名 参数列表)
四个访问权限修饰符
public
不同包 同包 不同类 同类 都能访问
protected
不同包必须有继承关系 同包 不同类 同类 能访问
默认
同包 不同类 同类 能访问
private
同类
向上转型/向下转型
父类引用指向子类对象
抽象
abstract
抽象类中不一定有抽象方法 但是抽象方法中一定要存在于抽象类中
只有方法的声明 没有方法体
属性 get/set 构造方法
final 修饰的变量 一开始定义时 不定义值 空白final
.构造器不是通过继承得到的,所以没有必要把它声明为final的。
2.同理,一个抽象的构造器将永远不会被实现,所以它也不能声明为abstract的。
3.构造器总是关联一个对象而被调用,所以把它声明为static是没有意义的。
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 条评论
下一页