类型转换的学习

类型转换

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

低--------------------高

byte
    short
         char
             int
    			long
    				float
    					double
   小                          	大

运算中不同类型的数据先转换为同一类型然后进行运算

  • 强制转换 (类型) 变量名 高—低
  • 自动转换 低----高

注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换为低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出或者精度问题!!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zNbXHpRZ-1639206788226)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211135301197.png)]

int 转 byte 就是高转低 系统会提示报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBvn5XZG-1639206788232)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211135352362.png)]

也是内存溢出

低到高就不会溢出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xzzOnM5y-1639206788233)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211135509796.png)]

int 转高 double 就不会溢出

注意点4

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m3lAJZVn-1639206788234)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211135628164.png)]

强制转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4auVR8E9-1639206788235)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211140053899.png)]

正常的 char 转int

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evASBoUQ-1639206788237)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211140122512.png)]

操作比较大的数要注意溢出问题

学习点: JPK7 新特性 大数之前可以用下划线分割

public class Demo5 {
    
    
    public static void main(String[] args) {
    
    
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        //列
        int money =10_0000_0000;
        int years = 20;
        int total = money*years;//-1474836480 计算溢出了  默认是int
        //改为
        long total2 =money*years; //转换之前就存在问题
        long total3 =money*((long)years);//先把一个数转换为long
        System.out.println(total3);
    }
}

计算溢出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApawYYNX-1639206788238)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211141630023.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hLZE6YpO-1639206788239)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211141723201.png)]

变量

设置变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z3nyMqxN-1639206788240)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211141829816.png)]

最好不要一行多个变量 程序可读性高

变量是什么:就是可以变化的量

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

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

列如:
    type      varName    [=value]   [{
    
    ,varName[=value]}]
   数据类型     变量名       =值         可以用逗号隔开来声明个同类型变量   但是不建议使用这种

注意事项:

  1. 每个变量都有类型,类型可以是基本型,也可以是引用型
  2. 变量名必须是合法的标识符
  3. 变量声明是一条完整的语句,因此每个声明都必须以分号结束

变量作用域

  • 类变量
  • 实例变量
  • 局部变量

局部变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ziAMFEAN-1639206788241)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211143655908.png)]

局部变量截图 也就是在main方法

在括号里写的程序 不能超出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKhotggH-1639206788242)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211143902914.png)]

实例变量

  //实例变量:从属于对象; 如果不自行初始化,这个类型的默认值   0    0.0
    //boolean(布尔值) 默认是false
    //除了基本值类型,其余的默认都是null;    这句说的是String
    String name;
    int age;
  //变量类型   变量名字     =   new Demo7();
        Demo7       demo7      =    new Demo7();
        System.out.println(demo7.age);
        System.out.println(demo7.name);

类变量

public class Demo7 {
    
    
    //类变量  staric  斯太迪克
    static double  salary = 2500;
    
    外一点就是实例变量
    
    
    最中间就是main方法
    
    
    
    
    
    
    
    //类变量  static        salary-塞瑞:工资的意思
        System.out.println(salary);
  }
}

常量

常量(constant)看死疼特

初始化后不能在改变值!不会改动的值

***一种特殊的变量,它的值被设定后不允许被改变

final (非闹) 常量值 = 值

final double PI(派) = 3.14;

常量名一般使用大写字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1pCBpbsR-1639206788243)(C:\Users\rex\AppData\Roaming\Typora\typora-user-images\image-20211211145311099.png)]

public class Demo8 {
    
    
    //修饰符不存在先手顺序
    //  修饰符      变量类型   变量名  =    变量值
    static final    double    PI      =   3.14;

    public static void main(String[] args) {
    
    

        System.out.println(PI);
  }
}

变量的命令规范

  • 所有变量,方法,类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:lastMame
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则: Man GoodMan
  • 方法名:首字母小写和驼峰原则:run() runRun()

Guess you like

Origin blog.csdn.net/m0_64821302/article/details/121873922