第一章需要掌握的知识点:
- 什么是常量,什么是变量?
- 一个字节是多少byte
- 基础数据类型 包含哪些 分别占用多少字节?
- 引用数据类型是什么 如何判断引用数据类型
- 运算符: 算术运算符,逻辑运算符关系运算符,位运算符
- 运算符的优先级
- 问: 什么是编程?
什么是常量 变量
常量 : 顾名思义不会发生变化 有固定且不变的值
如圆周率:3.1415926(小数常量)或者重力系数9.8 比如进制换算比(整数常量) 都是有固定不变的值 这就是常量 也就能理解为在程序运行期间不会发生变化的量 就是变量 变量在java中由固定的修饰符Final(不定的不变的)
变量: 顾名思义不断变化 没有固定的值
也就能理解为在程序运行中不断发生变化的值就是变量
常量变量小总
1.常量:是反映事物相对静止状态的量。
2.变量:是反映事物运动变化状态的量。在事物的特定运动过程中,某量若保持不变,则称之为常量;反之,则称之为变量
新问题
为什么常量有整数和小数之分变量是否也是这样?
字节
字节(Byte )是计算机技术中计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符 ;
字节的长度是八位 也就是说 一个八位的二进制数为1byte
他所能存储的最大值换算为十进制是255
基础数据类型
数值类型(整数数值类型,小数数值类型)
整数数据类型 | 长度 |
---|---|
byte (字节类型) | -127~+128 (1字节) |
short (短整型) | -2^15 ~ 2^15-1(2字节) |
int (整形) | -231~231-1 (4字节) |
long (长整形) | -263~263-1 (8字节) |
小数数据类型
小数数值类型(默认为double 如果需单精度数据需声明) | 长度 |
---|---|
float (单精度) | -3.4E+38 ~ 3.4E+38 (4字节) |
double (短双精度数据类型) | -1.7976E308~ 1.7976E308(8字节) |
注: 小数数值类型 : 默认为double 如果需单精度数据需声明
fioat:变量后面必须加"F"(不区分大小写)声明这是单精度类型
布尔数据类型
关键字 | 值 |
---|---|
boolean (布尔类型) | true (1字节) |
boolean | false |
注:布尔类型 只有两个 固定值 分别是true(真) false(假) 都只占用一个字节
字符数据类型
关键字 | 值 |
---|---|
char (字符数据类型) | -231~231-1 (4字节) |
注: 字符类型 变量名 必须添加 ' ';
如: char a ='91';
char会自动将91 转换为ascll对应的字符
基础类型自动转换,强制转换
byte—>short–>int ---->long---->float—>double
基本数据的自动类型转换只有7种数据类型,除了boolean
自动类型转换规则:
1.所有的byte类型和short类型和char值运算的时候都会提供成int类型,int最大值2147483647。
2.如果计算中一个操作数据类型是long,另一个数的空间小于等于long,那么结果就是long
3.如果计算中一个操作数据类型是float,另一个数的空间小于等于float,那么结果就是float
4.如果计算中一个操作数据类型是double,另一个数的空间小于等于double,那么结果就是double
强制类型转换规则
1.当大容量类型的变量向小容量的类型去转换需要强制转换。
2.小数转换成整数,就是把小数去掉(会出现精度不足)
3.将字符类型赋值给整形,整形了存储的是字符类型的ASCII码,以整形输出的是这个字符的ASCII码
//自动类型转换
int a = 5;
double b = a;
float f = 1.2f;
double c = b + a;
System.out.println(a + "-" + b + "-" + c);
//结果:5-5.0-10.0
//强制类型转换 (int)f 表示将float类型的f强制转换为短整形
int d = a + (int)f;
System.out.println(d);
//运行结果为6
引用数据类型
除去所有的基础数据类型其他的都是引用数据类型(现在用不上 会在 面向对象时详解)