Day05 类型转换

Day05 类型转换

  • 由于JAVA是强类型语言,所以在进行有些运算的时候需要用到类型转换

------------------------------------------------------------->(低到高是自动,高到低是强制)

byte,short,char—>int—>long—>float—>double

  • 运算中,不同类型的数据先转化为同一类型,再进行运算。

强制类型转换

自动类型转换

public class TypeConversion {
    public static void main(String[] args) {
        int i=128;
        //强制转换  (类型)变量名  高--低
        byte b=(byte)i;  //内存溢出

        System.out.println(i);//128
        System.out.println(b);//-128

        //自动转换  (类型)变量名  低--高
        double b=i;
        System.out.println(b);//128.0
        System.out.println("=======================================================");

        System.out.println((int)23.7);//23
        System.out.println((int)-46.22);//-46

        /*
        注意点:
        1.不能对布尔值(true/false)进行转换
        2.不能把对象类型转换为不相干的类型
        3.再把高容量转换为低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题(强转直接舍弃小数部分,不四舍五入)
         */

        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;
        System.out.println(money);
        int years=20;
        int total=money*years;//-1474836480  溢出
        long total1=money*years;//已经默认int,转换前就出问题了
        long total2=((long)money)*years;
        System.out.println(total2);//20000000000
        //若前面两个都是int,计算时需要给其中一个转换成long
        //若前两个中一个是long,一个是int,计算直接用long
        //若前面两个都是long,计算用int,int本身就是有问题的,所以不能计算用int!!

    }
}

变量

  • 变量就是可以变化的量

  • JAVA是一种强类型语言,每个变量都必须声明其类型

  • JAVA变量是程序中最基础的存储单元,其要素包括变量名,变量类型和作用域

       type    varName [=value]  [{,varName[=value]}];
    //数据类型   变量名   =值; 可以使用逗号隔开来声明多个同类型变量。
    

注意事项

每个变量都有类型,类型可以是基本类型,也可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Variable {

    //类变量   static
    static double salary=2500;

    //属性:变量
    //实例变量:从属于对象  如果不自行初始化,这个类型默认值为0  0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
    //局部变量
        int i=10;
        System.out.println(10);

//变量类型  变量名字=new Variable();
        Variable variable = new Variable();
        System.out.println(variable.age);
        System.out.println(variable.name);

        //类变量 static
    }

    //其他方法
        public void add() {
        }
}

变量的命名规范

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

  • 类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写

    lastname lastName

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALLUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(),runRun()

常量

  • 常量:初始化后不能再改变值,不会变动的值
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final  常量名=值
final double PI=3.14;
  • 常量名一般使用大写字符
public class Constant {
    //修饰符,不存在先后顺序
    static final double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

posted @ 2025-07-04 00:44  巫山独白  阅读(16)  评论(0)    收藏  举报