1.变量的本质

  • 变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放的值不确定。
  • 可通过变量名访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
  • java是一种强制性语言,每个变量都必须声明其数据类型,变量的数据类型决定了变量占据存储空间的大小。

1.1,使用变量时应注意

使用变量注意:

  • Java 中每个变量必须先声明,后使用;
  • 使用变量名来访问这块区域的数据;
  • 变量的作用域:其定义所在的一对{ }内;
  • 变量只有在其作用域内才有效;
  • 同一个作用域内,不能定义重名的变量;

1.2,声明变量

  • 语法:<数据类型> <变量名称>
  • 例如:int var;

1.3、变量的赋值

语法:<变量名称> = <值>
例如:var = 10;

2.基本数据类型

变量的分类-按数据类型

2.1整数类型:byte、short、int、long
类型 占用存储空间 表数范围
byte 1字节 -128 ~ 127
short 2字节 -2^15~ 2^15-1
int 4字节 -2^31~ 2^31-1 (约21亿)
long 8字节 -2^63~ 2^63-1
2.2浮点类型:float、double
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。
2.3字符类型:char

  • char 型数据用来表示通常意义上“字符”(2字节)
  • Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
  • 字符型变量的三种表现形式:
  • 字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 = ‘a’; char c2 = ‘中’; char c3 = ‘9’;
    2.4布尔型:boolean
  • //① 只能取两个值之一:true 、false
  • //② 常常在条件判断、循环结构中使用

按照数据类型来分:

  • 基本数据类型:
    整型:byte \ short \ int \ long
    浮点型:float \ double
    字符型:char
    布尔型:boolean
  • 引用数据类型:
    类:class
    接口:interface
    数组:array

3,基本数据类型转换

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
boolean类型不能与其它数据类型运算。
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。
基本数据类型之间的运算规则:

前提:这里讨论只是7中基本数据类型变量的运算。不包含boolean类型的。

  1. 自动类型提升:
    当容量小的数据类型的变量和容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
    char、byte、short–>int–>long–>float–>double

    特别的:当byte、char、short三种类型的变量做运算时,结果为int类型

  2. 强制类型转换:

说明:此时容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

  • 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。
  • 通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
    如:String a = “43”; inti= Integer.parseInt(a);
    boolean类型不可以转换为其它的数据类型。
  1. ASCII表
    因为计算机内部只能识别01二进制数字,对于数字而言,
    可以直接转换为二进制,但是对于人类的文字而言如何
    转换为二进制的01呢?因为自己算最早出现在美国,所以
    美国就编写了一张码表,将人类的语言和符号和计算机
    中的01进行对应
  • 当输入人类语的时候,操纵系统就会去查询对应的码表,
    将这些语言转换为对应的二进制,因为是美国人的语言
    只有英文,所以ASCII中只有英文和一些标点,每个英文
    字母和符号对应一个字节(8位)的二进制数字
    不需要我们全部记忆,只需大家记住(0­9)对应(48­57),
    (A­Z)对应(65­90),(a­z)对应(97­122)

  • 因为不能识别中文,所以中国编写自己第一张简体中文
    编码表GB2312(简体中文,符号,日本假名),因为存的字
    有限,所以后来升级成为GBK(增加繁体中文和少数名族
    文字),我们的操作系统,如果设置成中文就是GBK编码

  • 因为后来出现了很多码表,所以世界标准组织ISO推出
    了Unicode编码表(万国码表),规定一个字符占用两个字

    所有的编码表都支持ASCII编码表

4,字符串类型:String

String不是基本数据类型,属于引用数据类型
使用方式与基本数据类型一致。例如:String str= “abcd”;
一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。

