Java基础之数据类型+标识符+常见拓展

Java基础之数据类型+标识符+常见拓展,第1张

Java基础之数据类型+标识符+常见拓展 Java标识符 解释

Java中所有的组成部分都需要有名字。类名、变量名以及方法名都被成为标识符

下图为Java语言中的关键字

注意点
  1. 所有的标识符都应该是以字母(A-Z或者a-z),美元符号($)、或者下划线(_)开始的。
  2. 首字母之后可以是任意字母(A-Z或者a-z),美元符号($)、或者下划线(_)或数字的任何字符组合。
  3. 不可以使用关键字作为变量名或者方法名。
  4. 可以使用中文命名,但是不建议使用;也不要使用拼音命名,因为这样真的很LOW。
Java数据类型 基本类型(primitive type) 数值类型 整数类型
  • byte:字节占1个字节范围(-128——127)
  • short:占2个字节范围(-32768——32767)
  • int:占4个字节范围(-2147483648——2147483647)
  • long:占8个字节范围
浮点类型
  • float:占4个字节
  • double:占8个字节
字符类型
  • char:占2个字节
boolean类型

占1位其值只有 true 和 false 两个

引用类型(reference type)
  • 接口
  • 数组
类型转换 强制类型转换

由高内存的类型转换到到低内存的类型时需要使用到强制转换

public class Demo{
    public static void main(String[] args) {
        byte b = (byte) 128; //将一个整型128 强制转化为 字节型 赋值给b
        System.out.println(b);
        
    }
}

注意:

  1. 在进行高内存数据转换到低内存数据的强制转换时,要注意内存溢出问题;
  2. 强制转化时要注意精度问题
自动类型转换

由低内存的数据类型转换到高内存的数据类型时进行自动类型转换

public class test {
    public static void main(String[] args) {
      int i = 100;
      double d = i;
      System.out.println(d);//输出结果为100.0 数据类型变为双浮点型
    }
}

注意:

  1. 不能对布尔类型的值进行转换
  2. 不能把对象类型转换为不相干的类型(例如:你不能把人转成猪;但是你可以尝试把男人转成女人2333)
拓展常见面试题讲解 整数拓展
public class Demo1{
    public static void main(String[] args){
        //关于整数进制拓展: 二进制:0b 十进制  八进制:0   十六进制0x
        int i = 10; //十进制输出 10
        int i2 = 0b10; //二进制输出 2
        int i3 = 010; //八进制输出 8
        int i4 = 0x10; //十六进制输出 16
    }
}

二进制 0b 开头

十进制 正常写 开头

八进制 0 开头

十六进制 0x 开头

浮点型拓展

浮点数特性:有限的、离散的、舍入误差的、 大约、接近但不等于

public class Demo2{
    public static void mian(String[] args){
        //测试1浮点型特性
        float f = 0.1f; //0.1
        double d = 1.0/10; //0.1
        System.out.println(f==d);//  最终输出结果为flase;以此证明该特性不可用于高精度计算
        
        //测试2浮点型特性
        float f1 = 23131233321233f;
        float f2 = f1 + 1;
        System.out.println(f1==f2);//输出结果为true
    }
}

tips:由于浮点型的这些特性,导致不可用于银行等涉及金融计算或要求高精度计算的业务;银行业务可使用 BigDecimal 工具类。

字符型拓展 字符强制转换
public class Demo3{
    public static void mian(String[] args){
        char c1 = 'a';
        char c2 = '中';
        
        System.out.println(c1);
        System.out.println((int)c1);//使用强制转化整形输出
        System.out.println(c2);
        System.out.println((int)c2);//使用强制转化整形输出
        
    }
}

tips:所有的字符本质上都还是数字,不同的字符会有对应的Unicode编码值。

二级拓展知识点:字符编码(先买个坑,后期补上)

转义字符
  • t 制表符
  • n 空格

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5482907.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存