一、标识符
标识符:是给程序里面的常量、变量、方法取的名字。
标识符的规范:
1,标识符有26个字母、数字以及_(下划线)、$(美元符号)这两个符号组成。
2,数字不能开头。
3,长度不限制。
4,标识符的名字最好反应它的作用。
5,java字母严格区分大小写。
常量:字母全部大写,如果是由多个单词组成,则在单词之间加_(下划线)。
变量:字母全小写,如果由多个单词组成,则第一个单词的首字母小心,后面的单词首字母都大写。
方法:与变量一致。
二、运算符
运算符:java的表达式就是用运算符连起来的式子。
1,算术运算符。
+(加号)、-(减号)、*(乘号)、/(正斜杠、除号)、%(模)例子(13%3 = 1)、^(乘方)例子(3^2 = 3*3)、!(阶乘)例子(3!= 3*2*1)等
如下图
注意:
① 算术运算符(%)和(/)这两个运算符在运算的时候右边的值不能是0,会出现 java.lang.ArithmeticException: / by zero ()算法错误
② 当出现一个字符与一个字符或数值相加时是运算两个的二进制,结果为数字。
③ 运算一般是从左到右运算。
④ 因为java的运算默认 整数:int 小数:double
所以int x = 4370;
x = x/1000*1000;
x 的值是4000而不是4370
因为x/1000得出来的值就是整数4而不是小数4.37,然后*1000的结果就是4000。
⑤ 算术运算符(++)和(--)这两种出现在标识符的前面就如
int a = 2,int b = ++a;
a = 3;b = 3;
是先自增,然后运算左边的赋值动作。
当出现在标识符的后面就相反如
int a = 2 , int b = a++;
a = 3; b =2
是先执行左边的赋值动作,然后自增。
2,赋值运算符。
赋值运算符分别是 = ,+= (加等),-=(减等) , /=(除等) ,*-=(乘等), %=(模等)。
特点:
① 赋值运算符除了(=)这个符号其他的都会把(前面的标识符+赋值运算符+后面的标识符)运算的结果赋值给前面的标识符。
② 会自己进行强转。如
short s =4 ;
s+=5;(这个是可以的,相当于s=(short)s+5)。
pass:如果把这句话s+=5换成 s = s+5 ,编译机就会提醒你右边的类型是int类型。
3,比较运算符
比较运算符有 ==(等等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、instanceof(XX)(是否是XX的实例) 。
特点:比较运算符的特点是结果是boolean类型的值,所以只有两个结果 true 和 false。
4,逻辑运算符
分别有 &(与) 、&&(与与)、 ^ (异或)、 ! (非)、 | (或)、 ||(或或)。
特点:
① !的和面跟着结果为boolean类型的表达式。如 ! (9==9),结果是false。
② 除了(!)之外的逻辑运算符的左右都要加上结果为boolean类型的表达式或者直接写true或false也可以。
③ 逻辑运算符运算的结果也是boolean类型的值。
逻辑运算符(&)与(&&)的区别?
&的前面的表达式结果不管是不是false,后面的表达式都会执行。
&& 的前面的表达式当结果是false的时候,后面不执行,直接整个表达式的结果为false。提高了程序运行的效率,但同时也要注意当前面不能直接填写false,因为当前面为false的时候即说明后面的表达式永远执行不到,会出现java.lang.Error: Unresolved compilation problems(无法解决的汇编错误)
逻辑运算符(|)与(||)的区别?
| 的前面表达式结果不管是不是true,后面的表达式都会执行。
|| 的前面的表达式当结果是true时,后面不执行,直接整个表达式的结果为true。同理,提高了运行效率,但 (||)的前面不能直接填写true,会出现java.lang.Error: Unresolved compilation problems(无法解决的汇编错误)。
逻辑运算符(^):比较特殊,因为该符号既作为逻辑运算符使用也可以当作位运算符使用。
当作为逻辑运算符时,只有当运算符两边的表达式结果一个为true,一个为false时整个表达式的结果为true,否则都为false。
可以把true当作二进制里面的1,false当作0,1+1 = 0,1+0 = 1,0+1=1;0+0 =0 。
当把(^)作为位运算符时,也是根据上面的规律运算的,例如14^8 是按照14和8的二进制代码进行异或运算的。
同时也因为上面的原因,(^)位运算符也用与加密文件,当你看到这个例子你会想到什么:ab都是数值,a^b^b = a
为什么最后的结果等于a呢?
我们可以吧这个表达式看成这样a^(b^b) 先执行括号里面的,按照异或的原理数字本身异或自己得到的二进制都是0,然后再把a跟0异或,答案很显然就是a了。
5,位运算符
分别有<<(含符号左移)、>>(含符号右移)、>>>(无符号右移)、&(与)、|(或)、^(异或)、~(取反)
位运算符的参与元素都是数字或单个字符。
(>>>)无符号右移是让符号或数字的二进制数的最高位保持和原来一致。
位运算符中的(^)可以用来进行置换两个变量的值而不借助于第三方变量。如置换a、b变量的值
a = 2 ,b = 3;
a = a^b;
b = a^b;
a = a^b;
最后得出a=3 ,b = 2;
6,三元运算符
三元运算符的格式是: (x+比较运算符+y)?a:b;
x和y是表达式,a和b是执行代码,
x+比较运算符+y 必须有结果true或false,所以a和b必须要执行一个。
三元运算符与if else 极其相似,但区别是什么?
可以把三元运算符当作if else语句的简写形式,但简写也就意味着功能会被缩小,三元运算符必须有结果,而if else可以有结果也可以没结果,
总的来说就是if else的语句可以简写成三元运算符就简写,不能就保持if else语句。
运算符的执行是有其先后顺序的,一般是按照
赋值运算符<逻辑与运算符<比较运算符<算术运算符 这样的规律。