基础数据类型
byte short int lang float double boolean char
byte short int lang类型只能存整数
float为单精度浮点数double为双精度浮点数:都为小数存储类型 精度不同存储的小数位数不一样
boolean为布尔类型 只存储true[真]与false[假]
char为字符类型 存储各种字符 英文字符 汉字等 但是只能存一个字符
标识符:
标识符:方法名,变量名,常量名,接口名
在java语言中凡是可以自己命名的单词都是标识符
变量名就是一个数据的名字 是可以自定义名字的 但是名字不能以数字开头 也不能写成java语言中的关键字比如public double class int byte等
比如第一个程序HelloWorld
String[] 后面跟了一个args args就是一个变量名 是可以修改的自定义的
这里定义了一个方法public void doSome(){}
这个方法的方法名叫做doSome而方法名是可以自己命名的
遵守命名规则如下:
丶但是变量名只能用字母,数字,下划线,美元符号$组成不能用其他特殊符号
丶变量名不能以数字开头
丶变量名是区分大小写的
丶关键字不能做变量名
标识符命名建议用驼峰式命名规范:
类名,接口名:首字母大写,后面每个单词首字母大写
变量名,方法名:首字母小写,后面每个单词首字母大写
常量名:全部大写
关键字:
在java中关键字都是小写的比如
所有的关键字是不可以被当做标识符来命名的
比如int void = 10; 标识符内含有void关键字写法是错误的
字面值:
字面值的类型都是八种数据类型 整数,小数,字符,布尔类型的true和false叫做字面值
1,2,3,99,50,-1,-2,-50 这样的值属于整数类型
3.1415,5.368,0.1 这种属于小数类型
true,false 是boolean(布尔)类型
'a','b','我','是' 属于字符类型
所有的字符型字面值必须是以单引号括起来 而字符串类型必须是以双引号括起来
可以输出看一下
写一个程序以分号结尾 ;
3.145f表示float类型
变量
变量都是存储在内存中的值
假如一个内存为0x0001的内存中有一个int类型叫做num的变量存储整数1000
那这个内存开辟的空间肯定是4个字节
内存空间开辟根据数据类型来定 一旦以一个类型开辟出空间那这个空间的数据类型不能更改
假如是int类型的变量num那这个空间能存储整数类型
这样这个int类型叫num的空间开辟出来了存储了整数1000
如果存储别的类型会根据数据类型进行自动类型转换
小容量向大容量转换被称为自动类型转化
byte < short < int < long < float < double <
char
大容量向小容量强行转换会存在数据丢失(谨慎使用)
混合运算的话会先转换成最大的数据类型在进行运算
假如int类型存储byte类型
int类型的num存储byte类型的a会将a转换为int类型
100的二进制是1100100而byte类型只会开辟一个字节所以二进制是01100100
而要存储进num整数类型int的大小为四个字节所以会变化为
00000000 00000000 00000000 01100100
布尔类型没有自动类型转换
字符编码
为了让计算机可以表示世界中的文字,需要定制好文字和二进制之间的对照关系,这种对照转换关系被称为:字符编码
最初计算机只支持英文,最先出现的字符编码是ASCII码
当编码和解码时采用不同的对照表 就会出现乱码
中文的编码:GBK GBK支持中文还有一种编码也支持中文:UTF-8
UTF-8存储着很多种语言对照表也包括中文