Java 数据类型<05<Android开发小典

今天老何与大家分享Java中的数据类型,从一个大家相对感兴趣的话题聊起吧,随着智能手机与网络的普及,大家都办理了流量套餐,每到月底大家也非常关心有没有流量了?费用是如何被扣掉的?
  好,让我们带着问题了解2个概念。

1、数据

数据是信息的表现形式和载体,可以是符号、文字、数字、图像、语音、视频等。
  手机/电脑上安装的软件,Word文档、PPT文档,短信、微信,图片、视频等等都是数据。
  之所以我们使用手机会有流量费用,是因为发送和接收了数据(如在线听歌、发送微信、查看朋友圈,这些都是走数据流量的,如同用水电一样),运营商是计费的,比如联通(0.0003元/kb),这里提到数据单位kb,来接着看第二个概念。

2、数据单位

数据是有单位的(如尺寸有单位米,厘米、毫米等,它们之间有换算关系,1米=100厘米,1厘米=10毫米),从小到大依次是比特(Bit)、字节(Byte)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)......它们之间的换算关系为:

   1B=8bit
   1 KB = 1024 B
   1 MB = 1024 KB
   1 GB = 1024 MB
   1 TB = 1024 GB
   ......
   > 比特(Bit):比特是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。  
   > 字节(Byte):字节是计算机存储容量的基本单位,一个字节由8位二进制数组成,如10011000,在计算机内部,一个字节可以表示一个数据,也可以表示一个英文字母,两个字节可以表示一个汉字。   
   > 其他KB,MB、GB、TB......每一个级别都是前面的乘以1024。  

了解完上面概念后,再回答我们前面的问题,如果你通过手机在线看一个视频,为100M(现在文件都很大,M即MB,按照联通费用标准需换算成KB),那么花费=100Mx1024x0.0003元/KB≈30元,自我感觉hei不hei:),独此三家,别无选择。
  OK,进入我们的今天主题“数据类型”

3、数据类型

数据除了有单位,也是有类型的,数据类型是对数据的分类,每种数据类型都具有独特的特征、不同的分配空间(最大位数/字节数不同)与相应的操作功能(举个例子:房子有别墅、住宅、办公楼等分类,产权不一,大小不一,功能不一,但都是房子)



  Java中分成两种数据类型,一是基本数据类型,二是引用数据类型(两者区别在内存分配和地址指向的不同,可先大致了解,如详细了解可@老何)
一、基本数据类型

  /*
   1、整数类型:byte、short、int、long 
          用来表示一个整数
          byte字节型、short短整型、int 整型、long 长整型
       */
      /*
      (1)、byte字节型:占1个字节(8位) 
            取值范围:-128~127(-2^7~2^7-1) 
            默认值:0
       */
      byte b = 50;
      System.out.println("byte b的值为:"+b);
      /*
      (2)、int 整型:占4个字节(32位) 
            整型的默认值为int
            取值范围:-2,147,483,648~2,147,483,647(-2^31~2^31-1)
            默认值:0
       */
      int i = 18000;
      System.out.println("int i的值为:"+i);
      /*
      (3)、short短整型:占2个字节(16位) 
            取值范围:-32768~32767(-2^15~2^15-1) 
            默认值:0
       */
      short si = 1800;
      System.out.println("short si的值为:"+si);
      /*
      (4)、long 长整型 :占8个字节(64位)
            取值范围:-9,223,372,036,854,775,808~9,223,372,036,854,775,807(-2^63~2^63-1) 
            默认值0L,后面有一个L或l
       */

      long li = 180000l;
      System.out.println("long li的值为:"+li);
      /*
       2、浮点类型:float、double 
         float单精度浮点类型、double双精度浮点类型
         Java用浮点型表示实数,简单的说就是带有小数的数据。
       */
      /*
      (5)、float 长单精度浮点类型 :占4个字节(32位)
            默认值:0.0f,后面要跟一个f或F表示
       */

      float f = 3.14f;
      System.out.println("float f的值为:"+f);
      /*
      (6)、double 双精度浮点类型 :占8个字节(64位)
           浮点型的默认类型
           默认值:0.0d, 后面要跟一个d或D表示,浮点数不添加默认代表双精度
       */

      double d = 3.14d;
      System.out.println("double d的值为:"+d);
      /*
      (7)、boolean 类型 : 
           有两个值:true、false
           用作标记或条件判断
       */

      boolean hasChecked = false;
      System.out.println("boolean hasChecked的值为:"+hasChecked);
      /*
      (8)、char 字符类型 :占2个字节(16位) 
           存放单个字符,用单引号引用起来
       */

      char a = 'a';
      System.out.println("char a的值为:"+a);

