name=
[↵] repeats the most recent assignment to variable name
.JXN_versus_Java
, JxnSimplifiedSyntaxTable
and JXN_EBNF_Syntax
'*'
may be omitted a b ≡ a * b, 2t ≡ 2 * t, 2(a+3b) ≡ 2 * ( a + 3 * b )
a / b c ≡ a / b * c ≡ ( a / b ) * c ≠ a / ( b c ) ≡ a / ( b * c ) ≅ a / b / c
sqrt 3 ≡ sqrt(3), sin 2 t ≡ sin( 2 * t ),
but exp 2 * t ≡ exp(2) * t
a b
is resolved as follows:a b
is interpretered as a * b
if variable a
is defind a(b)
if method a
is defined for b
else error message: identifier a
undefined'^'
or alternatively "**"
as the exponentiation operator y^x ≡ y**x ≡ pow( y, x )
'*'
, '/'
and the ommited '*'
-operator a y^x b ≡ a * pow( y, x ) * b
2y^3x ≡ 2 y^3 x ≡ 2 * pow( y, 3 ) * x
'-'
-operator (→ Wikipedia) -y^x ≡ -(y^x) ≡ -pow( y, x )
@ClassName(…)
calls the constructor: @ClassName(…)
in JXN stands for new ClassName(…)
in Java.$
contains the result of the most recent statement.sqrt(2) = 1.4142135623730951 (double) $^2 = 2.0000000000000004 (double)
JxnSimplifiedSyntaxTable
):
y = x^2 + p x + q ≡ y = pow( x, 2 ) + p * x + q z = y^sqrt 2x ≡ z = pow( y, sqrt( 2 * x ) ) x = exp( -0.5 t^2 ) cos( 2 PI f ( t - t0 ) ) = exp -0.5 t^2 * cos 2 PI f ( t - t0 ) ≡ x = exp( -0.5 * pow( t, 2 ) ) * cos( 2 * PI * f * ( t - t0 ) )but
x = exp -0.5 t^2 cos 2 PI f ( t - t0 ) ≡ x = exp( -0.5 * pow( t, 2 ) * cos( 2 * PI * f * ( t - t0 ) ) )Avoid the missleading notation using the exponentiation operator (Irrespective of the notation
'^'
is of higher priority than the omitted '*'
-operator):
exp -2x^2t≡ exp -2 x^2 t ≡ exp( -2 * pow( x, 2 ) * t )y^-2x^2t≡ y^-2 x^2 t ≡ pow( y, -2 ) * pow( x, 2 ) * t exp -2(x+1) ≡ exp( -2 * ( x + 1 ) )y^-2(x+1)≡ y^-2 ( x + 1 ) ≡ pow( y, -2 ) * ( x + 1 )sqrt(2+3)^-2x≡ sqrt(2+3)^-2 x ≡ pow( sqrt( 2 + 3 ), -2 ) * xy(2+3)^-2x≡ y (2+3)^-2 x ≡ y * pow( 2 + 3, -2 ) * x
f x.g y ≡ f(x.g(y)) ≠ f(x).g(y) ( ≡ (f x).g y )f (x).g()≡ f(x).g() ≠ f( (x).g() )sqrt ( 2.5 2.5 ).intValue()! avoid = 2 (int) sqrt( 2.5 2.5 ).intValue() ! = sqrt( 2.5 * 2.5 ).intValue() => sqrt( 6.25 ) > 2.5 (double) > 2 (int) = 2 (int) sqrt 2.5 ( 2.5 ).intValue() ! = sqrt( 2.5 * (2.5).intValue() ) => sqrt( 5.0 ) = 2.23606797749979 (double) sqrt( ( 2.5 2.5 ).intValue() ) ! = sqrt( ( 2.5 * 2.5 ).intValue() ) => sqrt( 6.0 ) = 2.449489742783178 (double) (sqrt 2.5 * 2.5).intValue() ! = ( sqrt(2.5) * 2.5 ).intValue() = 3 (int) sqrt 2.5 * (2.5).intValue() ! = sqrt(2.5) * (2.5).intValue() = 3.1622776601683795 (double)
@class_name object.method_name single_argument ≡ @class_name(object.method_name(single_argument)) ≠ @class_name(single_argument1).method_name(single_argument2)
part_of_name
[Page↓] selects from the known variable names (starting width part_of_name
)identifier.
[Page↓] or identifier.part_of_name
[Page↓] selects from public methods and fields
of the object or class given by identifier