Java学习笔记8
低------------------------------------------------------------------>高
byte,short,char-->int-->long-->float-->double
强制转换 (类型)变量名 高到低
int i = 128;
byte b = (byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
128
-128
//强制转换 (类型)变量名
自动转换 低到高
int i = 128;
double b = (double)i;
System.out.println(b);//128.0
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.转换时存在内存溢出,或者精度问题
System.out.println((int)47.88);
System.out.println((int)-42.33);
47
-42
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
98
b
容易出错的问题
//操作比较大的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 1000000000;
int years = 20;
int total = money*years;
long total2 = money*years;
System.out.println(total);//-1474836480,计算的时候溢出了
System.out.println(total2);//默认是int,转换之前已经存在问题 还是得到-1474836480
long total3 = money*((long)years);//先把一个数转换为long得出正确答案
System.out.println(total3);//得2000000000
变量
-
变量:就是可以变化的量
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value]
//数据类型 变量名 =值
注意事项:
-
每个变量都有类型,类型可以是基本类型也可以是引用类型。
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
局部变量
//main方法
public static void main(String[] args) {
int i = 10;//局部变量:必须声明和初始化值
System.out.println(i);
}//局部变量只在方法的括号内有效
实例变量
//实例变量:从属于对象 类 如果不自行初始化,会变成这个类型的默认值
//数值类型默认值为 0 0.0 等 布尔值默认是false 除了基本类型其余全是null;
String name;
int age;
public static void main(String[] args) {
//变量类型 变量名字 =new Demo2();
Demo2 demo2 = new Demo2();
System.out.println(demo2.age);
System.out.println(demo2.name);
0
null
类变量
//类变量 static
static double salary = 2500;
System.out.println(salary);
2500.0
常量
-
常量:初始化后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名 =值;
final double PI=3.14;
常量名一般使用大写字符
public class Demo3 {
//修饰符static final不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
3.14
变量的命名规范
-
所有变量,方法,类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX VALUE
-
类名首字母大写和驼峰原则:Man,GoodMan
-
浙公网安备 33010602011771号