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类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
随机推荐
- 使用(Drawable)资源——图片资源
图片资源是最简单的Drawable资源,只要把*.png.*.jpg.*.gif等格式的图片放入/res/drawble-xxx目录下,Android SDK就会在编译应用中自动加载该图片,并在R资源 ...
- mysql 使用sqldump来进行数据库还原
MYSQLdump参数详解 mysqldump备份: 复制代码代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > ...
- 如何估算网站日承受最大访问PV
每个老板或客户都会问架构师这个问题. 你设计的网站能承受多大的日访问量. 程序员都会拍胸脯说出一个心理最大数字.说的时候很有信心.其实这个数字大多是猜的.作为一个理性的程序员怎么能用猜呢? 这里就介绍 ...
- Java泛型类型擦除导致的类型转换问题
初步结论:泛型类型转换不靠谱: 源码: package com.srie.testjava; public class TestClassDefine4<T> { public stati ...
- nginx安装配置
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强 1. apache ...
- bootstropt-table 大量字段整体表单上传之时间处理
js 中用$('#addUserForm').serialize(),//获取表单中所有数据 传送到前台 (controller) $.ajax({ type : "POST", ...
- js之Math对象
; var num1 = Math.floor(num); // 向下取整 var num2 = Math.ceil(num); // 向上取整 document.write(num2+'-<b ...
- 获取当前用户的网络状态--iOS
http://m.blog.csdn.net/blog/u014483033/39229417
- AngularJS2环境配置
所使用到的文件目录结构如下所示: 1. 创建配置文件: 1.1. 创建目录: mkdir angular-quickstart cd angular-quickstart 1.2. 载入 ...
- Maven常用插件简单配置
好久不见,甚是想念.一日不见,如隔三秋. 从春节到现在已经很久没有回归博客园了,今天回来温习一下maven常用的一些插件的配置,学东西一个很简单的诀窍就是重复重复再重复,这样一定能把知识掌握的很牢靠. ...