逻辑运算符
&,|,^,! 异或一真一假才为真
&和&&的区别:结果一样 但是&&左边为false右边不执行
|和||的区别:结果一样 但是||左边为true右边不执行
int x=3,y=4;
System.out.println(++x3 & ++y4) //x=4 y=5
int x=3,y=4;
System.out.println(++x3 && ++y4) //x=4 y=4
位运算符
& | ^ ~
~:按位取反
两个变量交换
a=a^b;
b=a^b;
a=a^b;
<<:左移符号 最高位丢弃 右边补0
12<<1 //122
12<<2 //122^2
右移>>:最高位0 左补0 最高位1 左补1
12>>1 //12/2 6
12>>2 //12/2^2 3
12>>3 //12/8 1
无符号右移>>>:左边补0
三元运算符
(关系表达式)?表达式1:表达式2;
键盘输入`
import java.util.Scanner;
class Normal1
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入一个整数");
int x =sc.nextInt();
System.out.println(x);
}
}
if 语句注意事项
class test
{
public static void main(String[] args)
{
int age=10;
if(age==10)int x=10;
//编译会报错 因为if后无大括号
//后面只能跟一句话 inx=10是两句话
//int x; x=10;
}
}
class test
{
public static void main(String[] args)
{
int age=10;
int y;
if(age>10)
y=age;
System.out.println(y);
//报错 不满足if y没有赋值 输出y 错误
}
}
switch 语句
switch(表达式) 表达式可以使byte short char int 枚举类型 string
case后面必须是常量 不能是相同的值
default不一定放在最后 但一定最后执行
class test
{
public static void main(String[] args)
{
int x=2;
int y=3;
switch(x)
{
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println(y);//y等于6 先执行case 3,4 再到default
//再一路向下执行
}
}
class test
{
public static void main(String[] args)
{
int x=2;
int y=3;
switch(x)
{
default:
case 3:
case 4:
y++;
}
System.out.println(y);//y等于4
//先case3,4 再default y++;然后后面没了 结束
}
}
switch 固定值
if 范围