今天老何与大家分享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,代表整型数据类型

android 手机 吉字节,Java 数据类型05Android开发小典相关推荐

  1. 如何在Android手机上进行Google Map的开发。

    1.题记 提起谷歌Map相信大家都不会陌生,那进入我们今天的话题,如何在Android手机上进行Google Map的开发. 2.Map应用程序的开发 2.1 准备工作 2.1.1 申请Android ...

  2. 《基于C/S模式的android手机与PC机通信系统的开发》项目

    基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:zhb931706659@126 ...

  3. 小尺寸android手机,索尼Z5 Compact:好的小尺寸Android手机

    近日,索尼在IFA 2015电子消费展上发布了Xperia Z5系列新款手机,包括三个型号:Z5.Z5 Premium及Z5 Compact.其中,Z5 Premium因搭载4K分辨率屏幕获得广泛关注 ...

  4. 基于android手机的健身预约系统APP开发

    目录 一.本课题国内外研究动态及意义 二.毕业设计(论文)研究内容.拟解决的主要问题 三.毕业设计(论文)研究方法.步骤及措施 四.主要参考文献 一.本课题国内外研究动态及意义 随着社会不断的进步,健 ...

  5. 定制你自己的android手机桌面Launcher===一个完成Launcher开发的介绍

    launcher也就是我们的Home,可以简单地把它理解为一个简化的linux GUI.作为一个GUI它首先必须完成它最本分的功能, 就是它必须能提供对所有应用程序(CATEGORY_LAUNCHER ...

  6. android代码清除锁屏密码,清除Android手机锁屏密码的三个小妙招

    大家有没有把锁屏密码忘记过?发生这种情况的概率应该很小吧,但为了以防万一大家还是看一下本文的解锁教程吧! 这种解锁的方法要求,被锁上的手机是联网的状态,并登录了google账号,账号密码已知. 如果以 ...

  7. Java实现简单的日历小程序之Java图形界面开发小日历

    首先创建一个CalendarBean类,用于基本的日期计算: package other1;import java.util.Calendar; public class CalendarBean { ...

  8. 【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )

    文章目录 前言 一.Android 命令行与 PC 可执行 JAR 文件不兼容 二.Android 命令行使用 dalvik 命令不能直接执行 Kotlin 编译的 dex 文件 前言 尝试在 And ...

  9. android fastboot原理,Android 手机进入不了fastboot模式的解决方案

    本方案仅针对linux terminal下刷手机img文件的情况: fastboot的通常流程如下: cd out/target/product/XXX/   //进入.img文件的目录 adb re ...

最新文章

  1. 【AI竞赛】TinyMind汉字书法识别挑战赛开始报名啦!!
  2. java理解程序逻辑_使用java理解程序逻辑(12)
  3. 用Python实现武侠小说中的武打动作残影特效
  4. 区块链教程Fabric1.0源代码分析scc(系统链码)
  5. 计算机技术开发如何做账,研发支出是什么类科目?怎么做账?
  6. 解决Unable to create group (name already exists)
  7. iOS- 如何改变section header
  8. java 变量作用域 c语言_C语言深入理解 - 常量与变量
  9. 3-5比较和Fancy Indexing
  10. 电商商城系统活动设计
  11. android获取签名信息
  12. 编译程序遇到问题 relocation R_X86_64_32 against `.rodata' can not be used when making a shared object;...
  13. 2020中考可不可以用计算机,2020北京中考录取规则:北京中考计算机的录取规则...
  14. Java开发自学教程!java从入门到精通txt下载
  15. 用android编写计数器前后台源代码,在Android中实现计数器
  16. 中兴ZXR10_5952E交换机配置SNMP
  17. pyqt创建透明窗体
  18. 人脸表情识别系统(VGG_16和Xception模型)配置GPU加速,Fer2013数据集和CK+数据集,tensorboard
  19. 做个乐意为别人撑伞的人
  20. Vscode开发STM32单片机程序

热门文章

  1. .netCore发布IIS问题记录
  2. 一种基于分层聚合的3D实例分割方法(ICCV 2021)
  3. 车端激光和双目相机的自动标定算法
  4. COCO新记录:60.6AP!微软提出采用注意力机制进行检测头统一的Dynamic Head
  5. MSFNet:多重空间融合网络进行实时语义分割(北航和旷视联合提出)
  6. c语言 lookup函数怎么用_菜鸟记502用lookup和vlookup函数核对数据的一个小栗子
  7. 3D视觉创新应用(三维重建)竞赛作品系列——人体三维精准量测与动作捕捉
  8. Http的请求的全过程
  9. DGL-LifeSci:面向化学和生物领域的 GNN 算法库
  10. bcftools安装