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类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
随机推荐
- 上传预览 easyui部分控件获取focuse 表单验证
js: $(document).ready(function () { //$('#creater').combobox({ // url: '/VMS.UI/BindData/ScheamData? ...
- 列表视图(ListView)和ListActivity
ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有如下两种方式: 直接使用ListView进行创建. 让Activity继承ListActi ...
- 推荐学习C#的地方
大神 http://www.cnblogs.com/kingjiong/category/152147.html
- Spring3.2AOP实现需要添加的三个包
Spring3.2AOP实现需要添加的三个包 http://down.51cto.com/data/1001395 http://down.51cto.com/data/519542
- java操作redis redis连接池
redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...
- 【python基础】之list列表
python提供了一个被称为列表的数据类型,他可以存储一个有序的元素集合. 记住:一个列表可以存储任意大小的数据集合.列表是可变对象,有别于字符串str类,str类是不可变对象. 1.创建一个列表 l ...
- requireJS的初步掌握
前一段时间,因为一些事吧这个习惯落下了,现在争取重新捡起来. 最近开始自学requireJS,为了更好的掌握,所以写出一个自我理解的博客供参考. 分割线------------------------ ...
- gcc 简单编译流程
注意:GCC在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库,可在编译时加上-static选项,强制使用静态链接库. gcc -static 此选项将禁止使用动态库,所以,编 ...
- 《Effective Objective-C 2.0》 读后总结
感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更 ...
- vs2010 入门程序
#include <stdio.h> int main(){ printf("hello world!\n"); getchar(); //此处避免执行完程序自动退出 ...