Java基础04运算符
1、算数运算符
在%的本质 看一个公式 a % b = a - a / b * b
System.out.println(10 / 4);//2
System.out.println(10.4 / 4);//2.5
double d = 10 / 4;//2.0
//在%的本质 看一个公式 a % b = a - a / b * b
System.out.println(10 % 3);//1
System.out.println(-10 % 3);//-1
System.out.println(10 % -3);//1
System.out.println(-10 % -3);//-1
1.1自增自减
int i = 10;
i++;//等价于 i = i + 1; i = 11
++i;//等价于 i = i + 1; i = 12
/**作为表达式使用
++前:先自增后赋值
后++:先赋值后自增
*/
int j = 8 ;
int k = ++j;//j=9,k=9
int k = j++;//j=9,k=8
1.2关系运算符(比较运算符)
1.3逻辑运算符
int a = 4;
int b = 3;
if (a < 1 && ++b < 9){}
System.out.println("a=" + a + "b=" + b);//a=4,b=3
if (a < 1 & ++b < 9){}
System.out.println("a=" + a + "b=" + b);//a=4,b=4
取反:如果条件本身成立,结果为flase,否则为true
a^b:逻辑异或,当a和b不同,结果为true,否则为false
System.out.println(60 > 20);//T
System.out.println(!(60 > 20));//F
boolean b = (10 > 1) ^ (3 < 5);//F
1.4赋值运算符
a += b => a = a+b;
a -= b => a = a-b;
//复合赋值运算符会进行类型转换
byte b = 3;
b += 2;//等价 b = (byte)(b + 2);
b = b + 2;//报错误
1.5三元运算符
条件表达式?表达式1:表达式2;
1.如果条件表达式为true,运算后的结果是表达式1;
2.如果条件表达式为flase,运算后的结果表达式2;
口诀:一真大师
表达式1和表达式2可以赋给接受变量的类型(或可以自动转换)
int a = 10;
int b = 99;
int result = a>b ? a++ : b--;//a=10,b=99;先返回b的值在减1
int result = a>b ? a++ : --b;//a=10,b=98
1.6运算符优先级
1.7标识符的命名规则和规范
2、键盘输入语句
Scanner input = new Scanner(System.in);
System.out.println("姓名:");
String name = input.next();
3、进制
对于整数,有四种表示方式:
1.二进制:0,1,满二进一,以0b或0B开头
2.十进制:0-9,满十进一
3.八进制:0-7,满八进一,以数字0开头表示
4.十六进制:0-9及A(10)-F(15),满16进1,以0x或0X开头表示。A-F不区分大小写
二进制:0B
八进制:0
十六进制:0X
3.1二进制转换十,八,十六进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2【8,16】(位数-1)次方,然后求和
例子:0B1011
3.2十进制转换二,八,十六进制
规则:将该数不断除以2【8,16】,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制
例子:34 对应的二进制是0B100010
3.3二进制转换八进制,16进制
规则:从低位开始,将二进制数每三【4】位一组,转成对应的八进制数即可
例:0B11010101转为八进制=0235
3.4八进制、十六进制转成二进制
规则:将八进制数每一位,转成对应的一个3【4】位的二进制数即可
例:0237=0B010011111