赞
踩
符号:+、-、*、/、%、++、--
++ 自增1,a++:先使用,在+1。++a:先+1,在使用。
-- 自减1,a--:先使用,在-1。--a,先-1,在使用。
int a = 8; int b = (a++)+(++a)+a*10; // 8 + 10 + 10*10 System.out.println(b);
特殊点:byte和short类型做运算会向上转型成int,其余数值按照取值范围大的类型进行转型。
byte a = 10,b = 20; byte resule = (byte)(a+b); //底层原理: //a:0000,1010 //a->int:0000,0000,0000,0000,0000,0000,0000,1010 //b同理整数和整数运算后得到的也是整数,
浮点类型数做运算后会失去精度(浮点类型数据不要直接做运算,使用大数值的运算类(BigDecimal))
char类型可以跟数值类型做运算。
char c = 'a'; int i = 1+c; char str = (char)(i+c);a++,++a,分号表示语句结束,不管先加还是后加,都会自增。
//a++,++a底层原理: int a=0 int i = a++; //int tape = a; a=a+1;i=tape; int j = ++a; //j = a+1;
符号:=、+=、-=、/=、*=、%=
赋值规则: 如果s 是 short 类型的 s += 1 -> s =(int)(s + 1)
符号:==、!=、>、>=、<、<=
关系运算符的结果都是boolean类型的,true或者false。
理解:Java提供的专门从控制台输入数据的类
步骤:导包->import java.util Scanner;
创建对象->Scanner scan = new Scanner(System.in);
使用对象-> int i = scan.nextInt();
符号:+
加号两侧都是数值,该符号为算术运算符。
加号两侧有一侧是字符串,该符号为字符串拼接符。
符号: &与 &&短路与 |或 ||短路或 ^异或 !非
& && | || ^前后都必须是boolean值。
&& 判断前者为false后,不会判断后者,& 会全判断完。||判断前者为true后不会判断后者,|会全判断完
逻辑运算符结果都是boolean类型
5+6 算数表达式,5>6 关系表达式
语法规则:变量 = (表达式)?值1:值2
表达式的值必须是boolean类型。
值1和值2都是数字字面量,按照取值范围大的类型进行返回
值1和值2都是变量,按照取值范围大的类型进行返回
值1和值2分别为数字字面量和变量时,判断值1是否在值2所属类型的取值范围,在--按照值2类型返回,不在--按照值1类型返回
符号:& 、|、^、<< 左移、 >>右移、 >>>无符号位右移
将十进制数据转换为二进制,在做运算
底层逻辑
//&与:同位比较,两者为1,结果才为1 byte b1 = 23;//0001,0111 byte b2 = 29;//0001,1101 byte result = (byte)(b1 & b2); //底层执行逻辑: //b1 - byte :0001,0111 // int :0000,0000,0000,0000,0000,0000,0001,0111 //b2 - byte :0001,1101 // int :0000,0000,0000,0000,0000,0000,0001,1101 // 结果 :0000,0000,0000,0000,0000,0000,0001,0101 // (byte) :0001,0101
灵活运用小括号
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。