Java的运算符类似C的运算,+,-,*就不过多赘述。下面说一下/。
package Practice;
public class Hello {
public static void main(String[] args)
{
double a = 5.2 ;
double b = 3.1 ;
double div = a / b ;
System.out.println(div);//输出1.6774193548387097//
System.out.println(+ 5 / 0.0);//输出Infinity//
System.out.println(- 5 / 0.0);//输出和-Infinity//
System.out.println(- 5 / 0);//报错//
}
}
在两者都是整数类型的情况下,0不能被整除;但是当有一个为浮点型的时候,则可以出现除数为0或者0.0的情况。
下面是关于%的问题。
package Practice;
public class Hello {
public static void main(String[] args)
{
double a = 5.2 ;
double b = 3.1 ;
double mod = a % b ;
System.out.println(mod);//输出的是2.1//
System.out.println(+ 5 % 0.0);//输出NaN//
System.out.println( 0 % 5.0);//输出0.0//
System.out.println( 0 % 0.0);//输出NaN//
}
}
Java的取余甚至可以是浮点型,其实就是先做了一次除法,之后余下多少答案就是多少。比如此题的3.1 * 1 +2.1 = 5.2。之后还要说一下关于非数NaN的问题。
什么是非数NaN?
就是not a number的意思。
最后再来说一下++问题。
int a = 5 ;
int b = a++ + 6 ;
System.out.println(a+"\n" + b);
这里想说的是这个System.out.println。在c中,\n不必独自写,在Java里分开写。
之后是更复杂的运算,需要借助函数。比如,random,sin,pow,sqrt等。
package Practice;
public class Hello {
public static void main(String[] args)
{
double a = 3.2 ;
double b = Math.pow(a, 5);//a的5次方//
System.out.println(b);//a的5次方,335.5443200000001//
double c = Math.sqrt(a);//a开方//
System.out.println(c);//1.7888543819998317//
double d = Math.random();//随机数0—1//
System.out.println(d);
double e = Math.sin(1.57);//sin1.57//
System.out.println(e);
}
}