1.字面常量
常量即程序运行期间,固定不变的量 称为常量。不能改变常量的值,final相当于C语言的const
常量的值在编译时确定,变量的值在运行时确定,所以变量有时在运行时报错,常量在编译时会有提示。
分类:
2.数据类型
数据类型分为两类:基本数据类型 和 引用数据类型,这里先介绍基本数据类型
2.1八种基本数据类型
基本数据类型有四类八种:
2.2 找范围最大最小
输出int的最大/最小值,Integer 包装类,int的plus版本
2.3 注意:
1.1个字节=8个比特位,int是4个字节,有32个比特位,但是,第一位是符号位,真正意义上,表示数值的只有31个比特位。所以,范围是 -2^31~2^31-1
2.boolean只有true和false两个
3.不管在16位系统还是32位系统,int都占4个字节,long都占8个字节
4.整型和浮点型都是带有 符号 的
5.整型默认 int,浮点型默认 double
6.字符串属于引用数据类型,后续会介绍(本章6.字符串类型)
3.变量
经常改变的就是变量,而数据类型就是用来定义不同种类变量的。数据类型 变量名 = 初始值
3.1整型变量
1.int的包装类是Integer,long包装类是Long,short包装类是Short,byte包装类是Byte
2.. 长整型变量的初始值后加L或者l,推荐加L,eg:long b=10L
3.范围和所占字节见上图
3.2浮点型变量
快速/取消屏蔽 ctr+shift+/ */ ctr+/ //
1.计算1/2 ,要用double类型计算1.0/2.0
2.打印1.1*1.1,和语言一样,尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差。因此浮点数是一个近似值,而不是精确值。
3.float型变量的初始值后加 f 或者F,推荐加F,eg:long a=1.0F
3.3字符型变量
1.在计算机中,字符本质上是一个整数。C语言中使用ASCII表示字符,而Java使用Unicode表示字符。一个字符占两个字节表示的字符种类更多,包含了中文。
2.char的包装类是Character
3.用cmd执行javac时要加上 -encoding UTF-8
3.4布尔型变量
1.只有两种取值,true和false
2.Java的boolean类型和int不能相互交换,不存在 1表示true,0表示false
3.Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在 Oracle公司的虚拟机实现中,boolean占1个字节。
4.类型转换
在Java中,当参与运算de数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式) 和 强制类型转换(显式)。
4.1自动类型转换(隐式)
代码不需要经过任何处理,在编译时,编译器会自动处理
特点:数据范围小的转化为数据范围大的 会自动进行
4.2强制类型转换(显式)
当进行操作时,代码需要经过一定的格式处理,不能自动完成
特点:数据范围大的到数据范围小
强制类型转换不一定能成功,不相干的类型不能相互转换(如布尔类型),同时也不建议用强转,要考虑到范围等因素
5.类型提升
5.1int与long之间运算:int会被提升为long
5.2byte与byte
5.3总结
1.不同类型的数据混合运算, 范围小的会提升成范围大的
2.由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算
6.字符串类型
在Java中用String类定义字符串类型,与C语言相比,没有/0这样的说法(为了求字符串长度)
1.整数变字符串
![](https://img-blog.csdnimg.cn/direct/efec7513be004186a7594abf58b12899.png)
![](https://img-blog.csdnimg.cn/direct/276506ecbfe14d8085d1b7fbb613dfaf.png)
2.字符串变整数
3.加号相当于拼接
加号相当于拼接
第一个先有字符串,就当成是字符串的拼接,第二个先运算后遇到字符串,就会先运算
这里只是对字符串进行简单的介绍,大家能够正常使用即可,后续会详细介绍给大家。