1、变量:定义变量:【数据类型】 变量名 = 赋值(这样定义的变量一般属于局部变量,放置在栈内存中);
2、标识符:可以有字母(可以使任意文字),数字,下划线,$等组成;但是不能以数字开头,不能是保留关键字,要求见名知意。
3、数据类型:byte,int,short,long,double,float,boolean。
a、其中byte,short,int类型三者不会发生相互转换,但是三者在运算的时候会转化成int类型。
b、在计算的时候容量小的会自动(ˇˍˇ) 向容量大的转换。如果需要把容量大的向容量小的转化的话,需要强制类型装换,某些情况下会损失精度。强制转换:long n = 100L;int i = (int)n;
c、boolean只有true和false两种值,做为判断的条件。
4、运算符:+,-,*,/,%(取模),--,++。(需注意--,++,是在变量前面,还是在变量后面)。
5、赋值运算:=;注意不要用成关系运算符“==”;
6、关系运算符:>,<,>=,<=,!=,==;特别注意,不要把“==”使用成“=”;
7、逻辑运算符:&,|,!,^,&&(短路与),||(短路或)。
a、"^",异或,相同则为假,不用为真。
b、&和&&的区别:
&:先计算左边,在计算右边,然后再做与运算,得出结果。
&&:先计算左边,判断是否为真,为真在计算右边表达式,为假则返回假,如果左边的表达式为假则返回假,不用在计算右边表达式。
8、位运算:其是按位运算,~(按位取反),|,&;
9、移位运算:a<<b:a向左移b位,移出的低位补0;
a>>b向右移b位,移出的位补上原来的符号位;(带符号的移位)
a>>>b向右移b位,移出的位补0;(不带符号的移位)
10、三目运算符:x?y:z;x为真则输出y条件,x为假则输出x条件。
注:对于其中运算的优先级,不要死记,请用括号区别。
11、数组:作为存储大数据的工具,其作为一种数据类型,但是本身其就是一种引用数据类型,也就是类指针。
静态初始化:int [ ] Arr; //定义数组名
Arr = new int [ ] { 数据 } // 初始化,创建一个新的数组内存空间,并且分配3个内存空间,为其赋初始化值。 初始化还可以简写成:Arr = {数据}。
动态初始化:type Arr =new type [length] --> 在定义的时候就已经指定了数组长度,分配内存空间,但是由系统分配初始值。
注意:
1、数组的存储是分成两部分的,数组名存在栈内存中,可以直接引用;初始化的数据存在堆内存中,不可以直接引用,只有通过数组名才能引用才能使用堆内存中定义的数据。
2、当引用的数组的下标超出定义之后,编译时不会报错,但是运行时会抛出异常,Array index out of Bounds Exception;(数组越界异常)。
3、引用了一个没有初始化的数组的话,同样编译的时候不会报错,但是运行时会报空指针异常。