Java中的数据类型
基本数据类型
4类8种
整数
byte short int long
浮点数
float double
字符
char
布尔
boolean
引用数据类型
student s = new Student();
类,接口,数组
基本数据类型的转换
自动类型转换
byte char short --- int --- long --- float --- double
由小到大
byte b = 10;
int a = b;
强制类型转换(有可能会损失精度)
一般是由大到小
int a = 10;
byte b =(byte)a;//有可能损失精度
注意:一般基本数据类型不会使用强制类型转换。
运算符
算术运算符
++ --
int a =10;
a++;
++a;//单独使用没有区别
int a = 10;
int b = a++; b = 10,a = 11;先做其他运算后加1
int b = ++a; b = 11,a = 11;先加1后做运算
比较运算符
比较运算的结果都是boolean类型
赋值运算符
+=
int a =20;
byte b =20;
b = b + a;//可能损失精度,需要强制类型转换
b += a;//+=:隐含了强势类型转换
逻辑运算符
连接布尔类型的表达式
&& ||
三元运算符
? :
方法:
类中的一段具有特点功能的程序,提高了代码的复用性和可维护性
定义格式:
public static 返回值类型(没有返回值写void) 方法名(参数类型 参数名1,参数类型 参数名){
方法体;
}
方法调用的方式:
有明确返回值类型:
赋值调用:将方法的返回值赋值给一个变量
输出调用:使用输出语句直接输出方法的返回值
直接调用(单独调用):没法获取方法的返回值
没有明确的返回值类型:
直接调用(单独调用)
方法重载:
在一个类中有多个重名的方法,这些方法参数不同,和返回值无关
案例:
求两个数的和,并在主方法中调用
实参:
调用方法时传递的数据,可以是常量也可以是变量
形参:
方法声明的变量,只能是变量,接受方法调用时传递进来的数据
数组:
用于存储多个元素的一种容器
数组的特点:
元素类型必须一致
元素有整数索引
一旦定义好,长度无法改变
可以存储基本数据类型,也可以存储引用数据类型
数组的定义格式:
动态初始化:
元素类型[] 数组名称 = new 元素类型[数组长度];
静态初始化:
元素类型[] 数组名称 = {元素1,元素2,元素3};
元素类型[] 数组名称 = new 元素类型[]{元素1,元素2,元素3};
需求:
定义一个元素类型为int的数组,遍历数组并求和。
定义一个标准的学生类,在主方法中创建对象并调用
姓名,年龄,性别3个成员变量
无参,有参两个构造方法
为每个成员变量定义getter和setter方法
定义一个show方法,输出成员变量
static(静态)关键字
用来修饰成员变量和成员方法
特点:
被所有的对象所共享
直接使用类名调用
静态所修饰的成员加载优先于对象
随着类的加载而加载
注意事项
静态方法
可以调用静态的成员变量
可以调用静态的成员方法
不可以调用非静态成员变量以及成员方法
只能在静态的方法中调用静态的成员
非静态方法
可以调用静态成员变量
可以调用静态成员方法
在静态的方法中是否有this对象?
没有。因为静态的方法随着类的加载而加载优先于对象的出现。
代码块:
局部代码块:
存在方法中,控制变量的生命周期(作用域)
构造代码块:
存在与类中,方法外
提取构造方法中的共性
创建对象就会执行一次构造代码块中的内容。
构造代码块优先于构造方法执行。
静态代码块:
位置与构造代码块相同
随着类的加载而加载,只加载一次,加载类时需要做的一些初始化,比如加载驱动
同步代码块:
|
|