首页 > 编程语言 > 详细

Java 数据类型

时间:2020-08-28 00:15:25      阅读:76      评论:0      收藏:0      [点我收藏+]

数据类型在java 语言中包括两种:

  第一种:基本数据类型,可以划分成4大类8小种

      整数型:byte,short,int,long byte:1 个字节,short :2 个字节  ;int :4个字节 ;long :8个字节 

      浮点型 :float,double  float 4 个字节,double 8 个字节

      布尔型:boolean  占用 1 个字节   

      字符型:char,占用 2 个字节

  第二种:引用数据类型 ,字符串属于引用数据类型

4个类型的取值范围

  byte: [-128 ~127]

  short:  [-32768 ~ 32767]

  int    :  [-2147483648 ~ 2147483647]

  char :  [0 ~ 65535]

字符编码:人为规定的一套转换表,规定了一系列的文字对应的二进制

使用 \ 转义: \n 转行  \t 制表符  \‘ 单引号

\u 代表后面的是一个字符的 unicode 编码 , unicode 编码 是 16 位。 char x =   ‘\u4e2d‘   代表 中

整数型:

  八进制 :  010 ,0开头    十六进制:0x10      0x开头

数据类型转换: 

  从小容量 到 大容量 可以 自动转换 

    在任何情况下,整数型的“字面量/数据”默认被当做int类型处理。(记住就行)
    如果希望该“整数型字面量”被当做long类型来处理,需要在“字面量”后面添加L/l

      // 错误: 整数太大
      //long e = 2147483648;

      // 怎么解决这个问题呢?
      long e = 2147483648L;

  从大容量 到小容量必须强制转换,但是可能会损失精度。

    当整数型字幕量 没有超出范围的时候,可以直接赋值

      byte  i = 1 ;

    转换的时候,去扣除前面的字节

           byte b = (byte)300;
      System.out.println(b); // 44

技术分享图片
 1 public class TypeTransferTest{
 2     public static void main(String[] args){
 3         // 编译报错,因为1000已经超出范围了。
 4         //byte b1 = 1000;
 5         // 可以
 6         byte b2 = 20;
 7         // 可以
 8         short s = 1000;
 9         // 可以
10         int c = 1000;
11         // 可以
12         long d = c;
13         // 编译报错
14         //int e = d;
15         // 可以
16         int f = 10 / 3;
17         // 可以
18         long g = 10;
19         // 编译报错
20         //int h = g / 3;
21         // 可以
22         long m = g / 3;
23         // 编译报错
24         //byte x = (byte)g / 3;
25         // 可以
26         short y = (short)(g / 3);
27         // 可以
28         short i = 10;
29         // 可以
30         byte j = 5;
31         // 编译报错
32         //short k = i + j;
33         // 可以
34         int n = i + j;
35         // 可以
36         char cc = ‘a‘;
37         System.out.println(cc); // a
38         System.out.println((byte)cc); // 97
39         // cc 会先自动转换成int类型,再做运算
40         int o = cc + 100;
41         System.out.println(o); // 197
42     }
43 }
View Code

 

整数类型

  1、当一个整数赋值给 char 类型变量的时候,会转换自动转换成字符型

  2、当一个整数没有超出byte,short,char取值范围,可以直接赋值

byte ,short ,char  的混合运算

  结论:byte、char、short做混合运算的时候,各自先转换成int再做运算。

  编译器只能检测到语法,不确定具体的存储的什么值,因为如果查过范围,是需要强制转换的

    short i = 10;
    byte j = 5;
    // 编译报错
    //short k = i + j;

    short k = (short)(i+j);

技术分享图片
 1 public class IntTest06{
 2     public static void main(String[] args){
 3 
 4         char c1 = ‘a‘;
 5         byte b = 1;
 6 
 7         // 注意:这里的"+"是负责求和的
 8         System.out.println(c1 + b); // 98
 9 
10         // 错误: 不兼容的类型: 从int转换到short可能会有损失
11         //short s = c1 + b; // 编译器不知道这个加法最后的结果是多少。只知道是int类型。
12 
13         // 这样修改行吗?
14         //错误: 不兼容的类型: 从int转换到short可能会有损失
15         //short s = (short)c1 + b;
16 
17         short s = (short)(c1 + b);
18 
19         //short k = 98;
20 
21         int a = 1;
22         //错误: 不兼容的类型: 从int转换到short可能会有损失
23         // short x = 1; 可以
24         short x = a; // 不可以,编译器只知道a是int类型,不知道a中存储的是哪个值。
25         System.out.println(x);
26     }
27 }
View Code

 

多种数据类型混合运算,最终结果是最大容量的对应的类型 

  char+short+byte 这个除外。
  因为char + short + byte混合运算的时候,会各自先转换成int再做运算。

浮点型

  任何一个浮点型数据默认是当做 double 来处理,如果想用 float 类型, 添加 F或者f. 或者强制转换

boolean 

  true  flase

Java 数据类型

原文:https://www.cnblogs.com/zhangbl55666/p/13574835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!