草庐IT

数学运算

全部标签

Java 运算符检查任一条件是否为假,但不会同时检查两个条件是否为假

Java中是否有一个运算符,如果其中一个条件为假,则结果为假,但如果两个条件都为真或都为假,则结果将为真?我有一些代码依赖于用户输入一些值来让进程运行。由于用户只能输入x或y而不能同时输入或不输入,因此我想在这种情况下显示一条错误消息。 最佳答案 你想要XNOR,基本上:if(!(a^b))或(更简单)if(a==b)其中a和b是条件。示例代码:publicclassTest{publicstaticvoidmain(String[]args){xnor(false,false);xnor(false,true);xnor(true

java - 数学方程式在 Java 中是如何工作的?

当我做这样的事情时inttest=5+3*(4-1)/2;我得到9。我怀疑这是因为int向下舍入。但是,当我这样做时floattest=5+3*(4-1)/2;我也得到9。但是,当我这样做时floattest1=5;floattest2=4.5;floattest=test1+test2;测试最终输出9.5。有人可以解释这背后的逻辑吗?为什么我在第二个例子中得不到9.5?谢谢。 最佳答案 在您的第二个示例中,尽管您将结果赋值给float类型的变量,但计算本身的执行方式仍与第一个示例完全相同。Java不查看目标变量类型来确定如何计算右

java - 如何将运算符上的数学表达式拆分为分隔符,同时将它们保留在结果中?

我需要拆分像这样的表达式a+b-c*d/e分别得到a,b,c,d,e(作为字符串数组)以及=、-、*、d、/(也是一组运算符)分开。我试过这样的:StringmyString;StringmyString={"a+b-c*d/e");String[]result=newString();String[]separator=newString[]{"+","-","/","*"};result=myString.split(separator);但是,它显示错误。如何解决? 最佳答案 第一个问题:-多次声明StringmyString

java - == 运算符对 String 有什么用?

在Java中,如果要检查两个字符串是否相等,即它们的值是否相同,他/她需要使用equals方法。例如。:Stringfoo="foo";Stringbar="bar";if(foo.equals(bar)){/*dostuff*/}如果要检查引用是否相等,他需要在两个字符串上使用==运算符。if(foo==bar){/*dostuff*/}所以我的问题是==运算符是否用于String类?为什么要比较字符串引用?编辑:我不问的是:如何比较字符串?==是如何工作的?equals方法如何工作?我想问的是==运算符对Java中的String类有什么用处?不重载它以进行深入比较的理由是什么?

java - 使用按位运算符的两个数字的总和

我正在粘贴代码以使用按位运算符查找两个数字的总和。请建议是否可以优化。谢谢...publicstaticintgetSum(intp,intq){intcarry=0,result=0;for(inti=0;i>(i);//findthenthbitofpintn2=(q&(1>(i);//findthenthbitofqints=n1^n2^carry;//sumofbitscarry=(carry==0)?(n1&n2):(n1|n2);//calculatethecarryfornextstepresult=result|(s 最佳答案

Java ... 运算符

在FilthyRichClients中显示了这段代码:publicImageLoadingWorker(JTextArealog,JPanelviewer,String...filenames){}...到底是什么意思? 最佳答案 它用于variablearguments. 关于Java...运算符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4987898/

java - 二元运算符的错误操作数类型 '^'

尝试创建一个递归方法,将double值提升为java类(class)的int幂。说明说“但是,编写代码以便当n为偶数时该方法将返回(x^(n/2))^2。”这是我目前所拥有的:publicstaticdoublepowerFaster(doublex,intn){if(n==0){return1;}elseif((n%2)==0){return((x^(n/2.0)^2.0));//Erroroccurshere.}else{returnx*powerFaster(x,(n-1));}} 最佳答案 ^是异或运算符,不是幂。使用Mat

java - 短路与非短路运算符

我理解下面的区别(至少对于Java):if(true||false)//short-circuitingbooleanoperatorif(true|false)//non-short-circuitingbooleanoperator但我的问题是,在处理boolean表达式时是否有任何理由使用非短路运算符?是否有一些性能优势或使用不会被认为是坏的练习? 最佳答案 您可能想要使用非短路运算符的一个原因是您是否以某种方式依赖于函数的副作用。例如。booleanisBig(Stringtext){System.out.println(t

Java 不能重载任何运算符。为什么?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Javaoperatoroverload在c++中,我们可以进行运算符重载。但Java也是一种面向对象的语言。那么为什么java不支持重载呢?

Java增量运算符查询(++i和i++)

这个问题在这里已经有了答案:IsJava"pass-by-reference"or"pass-by-value"?(92个回答)JavaisNEVERpass-by-reference,right?...right?[duplicate](6个答案)关闭8年前。我有以下代码:publicclassBook{privatestaticintsample1(inti){returni++;}privatestaticintsample2(intj){return++j;}publicstaticvoidmain(String[]arguments){inti=0;intj=0;System