一、数据类型:(两类)
基本数据类型(四类八种)
整数型:byte(一个字节),short(2个字节),int(4个字节),long(8个字节)
字符型:char(2个字节)
浮点型:float(4个字节),double(8个字节)
布尔型:boolean(true,false)
引用数据类型:
类(class),接口(interface),数组(array)
整数默认的数据类型为int型
小数默认的数据类型为double型
数据类型的隐式转换:小转大
数据类型的强制转换:大转小(损失精度)
二、运算符
++,--运算符:
如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
例如:b=a++ 此时是先将a赋值给b,然后a在自增
b=++ a 此时是先将a自增,然后将a自增的值赋给b
赋值运算符:+=,-=,*=,/=,%=
自能用于给变量的赋值且隐含强制转换
关系运算符:==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
逻辑运算符:&,|,^,! &&,||
逻辑运算符一般用于连接boolean类型的表达式或者值。
其中&& 与 || 具有短路效果 ,意思是&&左边为false, ||左边为true,右边不执行
当一个数^另一个数两次,结果为这个数本身
三、控制条件语句
判断语句:
if 三种表达方式
switch case后为常量
循环语句
for
while
do while
区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,
而while循环结束还可以继续使用
( continue break return ) (离开使用场景没有任何意义)
continue是结束本次的循环(就是这个关键字后面的代码不执行了),继续下一次循环
break,结束循环
return,结束这个方法,方法弹栈
四、数组
动态初始化:
数据类型[] 数组名 = new 数据类型[数组长度];
静态初始化的格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
简化格式:
数据类型[] 数组名 = {元素1,元素2,...};
内存分配:
栈 存储局部变量
堆 存储new出来的东西 成员变量
五、方法
方法的两个明确:
A:返回值类型 明确功能结果的数据类型
B:参数列表 明确有几个参数,以及参数的类型
有返回值采用赋值调用,无返回值采用单独调用
重载:方法名相同,参数列表不同。与返回值无关。
方法的参数是基本类型的时候:
形式参数的改变不影响实际参数。
形式参数:用于接收实际数据的变量
实际参数:实际参与运算的变量
形式参数是引用类型时,形式参数的改变直接影响实际参数
六、对象
创建对象
格式:类名 对象名 = new 类名(); 对象名为合格的标识符
对象如何访问成员
成员变量:对象名.变量名
成员方法:对象名.方法名(...)
成员变量和局部变量的区别:
A:在类中的位置不同
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
B:在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值的问题
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
封装 private:(提高代码的复用性和安全性)
被private修饰的成员只在本类中才能访问。
针对private修饰的成员变量,我们会相应的提供getXxx()和setXxx()
用于获取和设置成员变量的值,方法用public修饰
this:代表所在类的对象引用(当局部变量和成员变量重名)
方法被哪个对象调用,this就代表那个对象
构造方法:(最好自己提供无参构造)
构造方法格式:
方法名与类名相同
没有返回值类型,连void都没有
没有具体的返回值
|
|