java基础_基本数据类型

打印 上一主题 下一主题

主题 899|帖子 899|积分 2697

介绍

鄙人才疏学浅,如有谬论,敬请指教。
计算机储存容量单位讲解

计算机储存容量基本单位就是字节(Byte),而字节下面还有一个比特>(bit),对应关系是一个字节 = 八个比特,比特(bit)是计算机储存最>小单位
总体换算关系是:
1B(字节) = 8bit(位),
1KB(千字节) = 1024B,
1MB(兆字节 简称“兆”) = 1024KB,
1GB(吉字节 又称“千兆”) = 1024MB,
1TB(万亿字节 太字节) = 1024GB,
1PB(千万亿字节 拍字节) = 1024TB。
以上参考的文章
基本数据类型

1.数值型



  • 整数类型:byte[1],short[2],int[4],long[8]。
  • 浮点类型(其实可以理解为小数):float[4],double[8]。
2.字符型(char[2])

存放单个字符。
3.布尔型(boolean[1])

存放true和flase。
整数类型


  • Java的整形常量默认为int型,声明long型常量需在后面加上 ' L ' 或 ' l '。(建议使用大写)
  • Java各整数类型有固定的范围和字段长度,不受操作系统[OS]影响,以此保证java可移植性。(说实话不是特别累理解)
  • byte,short,int 默认值是 0 ,long 默认值是 0L 。
  1.     byte a ;//byte的大小
  2.         System.out.println(Byte.SIZE);
  3.     short b ;//short的大小
  4.         System.out.println(Short.SIZE);
  5.     int c ;//int的大小
  6.         System.out.println(Integer.SIZE);
  7.     long d ;//long的大小
  8.         System.out.println(Long.SIZE);
复制代码
浮点类型


  • Java的浮点型常量默认为double型,声明float型常量需在后面加上 ' f ' 或 ' F '。(建议使用大写)
  • 浮点数陷阱
  • 通常情况下,使用double,因为double比float更加精确。(但我感觉比较占内存吧)
  • float 默认值是 0.0f , double 默认值是 0.0d(我也不知道为啥后面要缀一个d)。
  1.     float a;//float的大小
  2.     System.out.println( Float.SIZE);
  3.     double b;//double的大小
  4.     System.out.println(Double.SIZE);
复制代码
字符类型


  • 字符类型可以表示单个字符,多个字符需要用字符串String
  • 字符常量是用单引号''(切英文shift + “)括起来的字符。
  • Java中char本质上是一个整数,在输出时,是unicode码对应的字符。
  • 可以直接给char赋一个整数,会按照对应的Unicode字符输出。
  • char类型是可以进行运算,相当于一个整数。
  1.     char a = 97 ;//char本质是一个整数
  2.     System.out.println(a);
  3.     char b = 'b' ;//char的大小
  4.     System.out.println(Character.SIZE);
  5.     System.out.println(a + b);//两个字符串运算
复制代码
布尔类型


  • boolean类型数据只允许取值true和flase,没有null。
  • 布尔类型适合于逻辑运算,一般用于程序流程控制。
  • 不可以0或者非0的整数替代false和true。这和C语言不相同。(目前恰好只学了C语言)
  1.         if (true){
  2.             System.out.println("基尼太美");
  3.         }
  4.         if (false){
  5.             System.out.println("滚啊!小黑子");
  6.         }
复制代码
自动类型转换

当Java程序在进行赋值或运算时,精度小(禁止开车哈)的类型自动转换为精度大的数据类型,这就是自动类型转换:
char --> int --> long --> float --> double
低---------------------------------------------->高
byte --> short -->int --> long --> float --> double


  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大那种的那种数据类型,然后再计算。
  1.         int a = 123;
  2.         float b = 4.6F;
  3.         double c = 1.23;
  4.         System.out.println(a + b);
  5.         System.out.println(a + c);
  6.         //感兴趣的可以试下b + c 的值是否等于5.83
复制代码

  • (byte , short)和char 之间不会相互自动转换。
  • byte,short,char三者可以计算,但在计算时首先转换为int类型
  1.         byte a = 12;
  2.         short b = 45;
  3.         char c = 'c';
  4.         short d = a + b + c;//错误
  5.         System.out.println(d);
  6.         int e = a + b + c;//正确
  7.         System.out.println(e);
复制代码

  • 布尔类型不参与转换(个人感觉它也计算不了啊)。
  1.         int a = 'a';//char --> int
  2.         double b = 125;//int -->double
  3.         System.out.println("a=" + a +"\t"+ "b=" + b);
复制代码
强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出。


  • 当进行数据大小从大到小就要使用强制转换
  • 强制符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
  1. //        int a = (int)12 * 2.0 + 1.1;
  2. //        System.out.println(a);
  3.         int b = (int)(12 * 2.0 + 1.1);
  4.         System.out.println(b);
复制代码

  • char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
    ** byte和short类型在进行运算时,当做int类型处理。
万金买高爵,来何处买青春?


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表