• Java变量与数据类型之三:数据类型与转义字符


    大家好,小乐又来了,上一篇:乐字节Java变量与数据类型之二:Java常量与变量,

    今天接着讲Java变量与数据类型之三:数据类型与转义字符

    一、数据类型

    1、定义

    Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

    Java数据类型

    2、分类

    A:基本数据类型:4类8种

    B:引用数据类型:类,接口,数组。

    3、基本数据类型

    ①整型 占用字节数 比特/位 取值范围

    byte(字节型) 1 8位 [-128 , 127]

    short(短整型) 2 16位 [-32768,32767]

    int (整型 ) 4 32位 [-21亿, 21亿]

    long(长整型) 8 64位 很大很大

    注意:整数数值默认为int类型,如果需要定义一个long类型的变量,当超出int的范围时,需要在该值后加 l或者L

    ②浮点型

    float(单精度) 4

    double(双精度) 8

    float有效位是7位,double有效位是14位

    注意:浮点数默认为double类型,如果需要定义一个float类型的变量,则数值后需要加 f或者F

    ③字符型(0~65535)

    char(字符型) 2 一个字符能存储一个中文汉字

    要求:用 ' '将字符括起来

    ④逻辑型(布尔型)

    boolean(布尔类型) 1位

    4、注意:

    整数默认是int类型,浮点数默认是double。

    长整数要加L或者l,单精度的浮点数要加F或者f。

    二、数据类型转换

    1、定义

    boolean类型不参与转换

    2、默认转换

    A:从小到大

    B:byte,short,char --> int long float double

    C:byte,short,char之间是平级的,不相互转换,直接转成int类型参与运算。

    3、强制转换

    A:从大到小

    B:可能会有精度的损失,一般不建议这样使用。

    C:格式:

    目标数据类型 变量名 = (目标数据类型) (被转换的数据);

    4、思考题和面试题:

    A:下面两种方式有区别吗?

    float f1 = 12.345f;

    float f2 = (float)12.345;向下类型转换,浮点数默认是double类型

    B:下面的程序有问题吗,如果有,在哪里呢?

    byte b1 = 3;

    byte b2 = 4;

    byte b3 = b1 + b2;

    short s1=3;

    short s2=3;

    short s3=s1+s2;

    char c1=3;

    char c2=4;

    char c3=c1+c2;

    byte、short、char在运算时,会自动向上转型为int型,所以返回的结果是int类型,而接收的类型均不是int,由于类型不匹配,所以报错

    byte b4 = 3 + 4;

    short s=3+4;

    常量进行计算后的值,预编译时能够判断其是否超出范围

    int a=1;

    int b=2;

    int c=a+b;

    long l1=3l;

    long l2=3l;

    long l3=l1+l2;

    float f1=2.3f;

    float f2=2.3f;

    float f3=f1+f2;

    double d1=3.7;

    double d2=3.9;

    double d3=d1+d2;

    均不会报错,java进行了优化。

    C:下面的操作结果是什么呢?

    byte b = (byte)130;

    D:字符参与运算

    是查找ASCII里面的值

    'a' 97

    'A' 65

    '0' 48

    空格 32

    System.out.println('a');

    System.out.println('a' + 1);

    E:字符串参与运算

    这里其实是字符串的连接

    System.out.println("hello"+'a'+1);

    System.out.println('a'+1+"hello");

    System.out.println("5+5="+5+5);

    System.out.println(5+5+"=5+5");

    运行结果:helloa1

    98hello

    5+5=55

    10=5+5

    三、转义字符

    ’:代表一个单引号

    \:代表一个反斜线字符””

    ”:代表一个双引号字符

    :退格 ,是将光标移动到当前字符的前一个字符,并不会删除当前字符。

    注意:eclipse当中不识别,需要在DOS环境下运行

    :换行,将当前位置移到下一行的开头

    :回车,将当前位置移到本行的本行开头

    注意: 、 在eclipse没有区别,需要在DOS环境下运行

    :水平制表位:跳到下一个Tab位置

  • 相关阅读:
    open stack总结
    Nginx操作命令
    Nginx 配置详解
    Linux 常用命令-- top
    CEPH 使用SSD日志盘+SATA数据盘, 随OSD数目递增对性能影响的递增测试
    MyCat水平分库
    MyCat垂直分库
    MyCat基本知识
    utf8mb4复杂昵称问题
    Power安装linux-BIG ENDIAN mysql编译安装
  • 原文地址:https://www.cnblogs.com/lotbyte/p/11139878.html
Copyright © 2020-2023  润新知