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类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
随机推荐
- 处理div 在IE6 IE7 IE8 下不居中的问题
具体处理方式如下:1 .html 顶部加入:DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- Java线程:总结
线程的状态转换图: new:新建状态 Runnable:就绪状态.线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权. Run ...
- spring mvc ajax请求
jar包中增加 jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-2.5.0.jar springmvx.xm ...
- Android项目实战(二十九):酒店预定日期选择
先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...
- Java性能优化_转载
一.避免在循环条件中使用复杂表达式 1.在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 2.不可使用多层循嵌套. 二.集合大 ...
- JAVA中的char类型
1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a'; //任意单个字符,加单引号. char a='中';//任意单个中文字,加单引号. char a=1 ...
- 浅谈stream数据流
汴水流,泗水流,流到瓜州古渡头, 吴山点点愁. 我们知道水是源源不断的, 抽刀断水水更流, 斩不断, 理还乱, 是水流.(技术贴, 本文权当读者没学过古诗). 在一些语言里, 我们的前辈把数据 ...
- C++ cout 输出小数点后指定位数
在C中我们可以使用 printf("%.2lf",a);但在C++中是没有格式操作符的,该如何操作: C++使用setprecision()函数,同时必须包含头文件iomanip, ...
- 告诉你 IOS9.0 之后的Bitcode到底是什么!!
用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: ld: ‘/Users/**/Framework/SDKs/PolymerPa ...
- 用手机或外部设备在同一局域网下访问虚拟主机wampsever的方法版本号是2.4.9
1,首先在虚拟服务器电脑上可以打开http://localhost/ 2,在外部设备访问时报错为:You don't have permission to access / in on this se ...