前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java_数据类型_03

Java_数据类型_03

作者头像
酷走天涯
发布2018-09-14 14:34:34
6450
发布2018-09-14 14:34:34
举报
文章被收录于专栏:每日一篇技术文章
简单的介绍

先从一个话题开始,有人说java语言具有较高的安全性和健壮性,以及夸平台的特点,大家有没有思考过为什么? 那我就围绕这个话题展开讨论。 数据类型

  • 数据类型表示的是数据占用内存的大小和数据在内存中存放的格式。
  • java 是强类型语言,要求每个变量和表达式都有确定的类型。
  • 每个变量在使用前必须有唯一的数据类型的声明,不能重复声明
  • 在赋值前,赋值运算符两边都会被检查数据类型是否一致,如果不一致,则会被强制转换。
  • java 语言的数据类型分为基本类型和复合类型,基本类型是系统定义,的,占内存大小固定,与软件和硬件无关,这就是为什么可以跨平台的原因,复合类型,允许用户自己生命,大小不固定,有声明者决定。
  • 在调用方法时,传递参数和返回值得类型与方法声明的类型相同。

以上几点可以说明为什么JAVA 语言具有安全性和跨平台的特点.


标识符

接下来,我们从最简单的标识符开始说起,标识符是干什么的?生活中,所有事物都是靠名字进行区分,在代码的世界也一样,我们也要通过给变量起名字,来区分变量,说的专业的,就是声明程序中的各个成员,给程序成员其的名字就叫做标识符。 先说一下起名的规则:

  • 标识符的首字符可以是 字母、_ 和 $ , 就这三个
  • java 语言使用unicode 字符集,包括 'a''z',AZ 以及序号大于0XC0 的所有字符集.
  • 标识符的区分字母大小写,Name 和 name 不一样的
  • 标识符的长度没有限制,为了便于记忆和书写,不宜太长。
  • 还有一点记住,标识符不能是java中的关键字 举几个例子理解一下: 合法的:userName ,it_Say,$ _friend 不合法:2unit #room

小提示: java 语言的源码都是16位的Unicode 标准,比8位的ASCII 码更丰富,但是有许多文件系统不支持unicode编码,所以编程时,建议类名使用ASCII 字符。


关键字

刚才说了,标识符不能使用关键字,那什么是关键字呢?

  • 系统声明的标识符
  • 具有专门的意义和用途
  • 只能按照指定规则使用
  • 关键字全部使用小写字母 关键字按照用途分,可以分为5类,我把关键字列出来,现在先不说,后面再说.

表示数据类形 boolean,byte,char,double,float,false,true,int,instandeof,long,new,null,short,void 表示语句 break,case,if,for,while,do,catch,continue,default,else,finally,return,switch,super,this,throw,try 用于修饰 abstract,final,native,private,protected,public,static,synchronized,transient,volatile. 表示方法,类,接口和包 class,extends,implements,import,interface,package,throws. 保留 const,goto


常量

什么是常量? 常量是在程序运行过程中值不变的量。 怎么声明常量? 在变量声明前加final关键字,即表示常量 常量的表示法

整型常量 分为字节型(byte),短整型(short),整型(int),长整型(long),这四种类型的整型常量都可以使用八进制,十进制和十六进制表示。 十进制表示法:非0 开头的数字表示十进制 如:8 八进制表示法:0 开头的数字表示八进制 如:012 代表十进制的10 十六进制表示法:0x 开头的数字表示十六进制 如:0xA

实型常量 分为单精度和双精度,表示方法都用小数和指数两种格式,单精度小数表示用F或者f后缀表示,双精度小数使用d或者D表示,当数值较大时,使用指数形式表示更好,如3.12E10,3.23e7 提示:使用指数形式的时候,E 或者e前面必须有数字并且其后面必须为整数,还要注意指数取值范围不要出现数据溢出的错误.

