运算符表达式和流程控制
v 分割符:,,;,[],()
v 算术运算符: +,―,*,/,%,++,――
v 关系运算符: >,<,>=,<=,==,!=
v 布尔逻辑运算符: !,& , | , ^ , &&,||
v 位运算符: &,|,^,~ , >>,<<,>>>
v 赋值运算符: = 扩展赋值运算符:+=,―=,*=,/=
v 字符串连接运算符: +
v 造型操作符:()
位运算符
~-- 取反 & -- 按位与
| -- 按位或 ^ -- 按位异或 (相同为0,不同为1)
移位运算符
<<(左移)
>>(右移)
>>(无符号运算符)
8<<2 (指的是从左边开始不为0的数像左移2位 以后为32) 1000<<2=32;
13>>3(指的是将左边不为0的数向右移动操作符右边的位数)1101>>3=1;
13<<35==13<<(35-32)=104
14>>35==14>>(35-32)=1
如果是一个负数
-13<<3 -13*2*2*2=-104
-14>>4
如果是负数,需要将转换成32进制的数的时候,在数的最前面加上数字1
如果是正数,则不必要加
如果是short byte long这种类型的数据向左移右移
需要先转换成int类型,在移位
无符号右运算符
>>>
在转换成的32位的数值前面加上0
8>>>2
1000
再前面补0(“0“是符号位)
1000
再向右移2位
0010
结果为2
流程控制
package com.ibm.four; public class FuHaoDemo01 { public static void main(String[] args) { int i,j; //初始值 i=10; j=20; System.out.println("加法:"+i+j); System.out.println(i+j); System.out.println("减法:"+(i-j));
System.out.println("乘法:"+i*j); System.out.println("除法:"+j/i);
System.out.println(i++); System.out.println(i--); System.out.println(++i); System.out.println(--i);
//取余(取模) System.out.println(9%3); System.out.println(9%4); System.out.println(10%4); System.out.println(12%6);
System.out.println(1==1);
//位运算符 System.out.println(13>>3); System.out.println(8<<2); System.out.println(13<<35); System.out.println(14>>35); System.out.println(-13<<3); System.out.println(-14>>4);
//对于这种非int类型的数值的位移,需要先将对应的类型转换成int类型,在移位 byte b = 120; System.out.println(b<<4); char c='9'; System.out.println(c>>2); long l=12; System.out.println(l<<2); //采用移位运算可以提高运算效率 System.out.println(8>>>2);
//赋值运算符 int m=0; int k=100; m=m+k; m += k; m-=k; System.out.println(m); //想这种属于扩展的运算符;
//当一个运算符中存在不同的运算符,我们需要使用类型转换 byte b1 = 100; int l5=0; //隐式转换; int pp = b1+l5; //显示转换 float f = 12.5f; int ppp = l5+(int)f;
//字符串的连接符"+" System.out.println("1:"+1);//拼接之后是一个字符串 System.out.println(1+1); System.out.println("1:"+"1:");
//注意如果要将整型值转换成字符串 System.out.println(10+"");
//运算符的优先级
if(1>2&&4>3){ //两个条件都满足才为true System.out.println("------------");
} if(1>2||3>2){ //只要有一个条件满足就为true System.out.println("+++++++++++"); }
//条件 int h=0; h=5>4?5:4; System.out.println(h);
//分支语句 //分两种:一种是if else语句二种是switch语句 String car="油"; if(car=="水"){ System.out.println("你应该往水库去"); } else{ System.out.println("你应该往油库里去"); }
/* * if(条件){ * 条件成立执行 * } * else{ * 条件不成立的时候执行 * } * */ if(car=="水"){ System.out.println("往水库走"); }else if(car=="油"){ System.out.println("往油库方向走"); }elseif(car=="米"){ System.out.println("往米库方向走"); } } } |