标识符与关键字
标识符的定义:在Java中包,类,变量,方法等等,只要是起名字的地方,那么所起的名字就是标识符。
标识符的游戏规则(四可两不可):
可以以数字、字母(字母含义比较广泛,指的是英文字母,汉字,日语,俄语等等)、下划线_、美元符号$组成
不可以使用数字开头,不可以使用Java中的关键字。
起名字时最好见名知意,增加代码可读性。
大小写敏感。
遵照驼峰命名:
类名首字母大写,其余遵循驼峰命名
方法名,变量名,首字母小写,其余遵循驼峰命名
包名全部小写,不用遵照驼峰命名。
长度无限制,但是不建议太长。
驼峰命名法
大驼峰:标识符的第一个首字母大写,其他的逻辑位置都是大写
小驼峰:标识符的第一个首字母小写,其他的逻辑位置都是大写
关键字的定义:是Java中被赋予了特殊含义的,用作专门用途的单词(Java中的所有关键字都是小写哦)
用作定义数据类型的关键字:class(类) interface(接口) enum(枚举) byte(字节) short(短整型) int(整数) long(长整型) float(单精度浮点数) double(双精度浮点数) char(字符) boolean(逻辑型) void(无返回值类型) 用作定义流程控制的关键字:if else switch case default while do for break continue return 用于定义访问权限修饰符的关键字:private default protected public (四者关系依次扩大 类 子类 包 挎包) 用于定义类、函数、变量修饰符的关键字:abstract final static synchronized 用于定义类与类、接口之间关系的关键字:extends implements 用于定义建立实例及引用实例、判断实例的关键字:new this super instanceof(instanceof是Java的一个保留关键字,左边是对象,右边是类,返回类型是Boolean类型。它的具体作用是测试左边的对象是否是右边类或者该类的子类创建的实例对象,是,则返回true,否则返回false) 用于处理异常的关键字:try catch finally throw throws 用于包的关键字:package import 其他修饰符关键字: native(JAVA语言与除JAVA之外的其他语言编写的代码块或库之间的链接) strictfp(精确浮点数运算) transient(表示该成员变量不是该序列化的一部分且只能修饰变量,不能修饰方法和类,此处注意static修饰的部分不能序列化) volatitle(内存可见性,禁止指令重排) assert(创建一个断言,Java中需要手动开启)
一、变量和常量
a.常量:通常理解常量就是一个固定的值,在Java语言中使用关键字final来定义常量,该常量一旦被初始化之后就不能修改值。
为了便于区分,将有没有被关键字final修饰的常量分为两大类,没有被其修饰的常量成为字面常量,被修饰的成为符号常量。
ps:逻辑常量就只有两个值,True or False
b.变量:变量本质上作为一个可操作的存储空间,程序猿通过设置变量名来进行对变量空间中内容的访问。Java作为一种强类型语言,变量声明时必须指定其所属的数据类型,通过数据类型来决定变量所占据的存储空间的大小,作为程序中最基本的存储单元,主要包含三大要素(变量名、变量类型、作用域)。
对象编译之后赋值语句合并成了一句话。
二、基本数据类型
Java中除了基本数据类型之外都属于引用类型
1.整数类型:十进制、八进制、十六进制、二进制 ;几进制就是逢几进一,这里笔者不在赘述。
short: 2字节 范围是-2^15 到2^15-1 也就是-32768~32767
int: 4字节 范围是-2^31 到2^31-1 也就是-2147483648~2147483647 大约是21亿
long: 8字节 范围是 -263~263-1
2.浮点类型
浮点类型常量
浮点类型变量
float类型后面加上F或者f 占用4字节 有效位数6-7位
double类型后面加上D或者d 占用位数8字节 有效位数15-16位
将双精度类型数据赋值给单精度类型称为下转型(窄化),需要强制类型转化
需要注意一点浮点类型默认是double
3.字符类型
Java中用单引号表示字符常量 在内存中占用2个字节
char类型用来表示Unicode编码中的字符。Unicode编码(Unicode兼容了ASCII码,Unicode码前128位置是ASCII)被用来设计处理各种文字 占用2个字节 可允许65536个字符。
在Java中无论字母、数字、符号、中文都是字符类型的常量 都是占用2个字节
4.布尔类型
5.基本数据类型转换
在基本数据类型的转换中Boolean类型不参与转换
类型级别从低到高为 : byte short char --> int --> long --> float --> double
ps:上述的类型在相互之间变换的时候,存在大小级关系的可以自动类型转换(隐式转换),但是byte short char 三者同级别的需要强制类型转换(显式转换)
当出现需要类型转换的时候
左右两边类型一致的时候直接赋值就完事
左边类型小于右边类型 强转
左边类型大于右边类型 直接自动转换