Java数据类型
数据类型
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
Java的数据类型分为两大类
基本类型
-
基本数据类型
整数类型 浮点类型 字符类型 byte:-128---127 字节 float char占2个字节 short:-32768---32767 double int (够用):-2147483648---2147483647 long -
boolean类型:占1位字节 ,其值只有true和false两个
// 八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //Long类型要在数字后面加个L
//小数:浮点数
float num5= 50.1F; //Float类型要在数字后面加个F
double num6= 3.1415926;
double e= 1234352345124d;//double类型数字中没有小数点要加d
//字符
char name = 'A'; //一个字符,两个就报错
//字符串,String不是关键字, 是类
//String namea = "mk";
//布尔值 是非
boolean flag = true;
//boolean faag1 = false;
数据类型转换
- 由于Java 是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
- 运算中,不同类型的数据先转换为同一类型,然后进行运算。
- 强制类型转换
- 自动类型转换
低---------------------------------------------------------------------------------------------------高
byte----------short----------char----------int----------long----------float----------double
//强制转换 (类型)变量名 高--->低
int i = 128;
byte b = (byte)i; //内存溢出问题
System.out.println(i); //128
System.out.println(b); //-128
//自动转换 低--->高
int a = 128;
double a1 = i;
System.out.println(a1);
//转换 精度问题
System.out.println("======================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
//char 字符的本质还是数字
System.out.println("======================");
char c = 'a'; //a对应的unicode 是97
int d = c+1;
System.out.println(d); //输出98
System.out.println((char)d);
//操作比较大的数的时候,注意溢出问题
int money = 10_0000_0000; // JDK7新特性,数字之间可以用下划线分割
int year = 20;
int total = money*year;
long total1 = money*year;
System.out.println(total); //输出为-1474836480, 计算的时候溢出了
System.out.println(total1); //默认是int, 低--->高 自动转换,转换之前已经存在问题
long total3 =money*((long)year); //先把一个数转换为long
System.out.println(total3); //输出20000000000
//L l 都用大写L,别用小写l,特别像1
/*
注意点
1. 不能对布尔值进行转换
2. 不能把对象类型 转换为 不相干的类型
3. 在高容量转换为低容量的时候,强制转换
4. 转换的时候可能存在内存溢出,或者精度问题!
*/
引用类型
- 类
- 接口
- 数组
变量
- 变量是什么: 就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其 数据类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
变量作用域
- 类变量
- 实例变量
- 局部变量
public class variables {
//属性:变量
//类变量 static JVM 重点
static double salary = 2500;
//实例变量:从属于对象;如果不自己进行初始化,则是这个类型的默认值
String name; //默认值为 null, 除了基本类型,其余的默认值都是null
int age; //默认值为 0 整数
float float1; //默认为值 0.0 小数
boolean asf; //布尔值默认为 false
//main 方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new variables
variables aaa = new variables();
System.out.println(aaa.age);
System.out.println(aaa.name);
System.out.println(aaa.float1);
System.out.println(aaa.asf);
//类变量 static
System.out.println(salary);
}
//其他方法
public void method() {
int i = 0; //局部变量
}
}
变量的命名规范
- 驼峰原则:除了第一个单词以外,后面的单词首字母大写 lastname lastName
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
type varName [=value] [{,varName[=value]}];
数据类型 变量名 = 值, 可以使用逗号隔开来声明多个同类型变量。
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以 分号 结束
常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
- 常量名一般使用大写字符
public class Final_liang {
//修饰符,不存在先后顺序 ,变量名前面的都是修饰符
static final double PI = 3.14;
final static double Pi =3.14;
public static void main(String[] args) {
//常量
System.out.println(PI);
System.out.println(Pi);
}
}
浙公网安备 33010602011771号