类型转换 变量作用域 常量Day04

类型转换

优先级由 低——>高 byte,short,char,int,long,float,double 浮点型的优先级高于整型

强制类型转换

高优先级(容量)向低优先级(容量)类型的转换 格式:类型 变量名=(类型)变量名

自动类型转换

低优先级(容量)向高优先级(容量)类型的转换 自动转换

public class Demo3 {
    public static void main(String[] args) {
        int a=128;
        byte b=(byte)a;//内存溢出 byte数据类型范围-128——127
        // 强制转换:(类型)变量名   高优先级(容量)------>低优先级(容量)
        System.out.println(a);
        System.out.println(b);
        System.out.println("=========================");
        int c=128;
        double d=c;
        //自动转换    低优先级------>高优先级
        System.out.println(c);
        System.out.println(d);
        /*1.注意点:不能对布尔值进行转换
          2.不能把对象类型转化为不相干的类型
          3.高容量转换到低容量的时候需要强制转换
          4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("================================");
        System.out.println((int)23.7);
        System.out.println((int)-45.89);
        char e='a';
        int f=e+1;
        System.out.println(f);
        System.out.println((char)f);
        System.out.println("==============================");
        char g='a';
        int  h=g;
        System.out.println(h);

    }
}
public class Demo04 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7的新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years =20;
        int total=money*years;  //-1474836480
        long total2=money*years;//默认是int 计算完之后转换为long 此时结果已经溢出
        System.out.println(total);
        System.out.println(total2);
        long total3=money*(long)years;
        System.out.println(total3);

    }
}


变量

Java是一种强类型语言,每个变量都需要声明他的类型

注意事项:

  • 每个变量都要有类型,类型可以是基本类型(8大基本类型),也可以是引用类型(String)
  • 变量名必须是合法的标识符
  • 每个变量写完都必须要以分号(;)结束;

变量作用域

类变量

public class Demo06 {                    //类
    //类变量 Static 变量类型 变量名
    static double salary=2500;  //自动转换
     public static void main(String[] args) {                  //main方法
     //类变量 Static
        System.out.println(salary);
    }

实例变量

public class Demo06 {                    //类
    //属性:变量
   /*实例变量:从属于对象(Denmo6)  如果不自行初始化,那么他的值将会为默认值
    基本类型:0 布尔类型:false 其他类型:null     */
    int age;
    String name;
    public static void main(String[] args) {                  //main方法
        //局部变量; 使用前必须申明和初始化值
        //变量类型 变量名
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);
        System.out.println(demo06.name);
    }

局部变量

public static void main(String[] args) {
    //局部变量; 使用前必须申明和初始化值
    int i=10;
    System.out.println(i);

}

常量

初始化后其值不再改变;

final 常量名=值;

final double PI=3.14

public class Demo07 {
    //static final double PI=3.14; //类变量
    //修饰符 不区分前后
    final static double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);

    }
}

变量命名规范

  • 所有变量、方法、类名要求见名知意。

  • 除常量外的变量名、类名、方法名命名要求按驼峰原则来(除第一个单词以外,后面的单词首字母大写) 例如:lastName

  • 常量定义要求大写字母和下划线 例MAX_VALUE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值