Day01 数据类型,变量,运算符
一,程序及数据类型
- 什么是程序
程序 = 数据 + 业务逻辑
- 数据类型的分类
A,数据类型的作用:
(1)告诉JVM ,你要多大的内存空间
(2)告诉JVM, 你要存储什么类型的数据
A,主要分为两大类
基本数据类型和引用数据类型
B,基本数据类型(4大类)
整型,浮点型,字符型,布尔型
C,引用类型
数组, 类, 接口
- 整型的分类(用来存储整数)
A,byte 字节型 1字节
B,short 短整型 2字节
C,int 整型 4字节
D,long 长整型 8字节
- 浮点型的分类(用来存小数)
float 单精度浮点型 4字节 保证准确小数位6位
double 双精度浮点型 8 字节 保证给你准确的小数位15位
- 字符型(用来存字符)
‘a’
‘张’
Java中char 以unicode存储的
char 字符型 2字节
- 布尔类型(用来存真假)
boolean 1字节
- 数据类型数的表示范围
二,常量的含义及分类
- 常量的定义
程序运行期间不可改变的量
- 常量的分类
整型常量: 56, 78L,0xEF, 067
浮点型常量: 6.5F, 7.8
字符型常量: ‘a’, ‘张’,
布尔类型常量: true, false
三,变量的含义及定义
- 变量的含义
程序运行期间可以改变的量
- 变量的定义三要素
数据类型 变量名 = 初值
int a = 1
- 标识符的规则
标识符一般来表示变量名, 方法名, 类名, 接口名等.
Java中标识符可以有字母(a-z A-Z), 数字0-9, 下划线_, 美元符号($)组成, 且不能以数字打头
- 变量的使用规则
A,变量的命名满足标识符的基本原则
B,变量名不能占用系统关键字
error:
int public = 5;
C,变量名要见名知意
int count = 5;
int minAge = 9;
D,变量名不能重名
error:
int a = 5;
int a = 7;
E,变量名如果有多个单词组成, 应使用小驼峰命名法(maxAge)
ps:有的标识符是使用大驼峰, 比如类名,接口名
F,变量要先定义,后使用
error:
a = 6;
(5)定义变量注意事项
A,float类型的变量, 小数后要加F或f
B,long类型的变量, 数字后要加L或l
四,数据类型的转换
(1)自动数据类型转换
A, 小容量往大容量存储时, 小容量自动转化成大容量类型
B, 不同类型进行运算时, 小容量会自动转换成大容量类型, 但是有几个特例
(1)float和long的混合运算, 会变成float
PS:因为计算机的底层对于小数的存储是用指数形式存储的,32位的float,比64位的long大
(2)byte char short 之间不做转换运算, 运算的话,都会先变成int再做运算.
C,转换规则:
byte, short, char → int→long→float→double
(2)强制类型转化
大容量转小容量, 需要强制类型转化, 但是可能会损失数据.
强转符:(需要转换的类型)
(3)两种默认常量类型
如:57是默认int
如:5.8默认是double
所以有时候需要在常量后面加L或者F
五:字符串
字符串类型: String str = “abc”;
字符串与基本类型使用+运算是做字符串连接, 不能-,*...
注意:
字符串在前, 是逐个连接. 字符串在后, 先运算前面的基本类型的结果再连接, 因为是从左往右运算的..
四,运算符
- 基本运算符的分类
=,+, - , *, / , %
A, +, - , *, / 和数学运算一样
B, % , 取两个数相除的余数, 余数符号位和被除数一致
注意:
(1)两个整数相除, 得到还是一个整数, 把一个换成小数, 结果就是小数
(2)除数不能为0
(3)运算符的优先级和结合性
(4)=赋值运算符, 自右向左赋值
- 复合运算符
+=, -=, *=, /=, %=
a += b, 相当于 a = a + b;
- 自增自减运算符
++, --
A:++ 自增1, 可以在变量前, 也可以在变量后
B: -- 自减1, 可以在变量前, 也可以在变量后
// int a = 5;
// int b = 0;
// //++在变量后,先赋值, 再自增1
// //相当于 b = a;
// // a = a + 1;
// b = a++;
//++在变量前,先自增1, 再赋值
//a = a + 1;
//b = a;
- 位运算符
&, |, ^, ~, <<, >>
五,常用输出制表符和转义字符
(1)输出制表符
\t, \n
(2)转义字符
\’’, \’
(3) 输出方式
System.out.println()
//不带回车换行
System.out.print()
六,表达式和语句
表达式, 由运算符, 变量组成的式子就是表达式
一个;就是一个语句
七,控制台输入Scanner
//创建控制台输入对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入长:");
//从控制台取出一个整数,存入length
int length = scanner.nextInt();
System.out.println("请输入宽:");
int width = scanner.nextInt();
//double c = scanner.nextDouble();
int perimeter = (length + width) * 2;
int area = length * width;
System.out.println("周长是:" + perimeter + "面积是:" + area);