zoukankan      html  css  js  c++  java
  • 动手动脑及课后作业

    1.仔细阅读示例: EnumTest.java,运行它,分析运行结果?

    源代码:

    public class EnumTest {

    public static void main(String[] args) {
    Size s=Size.SMALL;
    Size t=Size.LARGE;
    //s和t引用同一个对象?
    System.out.println(s==t); //
    //是原始数据类型吗?
    System.out.println(s.getClass().isPrimitive());
    //从字符串中转换
    Size u=Size.valueOf("SMALL");
    System.out.println(s==u); //true
    //列出它的所有值
    for(Size value:Size.values()){
    System.out.println(value);
    }
    }

    运行结果:

    结论:

    枚举类型是引用类型,枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

    2.Addition.java

    源代码:

    // An addition program

    import javax.swing.JOptionPane; // import class JOptionPane

    public class Addition {
    public static void main( String args[] )
    {
    String firstNumber, // first string entered by user
    secondNumber; // second string entered by user
    int number1, // first number to add
    number2, // second number to add
    sum; // sum of number1 and number2

    // read in first number from user as a string
    firstNumber =
    JOptionPane.showInputDialog( "Enter first integer" );

    // read in second number from user as a string
    secondNumber =
    JOptionPane.showInputDialog( "Enter second integer" );

    // convert numbers from type String to type int
    number1 = Integer.parseInt( firstNumber );
    number2 = Integer.parseInt( secondNumber );

    // add the numbers
    sum = number1 + number2;

    // display the results
    JOptionPane.showMessageDialog(
    null, "The sum is " + sum, "Results",
    JOptionPane.PLAIN_MESSAGE );

    System.exit( 0 ); // terminate the program
    }
    }

    运行结果:

    总结:这个列子主要是引导我们如何使用对话框。

    3.TestDouble.java

    源代码:

    public class TestDouble {

    public static void main(String args[]) {
    System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
    System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
    System.out.println("4.015 * 100 = " + (4.015 * 100));
    System.out.println("123.3 / 100 = " + (123.3 / 100));
    }
    }

    运行结果:

    结论:使用double类型的数值进行计算, 其结果是不精确的。

    问题:

    为什么double类型的数值进行运算得不到“数学上精确”的结果?

    事实上浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度。事实上浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度。因此,产生的结果接近但不等于想要的结果。尤其在使用 float 和 double 作精确运 算的时候要特别小心。

    4.以下代码运行的结果是什么?

    源代码:

    public class Plus {

        public static void main(String[] args)

        {

            int X=100;

            int Y=200;

            System.out.println("X+Y="+X+Y);

            System.out.println(X+Y+"=X+Y");

        }

    }

    运行结果:

    在System.out.println()中,如果在string字符串后面是+和变量,会把变量转换成string类型,加号在中间起连接作用,把两个字符串连接成一个新的字符串输出;如果先进行变量的加减运算,那么会先从左到右先计算变量的加减,然后再与后面的string结合成一个新的字符串。

    课后作业

    编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果。

    源代码:

    import javax.swing.JOptionPane;

    public class Yunsuan{

    public static void main(String[] args) {

    int n1=Integer.parseInt(JOptionPane.showInputDialog("Input number 1: "));

    int n2=Integer.parseInt(JOptionPane.showInputDialog("Input number 2: "));

    JOptionPane.showMessageDialog(null,"和为:"+(n1+n2)

    +" "+"差为:"+(n1-n2)

    +" "+"积为:"+(n1*n2)

    +" "+"商为:"+(n1/n2));

    }

    }

    结果:

  • 相关阅读:
    1020.表-继承
    1019.模式(限定名)
    1018.行安全策略
    1017.权限
    1016.表结构修改
    1015.【转】oracle rowid and postgresql ctid
    1014.表-系统列
    20201227[java]同构字符串
    oCam_v4850录屏软件
    《软件定义网络中的异常流量检测研究进展》论文笔记
  • 原文地址:https://www.cnblogs.com/liulitianxia/p/4859599.html
Copyright © 2011-2022 走看看