Java 语法学习2

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);
    }
}

posted @ 2021-02-07 16:51  小伟99  阅读(58)  评论(0)    收藏  举报