Page 1 of 1

Java spørsmøl

Posted: 30/08-2009 00:24
by gabel
[tex]a/b*c*d[/tex] når en skriver dette i Java språke, tolker den det som [tex]\frac{acd}{b}\;\text{eller}\;\frac{a}{bcd}[/tex]?

Posted: 30/08-2009 01:14
by Markonan

Code: Select all

public class Test {
    public static void main(String[] args){
	    double a = 1;
	    double b = 2;
	    double c = 3;
	    double d = 4;
	    System.out.println(a/b*c*d);
    }
}
Kjørte programmet:

Code: Select all

bash $ javac Test.java
bash $ java Test     
6.0
Altså leser den fra venstre mot høyre.
0.5*3*4 = 6

Du må være veldig forsiktig i sånne tilfeller og alltid markere med parenteser. Forskjellige programmeringsspråk har en tendens til å tolke sånt på forskjellige måter.

Posted: 30/08-2009 02:25
by Gommle
/ er en operator, altså en snarvei til en funksjon, f.eks. dele(a, b)

Den tar et element fra hver side av operatoren, og operatorer blir evaluert fra høyre.

a/b*c*d tolkes f.eks. som [tex]\left(\left(\frac ab\right)\cdot c\right)\cdot d[/tex]

Og dette SKAL være standard i nærmest alle programmeringsspråk, og i vanlig matematisk notasjon.