1知识点:
1、强制转化和变量与常量
所练习的代码:强制转换和变量与常量
public class Demo02 {
public static void main(String[] args) {
int i=128;
byte b=(byte) i;//内存溢出了
double jiao =i;
//强制转换 (类型+变量名) 高到低
//自动转换 低到高
System.out.println(i);
System.out.println(b);
System.out.println(jiao);
/**
注意点:
1.不能布尔值进行转换
2.不能把对象类型转换为不相干类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出或者精度问题。
*/
System.out.println("==============================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
System.out.println("==============================");
char c ='a';
int d=c+1;
System.out.println(d);
System.out.println((char)d);
System.out.println("==============================");
//操作比较大的数的时候,注意溢出问题
//JDk7新特性:数字之间可以用下划线分割
int money=10_0000_0000;
int years =20;
int total =money*years;//-1474836480,计算的时候溢出了
long total2 =money*years;//默认为int,转化之前已经出现问题了
long total3 =money*((long)years);//先把一个数转化为Long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
public class Demo03 {
//属性:变量
/**
* 类变量 static
**/
static double salary =2500;
/**实例变量从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u0000
//布尔值默认false
除了基本类型默认值都是null;*/
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i=10;
System.out.println(i);
//变量类型 变量名字=new Demo03();
Demo03 demo03 = new Demo03();
System.out.println(demo03.age);
System.out.println(demo03.name);
//类变量static
System.out.println(salary);
}
//其他的方法
public void add(){
System.out.println();
}
}
public class Demo04 {
//修饰符不存在先后顺序
final static double PI =3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}