第二章——变量与数据类型
2.1什么是变量?
变量就是计算机中的一块特定的内存空间,由一个或多个连续的字节组成,同时也是该变量的内存地址
2.2数据类型
数据类型包括8种基本数据类型和5种引用数据类型
2.2.1基本数据类型
数值型:int short long float double
非数值型 char booelan
- byte = 1byte = 8bit &包装类:Byte
- short = 2byte = 16bit &包装类:Short
- char = 2byte = 16bit &包装类:Character
- int = 4byte = 36bit &包装类:Integer
- float = 4byte = 36bit &包装类:Float
- double = 8byte = 64bit &包装类:Double
- long = 8byte = 64bit &包装类:Long
- boolean = 1bit &包装类:Boolean
2.2.2引用数据类型
类,接口,数组,枚举,注解
使用new关键字创建出来的类型都是引用数据类型
2.3数据类型的存储原理
1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;
2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;
区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念)
2.4变量名的命名规则
变量可以由任意顺序的字母、数字、下划线,美元符号组成,长度任意
第一个字符必须为字母或下划线或$。
不能以数字开头。
不能使用java保留的关键字。
规范:
1.变量名注意不能重复
2.见名知意,使用有意义的英文(多用驼峰命名)
3.一条语句可以声明多个数据相同的变量
2.5数据类型转换
2.5.1自动转换
从左往右数据类型的范围依次变大
byte short char int long float double
自动数据类型转换
1.带转换数据剋行相互兼容
2.转换后的数据类型范围不小于转换前的数据类型范围
2.5.2强制转换
数据类型 变量名 = (转换后数据类型)变量名
nextInt() next() nextLine()
nextInt() 制度取int类型的值,如果在键盘输入了非整型的数据此时就会报错 类似还有nextDouble nextFloat nextBoolean
next() 读取用户输入的字符串,直到输入空格后停止读取
nextLine() 读取用户输入的字符串。包括所有的空格和符号,知道输入回车时停止