标识符
标识符:包,类,变量,方法…等等,只要是起名字的地方,那个名字就是标识符
标识符定义规则:
-
首字母由字母(a–z或A—Z),下划线( _ ),美元符号( $ )组成
-
首字母之后可以由字母(a–z或A—Z),下划线( _ ),美元符号( $ )或数字的任意字符组成
注意:字母概念比较宽泛,指的是英文字母,汉字,日语,俄语…
但是我们一般起名字尽量使用英文字母
遵照驼峰命名:
类名:首字母大写,其余遵循驼峰命名
方法名,变量名:首字母小写,其余遵循驼峰命名
包名:全部小写,不遵循驼峰命名
大小写敏感: int a ; int A;
关键字:
数据类型
数据类型 | |||
---|---|---|---|
基本数据类型 | 数值类型整数类型(int类型,byte类型,short类型,long类型),浮点类型(float类型,double类型),字符型(char类型) | boolean类型(true和flase) | |
引用数据类型 | 类 | 接口 | 数组 |
数值类型:整数类型(int类型,byte类型,short类型,long类型),浮点类型(float类型,double类型),字符型(char类型)
字节:
位(bit):bit计算机内部最小的储存单位
字节(byte):计算机中数据处理的基本单位,习惯用大写B来表示
1B=8bit
1024B=1KB 1024KB=1M 1024M=1G
强制转换
(类型名)变量名(高到低)
低-----------------------------------------高
byte , short , char , --> int --> long --> float --> double
例如:object 强制转换为int型
public class BaseInterfacesImp implements BaseInterface {
@Override
public Object superMethod(Object obj) {
int []ints = (int[]) obj;//object强制转换int类型的数组
return ints.length > 1?ints[0]+ints[1]:0;
}
}
由double型强制转化为int型
public class demo1 {
public static void main(String[] args) {
double i = 12;
int b= (int) i;
System.out.println(i);
System.out.println(b);
}
}
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量时,强制转换
4.转换的时候可能存在内存溢出或精度问题
自动转换
(低到高)
运算符
【1】Java 语言支持如下运算符:
-
算术运算符 +,-,,/,%,++(自增),–(自减)
-
赋值运算符 =
-
扩展赋值运算符 +=,-=,*=,/=
-
关系运算符 >,<,>=,<=,==,!=
-
逻辑运算符 &,|, &&,||,!,^
-
位运算符 &,|,^,~ , >>,<<,>>> (了解!!!)
-
条件运算符 ?:
【2】相关概念辨析
-
运算符 操作符 Operator 5+6 表达式 expression 5 6 操作数 Operand int m =5+6; 语句 Sentence
赋值<三目<逻辑<关系<算术<单目
public class demo2{
public static void main(String[] args){
int a = 5;
a++;//理解为:相当于 a=a+1 操作
System.out.println(a);//6
a = 5;
++a;//理解为:相当于 a=a+1 操作
System.out.println(a); //6
//总结:++单独使用的时候,无论放在前还是后,都是加1操作
//将++参与到运算中:
//规则:看++在前还是在后,如果++在后:先运算,后加1 如果++在前,先加1,后运算
a = 5;
int m = a++ + 7;//先运算 m=a+7 再加1: a = a+1
System.out.println(m);//12
System.out.println(a);//6
a = 5;
int n = ++a + 7;//先加1 a=a+1 再运算: n = a+7
System.out.println(n);//13
System.out.println(a);//6
}
}