• 简述Java变量和强制转换类型


    简述Java变量和强制转换类型

    java变量

    1. java变量
    变量:顾名思义,就是在java执行程序过程中可以发生改变的量,就好比方程式中的未知数X一样。
    变量的内存分配过程
    int a ; //声明
    a = 10; // 赋值
    System.out.println(a); //使用
    2. 数据类型
    八大基本数据类型

    整数类型(5种) 字节数(1字节=8bit) 取值范围
    byte 1 -27~27(2^8=256种状态)
    short 2 -215~215-1
    int 4 -231~231-1
    long 8 -263~263-1
        取值范围:类型容量是2^(字节数*8)^,正负对半,
      			 负数范围-2^(字节数*8-1)^~-1
    			 整数范围0~2^(字节数*8-1)^-1
    
    浮点类型(2种) 字节数(1字节=8bit) 取值范围
    float 4 -3.403E38~3.403E38
    double 8 -1.798E308~1.798E308
    虽然double和long都是8个字节,但是因为存储方式的不同,所以取值范围不同。
    而且浮点类型在计算时会有精度丢失,所以不能用来作为金融方面的精准计算。
    
    布尔类型 字节数 取值范围
    boolean 1 True false(0 or 1)
    字符类型 字节数 取值范围
    char 2 0~2^16-1(65535)
    char的赋值方法:
    		char ch=97	直接读取字符编码
    		char ch=’a’	字符赋值
    		char ch=’\u0043’	对应的Unicode编码有0~65535个’\u0041’为十六进制也就是97
    		char ch=’中’	中文字符占2个字节,而在Unicode编码中也有对应的字符。
    

    接口类数据类型
    类 class
    接口 ingterface
    数组 [] int[]

    强制转换类型

    类型转换的基本原则是取值范围由小向大转换,即有
    byte-->short-->int-->long-->float-->double
    	   char -->
    注意:
    			i.	char与byte、short不存在子集关系所以不能自动转换
    			ii.	其他都可以直接自动转换
    			iii.	boolean类型不参与类型转换
    

    1.自动类型转换
    byte a=10;
    int b = a; //没问题可以自动转换
    2.强制类型转换
    int b=10;
    byte a=(byte)b; //大范围转小范围必须使用强制转换
    3.short tybe定义
    byte a=127; //在范围内直接
    short b = (short)36666; //超出short的范围了默认是int必须使用强制转换
    4.char与short byte 之间必须使用强制转换
    byte a=99;
    char b = (char)a;
    5.在计算过程中,会自动向高类型转换
    int a=5;
    double b=3.69;
    float c = (float)ab; //ab结果已经是double类型,所以需要强制转换
    6.byte short char之间的运算,底层都会转换为int类型
    byte a=10;
    char b=’a’;
    short c=(short)a*b; //不管是否存在子集,在运算过程中编译器已经把全部数值都转换为int类型。
    7.字符串和任何类型进行加法运算都是进行拼接操作的,在JavaScript中可以进行其他运算。
    System.out.println(2 + 2 + "22" + 2 + 2); //输出结果为42222;字符前是常量运算,编译器自动运算,后面都是从左向右进行拼接操作。

  • 相关阅读:
    LeetCode:25 K个一组翻转链表
    LeetCode:3 无重复字符的最长子串(双指针)
    Java——参数问题与final实例域
    Java——对象的构造
    配置远程服务器 安装iis 远程服务器网络无法连接
    未能找到元数据文件
    ef 设计model 标签
    visualsvn for vs2017 初始化错误
    resharper 2018.2.3破解
    C# winform 自定义函数中找不到Form中的控件和定义的全局变量
  • 原文地址:https://www.cnblogs.com/xj619/p/10770947.html
Copyright © 2020-2023  润新知