数据运算
算术运算符:一般的(+,-,*,/,%) 算术运算符的扩展:1单独使用时,无论++或者--在数据前边还是在数据后边,结果都是自加或者自减。2,参与运算时,++或者--在数据前边,那么先自加(自减),然后再给变量赋值;如果++或者--在数据的后边,那么先给变量赋值,然后再自加(自减)。
逻辑运算符:逻辑与&,逻辑或|,逻辑非!逻辑异或^ 结论: 一般的,1逻辑单与,有false则false。 2.逻辑单或,有true则true。3,逻辑单非,非false则true,非true则false,偶数个非是他本身。4逻辑异或,相同为false,不同为true 重点的,1,逻辑双与&&,有false则为false,右边不在执行,具有短路性。2.逻辑双或||,有true则为true,右边不再执行,也具有短路性。3.逻辑双非!!,奇数个非结果是他本身。
赋值运算符:1,eg:int a=5;就代表将数值5赋给a。2扩展运算符+=,-=,*=,/=,%=。eg:a+=5;就代表着a=a+5.注:扩展运算符里边隐藏了强制转换,eg:(short s=3; s=s+2.那么这个语句是错误的) short s=3; s+=2;这个是正确的,因为s+=2隐藏了强制转换,使结果就相当于short s=3;s=short(s+2)
比较运算符:==,!=,<,>,<=,>=等等,不管是简单的还是复杂的,最终的结果都是boolean类型
三元运算符:格式: (表达式)?true的结果:false的结果 执行流程就是:如果表达式成立,那么执行true的结果,不成立则执行false的结果
位运算符_位异或:^一个数值被另一个数值位异或2次,只是他本身。
int a=10; int b=20;实现a和b之间的转换;a=a^b b=a^b (a^b^b=a) a =a^b(a^b^a)
选择语句1----if语句
if语句格式1: if(条件表式){ 语句};执行流程:如果条件表达式成立那么实现语句,否则不会进入if语句里边 。 注意:只有一条语句时,大括号可以省略(但是不建议省略),有大括号的地方不能有分号,有分号的地方不能有大括号。原因是有分号之后 ,该语句变成一条无意义的语句,虽然没有错误的地方。
if语句格式2 :if((表达式)不管复杂还是简单,结果类型都是Boolean类型){ 语句}else{语句} ;执行流程:如果条件表达式成立,那么执行第一条语句,如果表达式不成立,则执行第二条语句。
if语句格式3:if(表达式1){语句1}else if(表达式2){语句2}else{语句3} 执行流程表达式1和表达式2全都成立,那么执行语句3.
选择语句2-----switch语句
switch语句格式: switch(表达式){case选项1: 语句1;break;case选项2:语句2;break;case选项3:语句3;break;default: 语句n}
switch语句执行流程:表达式的值和case的值进行比较,如果选项1的值和他一样,那么执行语句1,switch语句结束 ;否则按照这个方式和后边的case进行比较,如果上述都匹配,那么输出default。
switch语句后边可以跟byte,int,char,long,但是enum(枚举类型在jdk5以后才成立)String类型在jdk7.0以后才有
1,case后边只能是常量。2每个case语句都有一个break,表示switch语句的中断。如果没有break,那么会出现“case穿透”,3switch语句的结束,a遇到break自动结束,b程序默认执行到末尾。4default语句在switch语句中的热和位置都不影响程序的执行,如果default在语句中,一定要加break结束语句,如果default语句在程序的末尾,break加不加都不影响。
键盘录入
键盘录入的目的:使程序更加灵活,不将数据锁死,优化程序。 键盘录入通过Java提供的一个类,Scanner:文本扫描器。有固定的格式(步骤):1,创建一个Scanner类(Scanner scanner =new Scanner(print.in),scanner就是Scanner类的对象名)2,这时系统会报错,需要导包(只要不是Java.lang,*下的包都需要导包),位置在package和class类之间。3,适用对象名调用里边的方法,(int number =Scanner.nextInt() )4,输出number。