目录
1、标识符
1.1标识符的一些规则
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
Java标识符的硬性规则:
标识符可以包含字母,数字,下划线以及$等符号
但标识符不能以数字开头,也不能是关键字,且严格区分大小写。
Java标识符的软性规则:
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:首字母小写,后面每个单词的首字母大写(小驼峰)
1.2 关键字
关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
如上述代码中的:public,class,static等,Java中的关键字还有很多,在后续的学习中,我们会慢慢遇到。
2、数据类型
1.字面常量
常量就是程序运行期间,固定不变的量称为常量。
(1)字符串常量:“你好”,“HelloWorld”
(2)整形常量:程序中直接写的数字(注意没有小数点):100,1000
(3)浮点数常量:程序中直接写的小数:3.14
(4)字符常量: 由单引号括起来的单个字符:'A','1'
(5) 布尔常量:只有true和false(没有了C语言中的0为假,非0为真)
(6)空常量:null
2.数据类型
Java中数据类型分为两类:基本数据类型和引用数据类型
基本数据类型有四类八种:
1.四类:整型,浮点型,字符型以及布尔型
2.八种:
数据类型 | 关键字 | 内存占用 | 范围 |
字节型 | byte | 1字节 | -128~127 |
短整型 | short | 2字节 | -32768~32767 |
整型 | int | 4字节 | -2^31~2^31-1 |
长整型 | long | 8字节 | -2^63~2^63-1 |
单精度浮点型 | float | 4字节 | |
双精度浮点型 | double | 8字节 | |
字符型 | char | 2字节 | 0~65535 |
布尔型 | boolean | true和false |
表格中没有填入的数据,不用特别关注。
注意: 不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节
整形和浮点型都是带有符号的
整型默认为int型,浮点型默认为double
字符串属于引用类型,该中类型后序介绍。
3、变量
定义:对于某些在程序中经常改变的量就叫做变量。
3.1 数据类型
3.1.1整型变量
int a=10;
System.Out.println(a);
计算int型变量所表示的范围:
System.Out.println(Integer.MIN_VALUE);
System.Out.println(Integer.MAX_VALUE);
3.1.2长整型变量
long c = 10L; // 为了区分int和long类型,一般建议:long类型变量的初始值之后加L或者l
long d = 10l; // 一般更加以加大写L,因为小写l与1不好区分
计算long型变量所表示的范围:
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
3.1.3短整型变量
与长整型变量类似,具体的取值范围就由读者自己去敲代码尝试吧
3.1.4字节型变量
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
3.1.5浮点型变量
3.1.5.1双精度浮点型
double d=3.14;
看一段神奇的代码:
public class TestDemo {
public static void main(String[] args) {
double num=1.1;
System.out.println(num*num);
}
}
结果:
并不是大家认为的1.1,原因是double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。
3.1.5.2单精度浮点型
float num=1.0f;
在Java中,定义float类型时,需要在后面加个f,Java中默认浮点型是double类型,不加会出现错误。
3.1.6字符型变量
char C='你好';
Java中字符可以存放整型。
3.1.7布尔型变量
boolean b = true;
System.out.println(b);
1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
4.类型转换
4.1自动类型转换(隐式)
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。
int a=100;
long b=10L;
b=a;//a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值
a=b;//编译报错,long的范围比int范围大,会有数据丢失,不安全
小可以转为大;相反则不行。
4.2强制类型转换(显式)
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。
int a = 10;
long b = 100L;
b = a; // int-->long,数据范围由小到大,隐式转换
a = (int)b; // long-->int, 数据范围由大到小,需要强转,否则编译失败
5.总结
以上就是关于Java的标识符,数据类型,变量,类型转换的一些知识点,如有不足,欢迎大家在评论区指出,谢谢观看!