ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习(5)--基本数据类型及其运算规则

2021-08-01 11:02:26  阅读:150  来源: 互联网

标签:Java -- float 数据类型 long char int byte


1.整形
在这里插入图片描述bit是计算机中的最小存储单位。
byte是计算机中的基本存储单元。
1MB=1024KB——1KB=1024B(byte)

public class JavaTest {
    public static void main(String[] args) {
        byte b1 = 18;
        byte b2 = -128;
        //b2 = 128;超出范围,编译失败。
        //声明long类型的变量,必须以L(l)结尾。
        short s1 = 128;
        int i1 = 1234;
        long l1 = 999999L;
    }
}

2.浮点型
在这里插入图片描述float尾数可以精确到7位有效数字。
double是float的两倍,通常用它。

public class JavaTest {
    public static void main(String[] args) {
        double d1 = 12.4;
        //声明float型需要在结尾加上F(f)。
        float f1 = 12.4f;
    }
}

3.字符型
char(1字符=2字节)

public class JavaTest {
    public static void main(String[] args) {
        //定义char型变量,用一对英文单引号('')包住一个字符。
        char c1 = 'a';
        //char c2 = 'ab';编译不通过。
        char c3 = '中';
        char c4 = '1';
        //也可以使用转义字符
        char c5 = '\n';
        //也可以使用Unicode值
        char c6 = '\u0043';
    }
}

常用转义字符

转义字符说明
\b退格符
\n换行符
\t制表符
\r回车符
\"双引号
\'单引号
\\反斜杠

4.布尔型boolean

boolean bl1 = true;
boolean bl2 = false;

5.自动类型提升
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型,需要用容量大的数据类型变量来接收。(容量大小是说表示数的范围大小,而不是所占存储空间大小,比如long比float容量小)
byte,char,short–>int–>long–>float–>double
特别的,当byte,char,short数据类型的变量之间或自己做运算时,结果为用int型接收。


6.强制类型转换
格式:(目标类型)xxx
可能导致精度损失
自动类型提升顺序反过来

double d1 = 12.9;
//精度损失1
int i1 = (int)d1; //截断操作,结果为12
//没有精度损失
long l1 = 123;
short s1 = (short)l1; //结果为123
//精度损失2
int i2 = 128;
byte b1 = (byte)i2; //结果为-128(byte(-128~127)最大为127,所以超出就循环)

7.注意

  • 整形默认是int,浮点型默认是double。
  • 如果long型声明时,数值结尾不加L(l)(即默认为int型),若数值不超过int范围,则编译通过,若超过int范围,则编译失败。(long<–int,long可以放得下int,因为存储空间比较大)
  • 如果float型声明时,数值结尾不加F(f)(即默认为double型),编译失败。(float<–double,float放不下double)

标签:Java,--,float,数据类型,long,char,int,byte
来源: https://blog.csdn.net/m0_46653805/article/details/119293094

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有