Java学习(2)_选择,循环,方法

来源:互联网 发布:mac泛洪攻击 编辑:程序博客网 时间:2024/05/18 00:14
  1. 产生随机数的方法

    • Math.random()方法

      产生一个0——1之间的double值,如果想转化成一定区间内的随机值,可以使用 kx + b 。此方法在J2SE中有,在J2ME中没有。

    • System.currentTimeMillis()方法

      此方法返回从1970年1月1日00:00:00至当前时间的毫秒数。返回类型是long。对此结果进行取模运算,即可得到固定范围内的随机值。

    • java.util库中Random类

      可以新建Random对象产生随机数,可以产生int,float,double,long。Random类的构造方法中也是使用上述第2种方法产生随机数的。

      java.util.Random r = new java.util.Random();int a = r.nextInt;
    • 产生随机字符

      随机小写字母:

      (char)('a' + Math.random() * ('z' - 'a' +1))
  2. 条件表达式

    boolean-expression ? num1 : num2

    举例:

    System.out.println((num % 2 = 0) ? "Num is even" : "Num is odd");
  3. 格式化控制台输出

    问题:如何输出浮点值小数点后两位

    法一:乘对应位数,通过int转化

    double a = 2.0 / 3;System.out.println("a is " + (int)(x * 100) / 100.0);

    法二:使用printf方法格式化输出

    double a = 2.0 / 3;System.out.printf("x is %4.2f" , x);

    默认情况下,输出是右对齐的,可以在标识符中放一个负号 - ,表示该条目在特定区域中的输出是左对齐的。

    举例:

    • %5c 输出字符并在字符前加4个空格;
    • %6b 输出bool值,并在false前加一个空格,在true前加两个空格;
    • %5d 输出十进制整数条目,宽度至少为5位,不足5位前面补空格,超过5位自动增加宽度;
    • %10.2f 输出浮点数,宽度至少为10,包含小数点和小数点后两位。如果小数点前的位数小于7,则在前面加空格,若大于7位则自动增加宽度;
    • %10.2e 输出的条目宽度至少为10,包括小数点、小数点后两位和指数部分。若总宽度小于10,就给前面加空格。
    • %12s 输出字符串宽度至少为20,若小于12位则在前面加空格,若大于12位则自动增加宽度;
  4. 输入重定向和输出重定向

    程序从文件中读取输入,而不是让用户在运行时从键盘输入数据,称为输入重定向;将输出发送给文件,而不是将他们输出在控制台上,称为输出重定向。可以使用下面的命令运行SentinelValue.java 生成的class文件,即从input.txt文件中读取输入数据

    java SentinelValue < input.txt

    将输出发送给文件output.txt:

    java SentinelValue > output.txt

    可以同时使用:

    java SentinelValue < input.txt > output.txt
  5. 最小化数值误差

    double num = 0.01;double sum = 0;for(int i = 0; i < 100; i ++){    sum += num;    num += 0.01;}

    以上代码执行完毕后,结果本应是50.50,但实际结果是50.49999999999995,因为浮点数使用近似值表示的,是有限精度计算的产物。在大数之前先增加较小的数是减小误差的一种方法。

  6. Math数学类

    • Math.PI;
    • Math.E;
    • 三角函数方法;
    • 指数函数方法;
    • 取整方法;
    • max, min, abs方法;
    • random方法;
原创粉丝点击