字符额 “+” 操作

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

  • ‘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);//进行强制类型转换就可以进行编译了

java 字符+操作,字符串+操作的更多相关文章

  1. java入门学习笔记之2(Java中的字符串操作)

    因为对Python很熟悉,看着Java的各种字符串操作就不自觉的代入Python的实现方法上,于是就将Java实现方式与Python实现方式都写下来了. 先说一下总结,Java的字符串类String本 ...

  2. Java中的字符串操作(比较String,StringBuiler和StringBuffer)

    一.前言 刚开始学习Java时,作为只会C语言的小白,就为其中的字符串操作而感到震撼.相比之下,C语言在字节数组中保存一个结尾的\0去表示字符串,想实现字符串拼接,还需要调用strcpy库函数或者自己 ...

  3. 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

  4. 《手把手教你》系列技巧篇(五十一)-java+ selenium自动化测试-字符串操作-下篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

  5. go内建容器-字符和字符串操作

    1.基础定义 在基础语法篇提到过golang的rune相当于其他编程语言的char,其本质是一个int32(四字节),用[]rune来转换一个字符串时,得到的是个解码后的结果,存储在新开辟的[]run ...

  6. python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  7. Java——正则表达式(字符串操作)

     public class Test1 { /* * 正则表达式:对字符串的常见操作: * 1.匹配: *  其实是用的就是string类中的matches(匹配)方法. * 2.切割 *  其实 ...

  8. Java 字符与字符串

    字符 // 定义字符 char c1 = 'a'; char c2 = '1'; char c3 = '中'; // 自动装箱 Character c = c1; // 自动拆箱 c1 = c; // ...

  9. 第三章 JQuery: HelloWorld--常见方法--css--选择器--筛选器--属性--效果--事件--数组操作--字符串操作--对象转换

    1.jQuery简介 为了简化JavaScript 的开发, 一些JavsScript 库诞生了. JavaScript库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的页面, 并且兼 ...

  10. python预课02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块 概述:time库是Python中处理时间的标准库,包含以下三类函数 时间获取: time(), ctime(), gmtime() 时间格式化: strftime(), strptime ...

随机推荐

  1. Hook 初学习

    Hook 概念 百度上的概念 每个Hook都有一个相关的指针列表,后加入的Hook再链表的开始,先加入的在链表的尾部 即后加入先获得控制权 Hook 原理 原本的流程 graph LR id1(Mes ...

  2. 清北学堂—2020.1提高储备营—Day 3(图论初步(二))

    qbxt Day 3 --2020.1.19 济南 主讲:李奥 目录一览 1.图论(kruskal算法,最短路径算法,拓扑排序) 总知识点:图论 一.kruskal算法 1.目的:求图的最小生成树 2 ...

  3. ajax请求携带cookie和自定义请求头header

    参考链接:https://blog.csdn.net/menghuanzhiming/article/details/102736312

  4. 静态库&动态库&导入库

    我遇到的问题 先贴一个StackOverflow上的问题 上面的问题让我知道了更多动态库的知识. 我需要使用一个声音库(irrKlang)为2d游戏提供声音,我使用的编译器是mingw-w64,但是i ...

  5. Vue中data元素之间相互赋值的陷阱

    今天在整理代码时,遇到这样的一个场景,下面将结合示例说明: (一)在Vue文件中定义一个const常量,如下图所示: (二)在data中有三个元素是这样赋值的,如下图所示: (三)在created() ...

  6. PHP0006:PHP基础--函数2

    如果php后面没有任何html代码就可以 删掉后面的   ?>  符号 file_put_content 是覆盖写入文件信息

  7. 使用栅格系统和flex布局开发响应式页面源码

    响应式布局的原理xsmall <576pxsmall >=576pxmedium >=768pxlarge >=992pxxlarge >=1200px 接下来是效果图 ...

  8. 基于TCP协议Socket通信

    服务器线程处理类 package demo4; import java.io.*; import java.net.Socket; /** * 服务器线程处理类 * @ClassName Server ...

  9. xctf-ics-07

    首先管理页面进入到云平台项目管理中心 发现下面可以查看源码,点击view-source: 这个直接就绕过去了 看第二个 第二个需要满足$_SESSION['admin']==true才行,因此看看第三 ...

  10. jvm编译器的优化

    1.对byte.short.char赋值时,若右边范围没有超过左边类型的最大表达范围则会自动隐式的加上(byte).(short).(char)强制转换:若右边范围超过了左边类型的最大表达范围则编译失 ...