Java基础语法二
类型转换
public class demo03 {
public static void main(String[] args) {
int i=128;
byte a=(byte)i;//强制转换:(类型)变量名
char b="a";
int c=b+1;
System.out.println(i); //结果为128
System.out.println(a); //结果为-128 //内存溢出
System.out.println(c); //结果为
System.out.println((char)c);//结果为b
}
}
强制类型转换 :高到低
自动类型转换 :低到高
**注意**
不能对布尔类型进行转换
不能把对象转换为不相干的类型
强制类型转换可能存在溢出以及精度丢失问题
```java
public class demo04 {
public static void main(String[] args) {
int money; //jdk7新特性,可以-分割数字
money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;
System.out.println(total); //-1474836480 溢出
long total2 = money*years;
System.out.println(total2); //-1474836480 默认为int,转换之前就存在问题
long total3 = money*(long)years;
System.out.println(total3); //20000000000
}
}
变量
常量
public class demo05 {
static String name = "xiaowei"; //类变量
String a; //实例变量:从属于对象,如果不自行初始化,设为默认值。0 0.0 null(除了基本类型其他都为空) 布尔类型默认为false
public static void main(String[] args) {
int i=10;// 局部变量 :仅在main方法内有效
System.out.println(i);
System.out.println(name);
demo05 demo = new demo05();
System.out.println(demo.a);
}
//其他方法
public static void other(String[] args) {
}
}
final 常量名 = 值;
public class demo06 {
//修饰符可以不考虑顺序(数据类型之前的都为修饰符)
static final double PI = 3.14; //静态常量
public static void main(String[] args) {
System.out.println(PI);
}
}