二,变量(variable)相关推荐

  1. Qmake变量variable

    Qmake变量variable Qmake变量variable ANDROID_ABI ANDROID_ABIS ANDROID_API_VERSION ANDROID_BUNDLED_JAR_DEP ...

  2. 第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换

    目录 二变量函数的傅里叶变换 二维冲激及其取样性质 二维连续傅里叶变换对 二维取样和二维取样定理 图像中的混叠 二维离散傅里叶变换及其反变换 二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量 ...

  3. c语言带variable的作用,C语言讲义——变量(variable)

    变量(variable) 变量用于存放数据 变量是供程序操作的存储区的名字 变量有类型,该类型决定了变量占用内存的大小 字节→ C语言有以下6种简单变量类型: 类型细分: 变量在内存中需要占据空间,内 ...

  4. Java for Selenium | Java中的变量variable、常量constant、字面量Literal

                                       Java中的变量.常量与字面量 什么是变量(variable)? 程序语言大多数时候都是在处理不同的数据,比如整型数据int,字符 ...

  5. pytorch学习入门 (二) Variable(变量)

    Variable(变量) autograd.Variable 是包的核心类. 它包装了张量, 并且支持几乎所有的操作. 一旦你完成了你的计算, 你就可以调用 .backward() 方法, 然后所有的 ...

  6. Bash shell(二)-变量的丰富功能

    一  Shell变量的取用与设定,变量规则 由于系统需要一些变量来提供他数据的存取,所以就有一些所谓的『环境变量』 需要来读入系统中了!这些环境变量例如 PATH.HOME.MAIL.SHELL.为了 ...

  7. 一步一步学Ruby(二):变量,常量

    本文内容 变量 变量范围 伪变量 常量 一.变量 1. 变量定义无需指定类型 2.只能包含字母.数字.下划线,但只能以字母或下划线开头 x, y2,_mCount 二.变量范围 1.局部变量 以小写字 ...

  8. 可以声明一个抽象类类型变量_TypeScript系列(二)变量声明和数据类型

    一,变量声明 TypeScript是JavaScript的超集,在变量声明方式方面,关键字是和JavaScript保持一致的,并且推荐较新的 let 和 const 代替 var .至于为什么这样做, ...

  9. Go语言学习十二 变量和常量

    本文最初发表在我的个人博客,查看原文,获得更好的阅读体验 Go 使用var关键字声明变量:使用关键字const声明常量.变量可以像常量一样初始化. 一 变量 1.1 变量声明 语法: var 变量名 ...

  10. shell 2:变量(variable)

    1 变量定义 定义变量时,变量名不加美元符号($,PHP语言中变量需要),而引用变量时候需要添加$符号. 注: 1.变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名 ...

最新文章

  1. 渗透知识-内网渗透(详细版本)
  2. 软件工程实践2017第二次作业
  3. 轻松构建基于 Serverless 架构的弹性高可用音视频处理系统
  4. [Usaco2010 Nov]Visiting Cows
  5. 麻省理工告诉我们男女配对的真相!
  6. java中求5的阶乘
  7. Vue刷新页面有哪几种方式
  8. java(线程池的创建方式,和线程池的原理)
  9. HDFS数据恢复模式
  10. python列表嵌套元组拆分,将包含整数和字符串的列表转换为嵌套元组Python
  11. 五、spring-data-Jpa 数据库操作
  12. java开发注意事项
  13. firefox 网页无法播放视频问题
  14. 在线抽奖、限时秒杀、拼团抢购,别的商城有的功能你也可以轻松拥有!
  15. lizbaka的周记
  16. 固态硬盘是什么接口_固态硬盘的各种接口
  17. 图像分类之CutMix论文阅读
  18. HCIA-IoT 个人学习总结 Day3
  19. 4-2 webpack使用mapsource调试
  20. ISBN号码(c++)

热门文章

  1. 软硬件测试策略及方法
  2. 修改idea的头部文档注释信息
  3. PR快捷键图片(可打印)
  4. 虚拟机服务器都使用的机械硬盘吗,云服务器 有机械硬盘吗
  5. VMware中性能分配的问题
  6. 一刀工具箱- 语音合成工具
  7. 黑苹果系统_黑苹果系统的安装(实例一)
  8. 腾讯QQ被盗的形式及密码保护技巧(转)
  9. 熔断机制什么意思_什么是熔断机制,熔断机制是什么意思
  10. 如何使用EasyNVR+CDN突破萤石云在直播客户端数量上的限制,做到低成本高性价比的直播