Java基础——变量、数据类型
一 、变量
1.计算机的内存类似于人的大脑,计算机使用内存来记忆大量运算时要使用数据。内存是一个物理设备,如何来存储一个数据呢?很简单,把内存想象成一间旅馆,要存储的数据就好比要住宿的客人。
首先,旅店的服务人员会询问要住什么样的房间,如:单人间、双人间、总统套间;然后,根据选择的房间类型,服务员会安排合适的房间。“先开房间,后住”就描述了数据存入内存的过程。
首先,根据数据类型的类型为它在内存中分配一块空间(即找一个合适的房间),然后数据就可以放进这个空间(即入住)。
那么为什么对存储空间有要求呢?试想有3个客人,服务员就安排了一个人单人间,这能入住吗?分配的空间过小,会导致数据无法存储。
数据被存储在内存中,目的是便于在需要时取出来使用,或者如果这个数据被改变了,内存中存储的值也会随之相应的更新,以便下次使用新的数据。
变量是一个数据存储空间的表示
变量与房间的对应关系
| 旅馆中的房间 | 变量 |
| 房间名称 | 变量名 |
| 房间类型 | 变量类型 |
| 入住客人 | 变量的值 |
通过变量名可以简单快速的找到存储数据。将指定给变量,就是将数据存储到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来。可见,变量是存储数据的一个基本单元,不通的变量相互独立。
二、数据类型
1.常见的Java数据类型
| 数据类型 | 说明 | 举例 |
| int | 整型 |
用于存储整数,例如,学生 人数,某公司的员工编号、一年的天数,一天的小时数 |
| double | 双精度浮点型 | 用于存储带有小数的数字,例如,商品的价格、世界银行给其他国家的贷款金额、员工工资 |
| char | 字符型 | 用于存储单个字符,例如,性别'男','女'、成绩'优'或'良' |
| String | 字符串型 | 用于存储一串字符,例如,员工姓名、产品型号、产品的介绍信息 |
上面提到“根据数据的类型为它在内存中分配一块空间”,数据得到类型是整数、小数还是字符,不同的数据在存储是需要的空间各不相同,例如,int类型的数值要占4个字节,而double型数值占8个字节,因此,不同类型的数据就需要不同大小的内存空间来存储,其中,int、double、char都是Java定义的关键字。
2.变量的声明和使用
(1)声明变量,即“根据数据类型在内存重申请一块空间”,这里需要给变量名
语法: 数据类型 变量名
double score; //声明双精度浮点型变量score存储分数
String name; //声明字符串型变量name存储学生姓名
char sex; //声明字符型变量sex存储性别
()给变量赋值,即“将数据存储至对应的内存空间”
语法: 变量名 值
score = 98.5 //存储98.5
name = "张三" //存储“张三”
sex = '男' //存储‘男’
这样的分解步骤有点繁琐,也可以将步骤(1)(2)合二为一,在声明一个变量的同时给变量赋值。
语法: 数据类型 变量名 = 值
double score = 98.5; String name= "张三"; char sex = '男';
(3)调用变量。使用存储的变量,我们称之为“调用变量”。
1 System.out.println(score); //从控制台输出变量score存储的值
2 System.out.println(name); //从控制台输出变量name存储的值
3 System.out.println(sex); //从控制台输出变量sex存储的值
另外;理论上两种方法都各有好处。要注意的是“变量都必须声明和赋值之后才能使用”。
3.变量命名规范
| 序号 | 条件 | 合法变量名 | 非法变量名 |
| 1 | 变量名必须以字母开头,下划线“_”或“$”符号开头 |
_myCar score1 SmyCar graph_1 |
*myvariable1 //不能以*开头 9vaeible //不能以数字开头 variable% //不能包含% a+b //不能包括+ My Variable //不能包括空格 t1-2 //不能包括连字符 |
| 2 | 变量可以包括数字,但不能以数字开头 | ||
| 3 | 除了“_”或“$”字符以外,变量名不能包含任何特殊字符 | ||
| 4 | 不能使用Java语言的关键字,如int、class、public等 |
(1)Java命名长度没有任何限制,但是Java语言区分大小写,所以price和Price是两个完全不同的变量
(2)Java关键字,如 public、int、class、boolean、void、static等,都不能用作变量名、类名、包名
(3)变量名要简短且能清楚的表明变量的作用,可以由一个或多个单词组成,通常第一个单词的首字母小写,其后单词首字母大写
例如:int ageOfStudent; //学生年龄
int ageOfTeacher; //教师年龄
(4)定义变量名时,尽量不要使用一些简单的字母作为变量名,如a、b、c等,这样尽管正确,但是以后发现,如果以后有100个变量,在使用时就分不清楚代表什么意思
所以尽量使用一些有意义的单词。
Java基础——变量、数据类型的更多相关文章
- java基础(数据类型,运算符)
java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整 ...
- Java基础-变量的定义以及作用域详解
Java基础-变量的定义以及作用域详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字面量 常量(字面量)表示不能改变的数值(程序中直接出现的值).字面量有时也称为直接量,包 ...
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- java基础-引用数据类型之一维数组(Array)
java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保 ...
- Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...
- 小白——java基础之数据类型
PS:此文章为小白提供,大佬请绕道!!!! 首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全. 今天要讲的是数据类型,最最最基础的内容~ java标识符.数据类型.关键字 开 ...
- java基础-02数据类型
基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...
- Java 基础 变量和运算符
Java基础语法 第1章 变量 1.1 变量概述 1.2 计算机存储单元 1.3 基本类型之4类8种 1.4 常量与类型 1.5 定义变量(创建变量) 1.6 变量使用的注意事项 1.7 数据类型 ...
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- 闲来无事——第一弹 Java基础 基本数据类型
一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
随机推荐
- GCD教程(三):Dispatch Sources
接上一篇,原帖地址:http://www.dreamingwish.com/dream-2012/intro-to-grand-central-dispatch-part-iii-the-dispat ...
- java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例
java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍 我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream ou ...
- Linux上使用shell脚本查看内存情况(超实用)
#!/bin/bashexport chknum=1 #shell搅拌存放目录(输出日志文件执行后也存于该目录)echo 3 > /wls/wls81/shellsyncwhile [ $chk ...
- php扩展SeasLog应用于 yii2 组件
一.seaslog 简单介绍及使用原因 它是C 写的PHP扩展,性能很高,使用简单,能满足大部分简单的日志需求.(个人感觉) 其他优势请看-->https://github.com/Neeke/ ...
- 自定义IHttpModule
HttpModule作用是 IIS将接收到的请求分发给相应的ISAPI处理前,先截获该请求. 通过这个我们可以完成很多额外功能. 自定义IHttpModule的例子: 通过自定义HttpModule, ...
- 循环语句——for语句
一.for语句结构:for (初始化表达式; 循环条件表达式 ;循环后的操作表达式 ) { 执行语句: } 循环条件表达式,必须是true或false 示例: class ForDemo { publ ...
- C++ 头文件系列(iosfwd)
简介 输入输出历来都是语言的重要部分,在C++中,该库也是占据了相当大的一部分. C++的输入输出库是其遵循面向对象设计的结果,并结合了泛型编程. 以下是这些库类的关系图(箭头标示继承,白框表示摸板, ...
- 对JavaScript中this的理解
JavaScript中的this其实没传说中的那么难,也没那么乱. 我们来分析下,this主要是跟它的执行环境有关. 而通常情况下,this都是放在函数体中或可执行的JS代码中(函数体除外). 至于J ...
- 使用 flow.ci 快速发布你的项目文档
软件研发的协作过程中,文档是必不可少的一环,有需求文档.接口文档.使用文档等等.当开始写文档时,首先会遇到两个问题: team members 之间如何协作? 文档 OK 后如何分发,去哪里看?如何更 ...
- angular 输入框实现自定义验证
此插件使用angular.js.JQuery实现.(jQuery的引入需在angular 之前) 用户可以 在输入框输入数据后验证 必填项.整数型.浮点型验证. 如果在form 里面的输入框验证,可以 ...