Java关键字以及运算符
本篇博客用于介绍大家平时常用的关键字以及运算符;
关键字
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。需要注意的是,java的关键字都是小写。
①访问修饰符的关键字:
public:公有的,可跨类跨包;
protected:受保护的,在本当前包内可以使用;
private:私有的,只能在当前类里面使用;
② ——
class:类 ,public class test{ }
类名需要与文件名相同;
interface:接口,public interface A{ }
大括号中的方法体只有定义没有被实现,需要被implements关键字实现;
implements:实现,public class A implements B{ }
接口在定义后,就可以在类中使用implements实现该接口;
extends:继承,public class A extends B{ }
继承后,子类拥有自己的属性和方法同时拥有父类的非private的属性和方法,
子类可以用自己的方式实现父类的方法,
需要注意的是java的继承为单继承,但是可以多重继承;
new:创建新的对象 A a=new A();
③包的关键字:
import:导入包,import xiaohui.test.inf;
当使用某个包的一些类时,仅需类名 然后使用ctrl+shift+o或者选定类名(类或属性或方法)按住ctrl+单击 即可自动插入类所在的包。
package:定义包, package xiaohui.test.inf;
将相关的方法类等放入一个包中方便查找与修改。
④数据类型的关键字:
boolean:布尔型 char:字符型——16bit ; byte:字节型——8bit; short:短整型——16bit; int:整型——32bit; long:长整型——64bit ; float:浮点型——32bit; double:双精度——64bit; void:无返回值 ; true:真; false:假
⑤条件循环:
if:如果 if( ){ },判断小括号中的条件 ,为true则执行大括号;
else:否则,常与if连用,相同用法;
while:当······,while(){ } 用法与if相同,不过while会反复执行直到遇到break或者不满足小括号内的条件时才跳出循环;
for:for( ; ; ){ },for循环需满足三个条件;
switch:开关,
switch(表达式){
case 常量表达式1:语句1;
......
case 常量表达式2:语句2;
......
default:语句;
}
default不是必需的,switch的条件判断语句可以接受int,byte,char,short,不能接受其他类型;
case:返回开关里的结果,常与while连用;
default:默认,常与while连用;
do:运行,常与while连用;
break:跳出循环;
continue:跳出本次循环,继续下次循环;
return:返回一个返回值的类型
⑥修饰方法,类,属性和变量:
static:静态的,属性和方法都可以用static修饰,直接类名.属性名和类名.方法名调用。只有内部类可以使用static关键字修饰,调用直接使用类名.内部类名,static可以独立存在(静态块);
final:不可改变的,方法和类都可以用final来修饰 ,final修饰的类是不能被继承的 ,final修饰的方法是不能被子类重写。常量的定义:final修饰的属性就是常量。
super:调用父类的方法和属性;
this:简单来说,谁使用了this关键字,this就指代谁;
synchronized:多线程的同步;
⑦错误处理:
try:捕获异常
catch:若捕获到了异常,则执行catch中的代码块
finally:无论有没有捕获到异常,都要执行finally中的代码块;
throw:抛出一个异常对象
throws:用于方法的末尾,表明此方法不处理异常,而交给方法调用处进行处理;
运算符
①算术运算符:
+:相加运算符两侧的值;
-:左操作数减去右操作数;
*:相乘操作数两侧的值;
/:左操作数除以右操作数;
%:取余,左操作数除以右操作数的余数;
++,--:自增和自减,操作数的值加一或减一;
需要注意的是a++和++a:a++是先进行表达式运算,再进行自增;++a是先进行自增,再进行表达式运算;a--与--a同理。
②关系运算符:
==:检查左右两个操作数值是否相等,若相等则返回为真。
!=:检查左右两个操作数值是否相等,若不相等则返回为真。
>:检查左操作数的值是否小于右操作数的值,如果是那么条件为真。
>=:检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
<=:检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
③位运算符:
&:如果相对应位都是1,则结果为1,否则为0。
|:如果相对应位都是0,则结果为0,否则为1。
^:如果相对应位值相同,则结果为0,否则为1。
~:按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
<<:按位左移运算符。左操作数按位左移右操作数指定的位数。例A=0011 1100,A<<2 = 1111 0000。
>> :按位右移运算符。左操作数按位右移右操作数指定的位数。例A=0011 1100,A>>2 = 1111。
>>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。例A=0011 1100,A>>2 = 0000 1111。
④逻辑运算符:
&&:逻辑与,当两个操作数都为真时,条件为真;
||:逻辑或,如果任何两个操作数任何一个为真,条件为真。
!:称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。
⑤赋值运算符:
=:将右操作数的值赋给左侧操作数。
+ =:C + = A等价于C = C + A。
-=:C - = A等价于C = C -A。
*=:C * = A等价于C = C * A。
/ =:C / = A等价于C = C / A。
(%)=:C%= A等价于C = C%A。
<< =:C << = 2等价于C = C << 2。
>> =:C >> = 2等价于C = C >> 2。
&=:C&= 2等价于C = C&2。
^ =:C ^ = 2等价于C = C ^ 2。
| =:C | = 2等价于C = C | 2。
⑥条件运算符:
(?:):也称三目运算符,需要三个操作数,a ? b : c ;首先判断a,若为true,则返回b的值,否则返回c的值。
⑦——
instanceof运算符:该运算符用于检查某个对象时是否为一个特定类型;
public class Car extends Vehicle {
public static void main(String[] args){
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result);
}
}
最后是关于运算符的优先级的问题,附上一张表,表中优先级由高到低进行排序:
