java String的+运算符

如果表达式以String开始的,那么java编译器会把后面的数值类型都转换成String形式而不是把它们加起来再转换,但可以通过用括号先将后面的数值进行相加再转换;如果表达式以数值型开始,则是先将其数值进行相加再转换为String形式。

 

 

    int x=1,y=2,z=3;
    double f1=10.0,f2=20.0,f3=30.0;
     String s="String";
     System.out.println(s+x+y+z);  //String123
     System.out.println(s+(x+y+z));  //String6
     System.out.println(s+(x+y)+z);  //String33
     System.out.println(s+x+(y+z));  //String15
     System.out.println(x+y+z+s);  //6String
     System.out.println(x+s+y+z);  //1String23
     System.out.println(s+f1+f2+f3); //String10.020.030.0
     System.out.println(f1+f2+f3+s); //60.0String
     System.out.println(f1+s+f2+f3); //10.0String20.030.0

 

 

 

Java中,将字符串转换为运算符的操作并不像其他语言(如Python或JavaScript)那样直接支持。Java是一种静态类型语言,不支持通过字符串动态执行操作符。然而,可以通过条件判断或映射方式手动实现字符串到运算符的转换。 例如,可以通过`if-else`语句或`switch`语句实现字符串到运算符的映射。以下是使用`switch`语句实现字符串转换为运算符的示例: ```java public class StringToOperator { public static void main(String[] args) { String operatorStr = "+"; int a = 10, b = 20; int result = 0; switch (operatorStr) { case "+": result = a + b; break; case "-": result = a - b; break; case "*": result = a * b; break; case "/": if (b != 0) { result = a / b; } else { System.out.println("除数不能为零"); } break; default: System.out.println("不支持的运算符"); break; } System.out.println("运算结果: " + result); } } ``` 此外,也可以通过`Map`集合将字符串与对应的运算逻辑绑定,实现更灵活的映射关系: ```java import java.util.HashMap; import java.util.Map; import java.util.function.BiFunction; public class StringToOperatorWithMap { public static void main(String[] args) { Map<String, BiFunction<Integer, Integer, Integer>> operations = new HashMap<>(); operations.put("+", (a, b) -> a + b); operations.put("-", (a, b) -> a - b); operations.put("*", (a, b) -> a * b); operations.put("/", (a, b) -> b != 0 ? a / b : 0); String operatorStr = "*"; int a = 15, b = 5; BiFunction<Integer, Integer, Integer> operation = operations.get(operatorStr); if (operation != null) { int result = operation.apply(a, b); System.out.println("运算结果: " + result); } else { System.out.println("不支持的运算符"); } } } ``` 需要注意的是,Java不支持动态执行字符串表示的操作符,因此上述方法是手动实现字符串到运算符映射的常用方式。如果需要更复杂的功能,可能需要依赖脚本引擎(如`ScriptEngine`)来动态执行表达式[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值