一、命名规范:
①任意的类型变量,不可以以数字开头,否则会编译报错;例如可以int a=10;但是不可以int 3a=100;
②任意的类型变量,不可以以下划线或者美元符号开始,如果以那种方式开始,系统不会报编译的错误,但是那样是命名不规范的体现。
③普通的变量,例如一个字符串,或者整形变量等等,需要使用驼峰命名法;
类名称一般习惯首字母大写,其余单词开头字母大写,其他部分小写。
例如:String userName="JIM";String pa="123";这样
④常量:一般指的是一个类当中以 public statice final 修饰的变量名称,这一类变量不可以再次被修改他的引用。这一类的变量一般都要改成大写字母单词_大写字母单词这样的组成方式。
例如:
public static final int COMMON_STAFF_IDENTITY =2; public static final int CURATOR_IDENTITY =1;
二、标识符:即:可以作为普通变量名称的字符串
例如 main, $123,_123 但是不一定算作合理,前提是合法,即:编译不报错。
例如interface,class,这些关键字,就不可以作为标识符了。
同样地,int name:JIM也不可以作为标识符。
三、数据类型
类型 | 取值范围 | 所占内存 | 描述 |
int | -2的31次方——2的31次方-1 | 4字节 | 整形 |
long | -2的63次方——2的63次方-1 | 8字节 | 长整型,一个数字后面加上L |
short | -2的15次方——2的15次方-1 | 2字节 | 短整型 |
byte | -2的7次方——2的7次方-1 | 1字节 | 整形当中最小的值 |
float | 4字节 | 单精度浮点类型:1.0f | |
double | 8字节 | 双精度浮点类型 | |
char | 0~65535 | 2字节 | 字符类型变量->'a' |
如果超过这些范围,那么就会在编译时候报错;
类型转换:总结:精度高的转换为精度低的不能直接进行类型转化
整形&整形之间的转换
public static void main(String[] args) {
//整形变量a所占的字节数为4
int a=10;
//整形变量b所占的字节为8个
long b=100L;
//可以转换通过,精度低的可以转换给精度高的,(隐式类型转换)
b=a;
//不可以转换通过,精度高的精度无法直接赋值给精度比较低的
a= b;
//如果想要把高的精度转换为低的,那么需要强制类型转换(显式类型转换),但是有可能导致精度丢失
a=(int) b;
}
public static void main3(String[] args) {
//类型的提升
int a=10;
long b=20;
//不能编译通过,原因:当4字节的变量和8字节的变量相加的时候,会自动转换为8字节的类型数据
//int c=a+b;
//可以编译通过,当比较小的字节+比较大的字节时候,会把比较小的字节提升到比较大的字节,再进行运算
long c1=a+b;
}
校验布尔类型和整形之间的转化(无法进行)
public static void main(String[] args) {
int a=97;
char ch=(char) a;
//ch此时为字符'a'
System.out.println(ch);
double d=97.9;
char ch2=(char) d;
//输出a
System.out.println(ch2);
}
字节类型和字节类型数字的运算:
总结:
①当占内存比较小的变量+占内存比较大的变量的时候,编译器会把范围小的转换为范围最大的再进行运算;
②对于小于4个字节的整形变量,在运算的时候,会把他们先转换为4个字节的变量,然后再进行运算;
③精度低的变量可以直接赋值给精度高的变量,但是精度高的变量不可以直接赋值给精度低的变量。例如int a=10; long b=a;可以编译通过。但是long a=10; int b=a;不可以编译通过。后者需要强制类型转换:long a=10;int b=(int) a;
哪些数据类型可以作为switch语句当中的判断语句