《每天进步一点点》DAY3:Java数据类型理解

基本数据类型

Java基本数据类型有4类8种:

  • 1 整数型
    • byte 占一个字节 -128~127
    • short 占两个字节 -215~215-1(即-65536~65535)
    • int 占四个字节 -231~231-1
    • long 占八个字节 -263~263-1

其中,默认的整数类型是int,如果要表示比较大的long类型整数,建议在数值后加上L(不建议加小写l,容易与数字1混淆),表示long类型。
比如:long num = 88765432L;

  • 2 浮点型
    • float 占四个字节 -3.403E38~3.403E38 单精度
    • double 占八个字节-1.798E308~1.798E308 双精度

其中,默认的浮点数类型是double,定义float类型的数据时,数值后面要加F或f,否则会提示“可能损失精度”错误,double类型可加D或d,也可不加。
比如:float f = 12.66f; double d = 3.1415926;

  • 3 字符型
    • char 占两个字节 0~65535

A:char c = 97; 0到65535
B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节。 所以,Java中的字符可以存储一个中文汉字

比如:char c = '君';

  • 4 布尔型
    • boolean

理论上,布尔类型占1/8个字节,以为一个bit位就可以表示true或false了。但是(but),java中boolean类型没有明确指定它的大小

数据类型转换

  • 隐式转换

    Java中的默认转换规则是:取值范围小的数据类型与取值范围大的数据类型进行运算,先将小数据类型自动提升为大数据类型,然后再进行运算。

  • 强制类型转换
    需要手动转换,即加 (目标数据类型)
    注意:如果超出了被赋值的数据类型的取值范围得到的结果会与期望的结果不同
    比如:byte result = (byte)300; // 结果result = 44;
    进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的,即:
    byte,short,char -- int -- long -- float -- double
    float表示的数据范围比long的范围要大
    举例:

data_type_test.png

算术运算符的基本用法

  • A:什么是运算符
    • 就是对常量和变量进行操作的符号。
  • B:运算符的分类
    • 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
  • C:算数运算符有哪些
    • +,-,*,/,%,++,--
  • D:注意事项:
    • a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
    • b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
    • c:/获取的是除法操作的商,%获取的是除法操作的余数
    • %运算符
      • 当左边的绝对值小于右边绝对值时,结果是左边
      • 当左边的绝对值等于右边或是右边的倍数时,结果是0
      • 当左边的绝对值大于右边绝对值时,结果是余数
      • %运算符结果的符号只和左边有关系,与右边无关
      • 任何一个正整数%2结果不是0就是1可以用来当作切换条件

算术运算符++和--

  • A:++,--运算符的作用
    • 自加(++)自减(--)运算
    • ++:自加。对原有的数据进行+1
    • --:自减。对原有的数据进行-1
  • B:使用方式
    • a:单独使用:
      • 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
    • b:参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算。
      • 放在操作数的后面,先参与运算,再自增或者自减。
        注意:
        byte b = 10;
        b++; //正确 系统默认将运算结果强转成byte,即b =(byte)(b+1);同理还有b+=1,-=等等
        b = b + 1; // 出错,b自动提升为int,两个int相加的结果还是int,赋值给byte会损失精度,需要强转,即b = (byte)(b + 1);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,639评论 4 12
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 704评论 0 0
  • Android Studio自从推出以来,网上就被很多人拿来推广。15年之前,还是beta版,关注的人不多。15年...
    静明茶话阅读 1,524评论 4 0
  • 《沐洋老师爱自己微课》从第九期开始改名为《觉醒生命——活出全新的自己》[玫瑰][玫瑰][玫瑰]我们每个人都需要一个...
    清心阁阅读 200评论 0 0