二、引用数据类型
  这里先讲一个常用的String类型,其他的后续陆续讲解。

        /*
        (1)、String 字符串类型 
            char字符型仅表示一个字符,多个字符要用String 
            默认值:null 
            可用+链接多个字符串
         */

        String name = "zhangsan";
        System.out.println("String name 的值为:"+name);

4、数据类型转换

不同数据类型的数据是可以转换的,分为自动数据类型转换和强制数据类型转换

/* 1、自动数据类型转换
           按照数据类型占用存储不同可以自动类型转换或强制类型转换,总的原则是小存储容量数据类型可以自动转换成为大存储容量数据类型。
           不同类型数据间 按照下面关系的从左到右(从低到高)自动转换:
           boolean、char、short int-> int ->long int-> float -> double 。
           
         */

           int height=170;
           float fHeight=height;
           System.out.println(" int自动转换成float的值为:"+fHeight);
     
        /*
          2、强制数据类型转换
           如果类型转换是右到左情况,就需要强制类型转换了,转换方法就是在数据前面加上(目标类型),
           但是这种转换是存在风险的,有可能造成数据的丢失,需要谨慎进行。
          
         */  
           double weight=23.56;
           int iWeight=(int)weight;
           System.out.println("double强制转换成int的值为:"+iWeight);
           

5、变量与常量

最后补充一些知识,之前我们使用的代码格式都为
   int i = 18000;
  这个是什么呢?实际上是变量定义

  /*
         一、变量
              1、概念:是Java程序的一个基本存储单元,变量是由一个标识符及一个可选的初始值组合定义。
                     定义规则为:
                      1:必须以字母、下划线“_”、或“$”符号开头
                      2:可以包括数字、区分大小写
                      3:不能使用Java语言的关键字,例如int、float、public等(更多见附注1Java关键字)
                     变量的值是可以改变的              
              2、变量定义格式:
                 变量数据类型 变量名;  
                  例如 int age;
            */
           //1,先定义变量,再初始化
           int score;
           score=200;
           //2,定义的时候直接初始化
           float heightf=180.6f;
           //3,变量值的改变(可多次改变)
           double money=1234.56;
                  money=3456.78;
                  money=5678.9;
           //4,变量值的传递(从一个变量传递给另一个变量)
           int age=6;
           int ageb=age;
        /*
         二、常量
             常量是变量中的一个特例,用final关键字修饰,常量的值是不可以修改的
             对常量命名的定义规则:建议尽量全部大写,并用下划线将词分开

         */
           //5,定义常量,常量不能修改,仅能定义时初始化
             final float PI=3.1415f;
            // PI=3.14159f;
             System.out.println("变量分数值:"+score+"变量身高值:"+heightf+"存款:"+money+"年龄:"+ageb+"常量PI:"+PI);

6、运行结果

保存程序并运行,结果如下:

byte b的值为:50
int i的值为:18000
short si的值为:1800
long li的值为:180000
float f的值为:3.14
double d的值为:3.14
boolean hasChecked的值为:false
char a的值为:a
String name 的值为:zhangsan
 int自动转换成float的值为:170.0
double强制转换成int的值为:23
变量分数值:200变量身高值:180.6存款:5678.9年龄:6常量PI:3.1415

附注:

1、Java关键字
  Java官方使用的特定标识,代表特殊含义,如int,代表整型数据类型


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容