比较两个字符串是否相等,采用equals, 不要用==
if(userName.equals("天王盖地虎") && pwd.equals("小鸡炖蘑菇")){
}
! 表示非。 将true 变成 假 将false 变成 真
int a=9;
a= a+2;
//将变量a 的 内容取出 , 和2 相加 后, 将结果在赋值给a
---------------------------------
+= -= *= /=
int b = 8;
b += 2 ;//b = b+2;
int b = 8;
b+=2.1; // 等价于 b = (int)(b+2.1);
"||" 或者 ,只要有一个条件为真 结果 都是真;
“&&” 并且 只有两个条件 都为真 结果 才为真;
位运算符: 先将操作数转化为 二进制码 ,再运算
2<<1 左位移 ,相当于乘 2 操作 2<<1--->4
3>>1 右位移 ,相当于除 2 操作 3>>1--->1
4 & 6 按位与, 对位的二进制码 如果是1 , 结果为1 , 有一个是0 结果都是0 4&6--->4
5 | 6 按位或, 对位的二进制码 只要有一个是 1 ,结果都是 1, 只有两个都是0 结果 才是 0 5 | 6---> 7
9^11 按位 异或 对位的二进制码 只有不相等的,结果为1,如果相等,结果是0 ,9^11--->2
三木运算符。?前面是一个条件,当条件为真,将“:”左边的值赋给x,
当条件为假,将右边的值赋给x
int x = 9>2?5:1;
int x;
if(9>2){
x=5;
}
else{
x=1;
}
=======================================
int a = 8;
int b = 6;
//交换算法
int c = a ;
a = b;
b = c;
System.out.println(a+""+b);
--------------------------------------
int x = 9;
//后置加加, 是先赋值,再做加一运算
//等价于
//int y=x;
//x= x+1;
int y = x++;
--------------------------------------------
int a = 8;
//前置加加,先做加1 运算, 在赋值;
//等价于
//a = a+1;
//b = a;
int b = ++a;
----------------------------------------------
x=8;y=5;
x++;
y= ++x;
运算结果
x=10 ; y=10;
-----------------------------------------------
& 和 && 的区别
& 是位运算符, 操作数可以是boolean, 也可以是数字。
&& 是逻辑运算符,操作数只能是boolean。
&& 是短路运算符,当地一个条件为假,第二个条件不再执行。
& 是非短路运算符,无论第一个条件是真是假,第二个条件都会执行。
============================
运算符的优先级(从高到低):
括号()、分号、点运算符
一元运算符(++、--、!、(type)类型转换)
算术运算符(+、-、*、/、%)
比较运算符(>、<、<=、>=、==、!=)
逻辑运算符(&&、||、其中&&优先级大于||,)
赋值运算符(=、+=、-=、*=、/=)
==================================
final
定义常量,常量的值在运行期间不能发生变化
定义常量的优点:
1、可以引入业务上的名称;
1、可以做到一改全改;
final double PI = 3.14;
final int PRICE = 5;
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《
switch 是一种多分支的判断语句, 类似于 if....else if
在switch()中的判断内容是一个 表达式, 在JDK 1.6中 ,
判断表达式的结果只能是byte、short、int、char
switch 的执行顺序:先执行和表达式匹配的case块, 顺序执行,遇到第一个break,结束switch