字符额 “+” 操作

是拿字符在计算机底层对应的数值来进行计算的

  • ‘A’ = 65 A-Z是连续的

  • 'a' = 97 a-z是连续的

  • '0' = 48 0-9是连续的

算数表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升。

提升规则:

  • byte类型,shot类型、char类型将被提升到int类型

  • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型,等级循序:byte,short,char→int→long→float→double

public static void main(String[] args) {
int i = 10;
char c = 'A'; //A的值是65 ,char 类型的赋值用单引号
c='a'; //'a'的值是97
c='0'; //‘0’的值是48
System.out.println(i + c);
//char ch=i+c; //报错。因为char类型会自动提升为int类型
int j=i+c;
System.out.println(j); //int k=10+13.14; // 报错,因13.14是double类型,10是int类型的,double类型的等级比int类型的要高,所以结果应该是double类型的
double k=10+13.14;
System.out.println(k);
}

字符串的 “+” 操作

当“+”操作出现的字符串时,这个“+”是字符串连接符,而不是算数运算符。 例如:“test” + 666, 结果是test666 在“+”操作中,如果出现了字符串,这个“+”就是连接运算符,否则就是算数运算符。当连续进行+操作时,从左到右逐个执行。 例如:1+99+test 结果是100test

public static void main(String[] args) {
System.out.println("test" + "str");
System.out.println("test" + 666);
System.out.println(666 + "test");
System.out.println("test" + 100 + 1);
System.out.println(1 + 100 + "test");
/*字符串的 + 操作,当“+”操作出现的字符串时,这个“+”是字符串连接符,而不是算数运算符。
例如:“test” + 666, 结果是test666
在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算数运算符。当连续进行“+”操作时,从左到右逐个执行。
例如:1+99+test 结果是100test */
}

赋值运算符

符号 作用 说明
= 赋值 a=10,将10赋值给a
+= 加后赋值 a+=b,将a加b后,所得值再赋值给a
-= 减后赋值 a-=b,将a减b后,所得值再赋值给a
*= 乘后赋值 a*=b,将a乘b后,所得值再赋值给a
/= 除后赋值 a/=b,将a除以b后,所得值再赋值给a
%= 取余后赋值 a%=b,将a除以b后,所得余数再赋值给a

注意:红色是扩展赋值运算符,扩展的赋值运算符,底层隐含了强制类型转换。

例如:

short s=10;

s+=20;//结果是30,虽然s是short类型,20是int类型,但底层自动进行类型转换,所以编译通过

//s=s+20;//编译报错,因10是int类型,无法与short类型进行运算

s=(short)(s+20);//进行强制类型转换就可以进行编译了

最新文章

  1. 2次使用fork避免产生僵尸进程和不去处理SIGCHLD信号
  2. spark优化
  3. hdu1151 Air Raid
  4. keepalived+haproxy-部署高可用负载均衡
  5. String的Split方法的用法与要注意事项
  6. gcc下c++的对象模型 (1)
  7. JavaWeb 后端 <一> 之 Tomcat服务器 - Http协议 学习笔记
  8. async:false;渲染阻塞
  9. Android Studio多渠道打包(二)
  10. SpringMvc+jQuery 文件拖拽上传、选择上传
  11. SourceTree安装教程和破解教程
  12. android 获取手机GSM/CDMA信号信息,并获得基站信息
  13. 18位身份证验证(Java)
  14. vue实现上传上删除压缩图片
  15. uid-datepicker
  16. mysql-配置主从数据库,实现读写分离
  17. [New learn] NSOperation基本使用
  18. Openresty最佳案例 | 第9篇:Openresty实现的网关权限控制
  19. 深入V8引擎-Time模块介绍
  20. 线段树:HDU2795-Billboard(建树方式比较新奇)

热门文章

  1. [更新ing]zzy的家里蹲网课日记
  2. css3神奇的圆角边框、阴影框及其图片边框
  3. .net mvc 自定义错误页面
  4. Radmin Server v3.5.1 汉化破解绿色版 第四版
  5. PS_0001:改变图片颜色 填充颜色
  6. MySQL 8 服务端帮助支持
  7. MyBatis mapper文件中使用常量
  8. Java-出栈次序
  9. B-S 期权定价模型
  10. 阿里云IIS服务器SSL证书安装