数据类型:
基本数据类型: byte char short int long floot double boolean
引用数据类型: String 数组 (new 对象名)
常量赋值时候,会有常量优化机制去运算;
数据类型转换:
自动类型转换(隐式类型转换): byte char short -> int ->long->float ->double
强制类型转换: 基本数据类型1 变量 = (基本数据类型B)(变量\常量);
注:强制类型转换有可能会损失精度;
运算符:
算数运算符: - + * / ++ --
逻辑运算符: && ||
连接 boolean类型的表达式;
赋值运算符: += = -= *= /=
强制类型转换可以使用: += -= *= /=
隐含了强制类型转换;
比较运算符: > < => <=
三元运算符: (表达式1 比较运算符 表达式2)? 表达式1:表达式2;
方法:
方法的定义:
定义格式:
修饰符 返回值类型 方法名(参数列表){}
方法名规则: 见名知意
定义方法需要两个明确:
返回值类型:
参数列表:
方法调用类型:
赋值调用:需要明确返回值类型
调用方法时,必须使用一个跟返回值类型相同的数据类型进行接收;
直接调用:不需要明确返回值类型
输出调用:使用输出语句直接输出方法的返回值,(此方法不常用)
表达式:
建立方法的时候,方法内的表达式里面的变量称: 形式参数;
方法的重载:
定义:在一个类中,有多个方法名相同,但参数列表不用的方法,;称方法的重载;
数组: 存储多个同一种数据类型元素;
数组的特点: 一个数组的所有元素的类型必须一致;
元素有整数索引;
一旦定义好长度,无法更改;
可以存储任何数据类型;
数组的定义:
动态初始化: 数据类型 [] 数组名 = new 数据类型[数组长度];
静态初始化: 数据类型 [] 数组名 = new {元素1,元素2.....元素n};
静态初始化的标准形式:
数据类型 [] 数组名 = new []{元素1,元素2.....元素n};
方法中饭形式参数如果是数组可以使用: 参数列表->(数据类型 ... 数组名)
接收方法返回值时候;后面可以直接在()里面输入数组元素;可以输入随意多少个数;
static: 是一个关键字,用于修饰成员变量和成员方法;
特点:
1> 被所有对象所共享;
2> 可以使用类名直接调用;
3> 静态加载优先对象,随着类的加载时候就已经加载;加载于方法区;
存储位置:
被static修饰的成员变量,存储在方法区的对应类的静态区域;
注: 被static修饰的方法可以直接调用;
可以直接调用static修饰的成员变量
不可以调用非静态的成员方法
不可以调用非静态的成员变量
非静态方法可以调用类中所有变量与方法;
静态方法中不可以使用this;
优点:
对象的数据是共享的,需要使用static;
math: 工具类(包含的一些数学计算)
方法名代表的含义:
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。
自定义工具类:
构造方法被私有化的类就叫做工具类;
私有化构造方法是为了防止被创建对象;
代码块:
局部代码块:
存在方法{}中,控制变量的生命周期(作用域)
构造代码块:
随着类的对象的创建而加载;优先于构造方法之前加载;
提取构造方法中的共性;(有参构造和无参构造构造方法中重复使用的代码块)
静态代码块:
随着类的加载而加载,只加载一次,不管对象创建多少次;
加载类时,需要加载的一些初始化,如: 驱动加载
|
|