请问这个java计算字符串表达式运算结果,谢谢

赋值运算符赋值运算符是以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋值给左方的操作数。其语法格式如下:变量 = 表达式;例如:int a = 100;该表达式是将100赋值给变量a。左方的操作数必须是一个变量,而右边的操作数则可以是任何表达式,包括变量(如a、number)、常量(如123、'book')、有效的表达式(如45*12)。例如:例 使用赋值运算符为变量赋值,实例代码如下:int a = 10; //声明int型变量aint b = 5; //声明int型变量bint c = a+b; //将变量a与b进行运算后的结果赋值给c遵循赋值运算符的运算规则,可知系统将先计算a+b的值,结果为15。然后将15赋值给变量c。因此“c=15”。例 在项目中创建类Eval,在主方法中定义变量,使用赋值运算符为变量赋值。public classEval { //创建类 publicstatic voidmain(String[] args) { //主方法 inta, b, c; //声明int行变量a,b,c a = 15; //将15赋值给变量a c = b = a + 4; //将a与4的和赋值给变量b,然后再赋值给变量c System.out.println("c值为:" + c); //将变量c的值输出 System.out.println("b值为:" + b); //将变量b的值输出 }}运行结果如图1所示。 图1 运行结果 表1 复合赋值运算符运算符描述示例+=将运算符左边的变量加上右边表达式的值赋给左边的变量a+=b //相当于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=a&b|=将运算符左边的变量与右边表达式的值进行逻辑或运算,并将结果赋给左边的变量a|=b //相当于a=a|b^=将运算符左边的变量与右边表达式的值进行异或运算,并将结果赋给左边的变量a^=b //相当于a=a^b算术运算符Java中的算术运算符主要有+(加号)、—(减号)、*(乘号)、/(除号)、%(求余),它们都是二元运算符。Java中算术运算符的功能及使用方式如表1所示。表1.Java算术运算符运算符说明实例结果+加12.45f+1527.45-减4.56-0.164.4*乘5*1260/除7/23%取余数12%102其中“+”和“-”运算符还可以作为数据的正负符号,例如+5,-7。下面通过一个小程序来介绍使用算术运算符的方法。例 在项目中创建类Arith,在主方法中定义变量,使用算术运算符将变量的计算结果输出。public classArith { //创建类 publicstatic voidmain(String[] args) { //主方法 floatnumber1 = 45.56f; //声明float型变量并赋值 intnumber2 = 152; //声明int型变量并赋值 System.out.println("和为:" + number1 + number2); //将变量相加之和输出 System.out.println("差为:" + (number2 - number1)); //将变量相减之差输出 System.out.println("积为:" + number1 * number2); //将变量相乘的积输出 System.out.println("商为:" + number1 / number2); //将变量相除的商输出 }}运行结果如图1所示。 图1 运行结果在应用算术运算符时,可以分为对整型数据的运算和对浮点型数据的运算,下面进行详细介绍。1.整型数据的算术运算整型数据的“+”、“-”、“*”、的运算与数学中的运算相同,这里不再介绍,下面介绍整型数据间的“/”和“%”运算。l 整数的除法(运算符“/”)运算当整数间进行除法运算时,其结果将舍弃小数部分,并且忽略四舍五入,最终的结果为商的整数部分,所以通过计算机来计算“5/3*3”与“5*3/3”的结果是不同的,前者为3,而后者为5。例 在项目中创建类Arith1,在主方法中定义变量,使用“/”运算符进行除法运算,并输出计算结果。publicclass Arith1 { publicstaticvoid main(String[] args) { // 主方法 int i1 = 7 / 3; // 在数学计算中其结果约为2.33 int i2 = 11 / 3; // 在数学计算中其结果约为3.67 int i3 = -7 / 2; // 在数学计算中其结果为-3.5 int i4 = 0 / 9; System.out.println("7/3=" + i1); // 输出结果为:2 System.out.println("11/3=" + i2); // 输出结果为:3 System.out.println("-7/2=" + i3); // 输出结果为:-3 System.out.println("0/9=" + i4); // 输出结果为:0 }}运行结果如图2所示。 图2 运行结果l 整数的求余(运算符“%”)运算当整数间进行求余运算时,其运算结果为整数除法运算后的余数。例 在项目中创建类Arith2,在主方法中定义变量,使用“%”运算符进行求余运算,并输出计算结果。publicclass Arith2 { publicstaticvoid main(String[] args) { // 主方法 int i1=11%4; //结果为:3 int i2=8%4; //结果为:0 int i3=9%10; //结果为:9 int i4=-7%3; //结果为:-1 int i5=0%9; //结果为:0 System.out.println("11%4="+i1);
System.out.println("8%4="+i2); System.out.println("9%10="+i3); System.out.println("-7%3="+i4); System.out.println("0%9="+i5); }}运行结果如图3所示。 图3 运行结果l 将一个整数除以0或除以0求余的运算当进行一个整数除以0或除以0求余运算时,虽然可通过编译,但在运行时会抛出java.lang.ArithmeticException异常,例如:publicstaticvoid main(String[] args) { // 主方法 int i1=11/0; //编译成功,但运行时抛出异常 int i2=9%0; //编译成功,但运行时抛出异常 System.out.println(i1); System.out.println(i2);}以上代码运行时抛出如图4所示的异常。 图4 抛出的异常信息今天的知识就说到这里,下节课继续说用算符的知识,记得关注小编哦!
刚入坑的小伙伴们?对运算符有所了解吗?运算符可谓是入门必备知识。对你以后的长远发展有着很深的影响。孔子曰:“工欲善其事,必先利其器。运算符一次性给你讲清楚,以备不时之需。运算符的分类运算符一共分为六种、三类六种:算数、赋值、关系、逻辑、条件、位 运算符三类:单目、双目、三目1. 算数运算符算数运算符:+ - * / % ++ –% 模以|取模|求余数1、如果第一个操作数比第二个操作数小,结果就为第一个操作数例:5%6=5、7%100=72、取余的左边为负数,取余的结果为负例:7%3=1、-7%3=-1、7%-3=1++ - -1、不参与其他任何运算(赋值运算也算)++(–)放在操作数前面或者后面,都是自身+(-)1例:int a = 5; a++; int b = 5; ++b结果 a=6;b=62、参与其他运算++(–) 放在操作数的前面,先自身+1(-1),再去参与运算++(–) 放在操作数的后面,先去参与运算,再自身+1(-1)例: int a = 5;
int b = 3;
b =
a++; //b=3因为a参与赋值运算并且a++,先赋值b=a,再自身+1,a=6。
b = ++a //b=7因为a参与赋值运算并且++a,先自身+1,上一句算出a=6,所以+1后为7,赋值给b
2. 赋值运算符(双目)1、基础赋值运算符 =自右向左运算符的符号优先级别最低2、扩展赋值运算符 (算数运算符+基础赋值运算符)+=: a+=b ==> a=a+b;-=: a-=b ==> a=a-b; short a = 5;
a += 1;//正确自动强制类型转换
a = a+1;//错误a是变量,如果要使用。需要强制类型转换a = (short)(a+1);
注:推荐使用扩展赋值运算符;1.提高执行效率。2.自动做强制类型转换。3. 比较|关系运算符(双目)1、> < >= <=只能比较基本数据类型 byte short char int long float double2、== !=基本数据类型的数据,引用数据类型的数据都可以比较是否相等最终的运算结果,都为boolean类型的值 int a=5;
int b=

我要回帖

更多关于 java计算字符串表达式 的文章

 

随机推荐