字符常量 字符常量是无符号常量,占16 比特位 范围为0~65535 表达方式1:用单一号括起来的字符,如:'c' 表达方式2: 用单引号括起来的转义字符。如'\n' 表达方式3: 用单引号括起来的八进制转义字符'\141' 表达方式4: 单引号括起来的unicode 转移字符.形式为'\uxxxx'表示,表示1至4位的十六进制数据所代表的字符,如'\u0047' 字母A

字符串常量 字符串常量使用双引号括起来的一串字符,如 "i love you",要注意的是,java中的字符串常量作为String 类的一个对象来处理. 布尔常量 布尔常量在java 中只有true和false 两个值,记住,不能转换成任何其他的类型,只能赋值给boolean 数据类型或者布尔表达式

变量

程序运行中值可变的量,它用来记录程序运行中间结果或保存数据,是程序中的基本单元,有几个特点大家需要注意一下:名称,类型值,作用域,取值范围等,变量的作用是和内存建立对应关系,即给变量分配内存空间,基本的数据类型,在声明时,就分配了内存空间,符复合数据类型在用new关键字的时候,才分配内存空间.

变量分类 局部变量:在整个方法中声明,其作用域是在代码段中. 类变量:实在类中声明,作用范围为整个类 方法参数:传递给方法的变量,作用域为这个方法 异常处理: 传递给异常处理的变量,作用域在异常处理的代码段. 注意:在任何作用域内,变量的名称必须是唯一的.域使用{} 划分.

基本类型的数据范围

就不具体说了,给一张表格自己了解一下

类型

关键字

位数

默认值

取值范围

字节型

byte

8

0

-128~127

短整型

short

16

0

-32768~32767

整型

int

32

0

-2147483648~2147483647

长整型

long

64

0

-263~263-1

单精度浮点数

float

32

0.0F

-3.40232347e38~-3.40232347e38

双精度浮点数

double

64

0.0D

-1.79769313486231570E+308~1.79769313486231570E308

字符型

char

16

‘\u0000’

‘\u0000’~'\uFFFF'

布尔型

boolean

8

false

true,false

数据溢出

整数:如果计算结果超过变量数据类型允许的最大范围或者最小范围,就称为溢出,如果超过最大范围叫做上溢,如果超过最小范围,叫做下溢,例如,给最大值加上一个1,就会上溢,该值就变换成该数据类型的最小值,如果给一个最小值减一,就会下溢,该值就会变成数据类型的最大值. 浮点类型数据组成必须有小数点,如果出现下溢,计算机会自动设置为0.0 如果上溢,结果为+/- INFINITY(正负无穷大)

数据类型转换

JAVA 语言数据类型转换,有两种方式: 自动转换和强制转换. 自动类型转换:在赋值和计算时,由计算机按照优先级次序自动完成,注意,只能将位数少的转换成位数多的,否则只能使用强制转换. 下面给出优先级关系 byte,short,char->int->long->float->double 强制类型转换,举个简单的例子,大家应该就明白了.

代码语言:javascript
复制
short t;
b=(byte)short;
引用数据类型

先看一段代码

代码语言:javascript
复制
int x=80;
int y=x;
Date d1 =new Date(25,8,1980);
Date d2 = d1;

先来解释一下这段代码内存分配问题,x和y都是独立变量,在内存中都有自己独立的存储单元,他们的任何一个值改变不会影响另外一个值,变量d1 和d2 两个同时存储了一个Date对象,d1 有对象存储的堆地址,d2 也指向di对象相同的堆地址,所以他们的任何一个值改变,必然会影响其他的一个,那怎么可以不另外一个的值呢,那就给d2 重新使用new 赋值

方法参数传递:参数类型有变量和对象两种。 值传递不会改变变量的值 对象传递可以改变对象的内容


总结

java 的数据类型分为基本数据类型和引用数据类型,本篇分别做了介绍,内容不多,很简单!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.08.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单的介绍
  • 标识符
  • 关键字
  • 常量
  • 变量
  • 基本类型的数据范围
  • 数据溢出
  • 数据类型转换
  • 引用数据类型
  • 总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档