zoukankan      html  css  js  c++  java
  • 课后作业-2

    package 课后练习;
    
    public class 课后练习01 {   //EnumTet
     public static void main(String[] args) {
         Size s=Size.SMALL;
         Size t=Size.LARGE;
         System.out.println(s==t);
         System.out.println(s.getClass().isPrimitive());//Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类;isPrimitive()此方法主要用来判断Class是否为原始类型
         Size u=Size.valueOf("SMALL");//valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量,返回Size.SMALL
         System.out.println(s==u);
         for(Size value:Size.values()) {
             System.out.println(value);
         }
     }
    }
    enum Size{SMALL,MEDIUM,LARGE};//enum很像特殊的class,实际上enum声明定义的类型就是一个类。

    运行结果为:false、false、true、SMALL、MEDIUM、LARGE

    运行结果的分析:首先比较s和t的地址值是否一样,不一样运行结果为false;然后得到Size的类类型,然后判断其是否为原始类,因为它不是,所以运行结果为false;然后运用valusOf方法把SMALL赋给u,然后比较s和u的地址值是否一样,因为运用了此方法,所以他们两个的地址值一样,所以运行结果为true;
    最后输出了Size中的SMALL、MEDIUM、LARGE。
    枚举类型的基本用法:
    有了枚举,可以把相关的常量分组到一个枚举类型里,每当需要一组固定的常量的时候,就可以使用枚举类型。
    package 课后练习;
    import javax.swing.JOptionPane;  
    public class 课后练习02 {//addition
        public static void main( String args[] )
           {
              String firstNumber;   
              String     secondNumber;  
              int   number1;         
              int   number2;         
              int   sum;             
              firstNumber =
                 JOptionPane.showInputDialog( "Enter first integer" );//JOptionPane.showInputDialog方法返回用户输入的字符串。
              secondNumber =
                 JOptionPane.showInputDialog( "Enter second integer" );
    
              number1 = Integer.parseInt( firstNumber ); //Integer.parseint()就是把整形对象Integer转换成基本数据类型int(整数)。
    
              number2 = Integer.parseInt( secondNumber );
       
              sum = number1 + number2;
          
              JOptionPane.showMessageDialog(
                 null, "The sum is " + sum, "Results",
                 JOptionPane.PLAIN_MESSAGE );
    
              System.exit( 0 );   
           }
        }
    使用两个输入框输入数据,使用一个输出框显示结果。
    分析:JOptionPane.showInputDialog方法返回用户输入的字符串,生成输入框,并在输入框上显示输入的信息;在第一个输入框中输入number1,在第二个输入框中输入number2
    System.exit(0)是正常退出程序
    package 课后练习;
    import java.util.*;
    
    public class 课后练习03 {
    public static void main(String[]args) {
    
             Scanner in = new Scanner(System.in);
      
              System.out.print("What is your name? ");
              String name = in.nextLine();
      
              System.out.print("How old are you? ");
              int age = in.nextInt();
            
              System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
          
           }
        
    }

    先后输入名字和年龄,然后输出。

    package 课后练习;
    
    public class 课后练习04 {
    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));
    }
    }

    运行后的结果为:

    0.05+0.01=0.060000000000000005
    1.0-0.42=0.5800000000000001
    4.015*100=401.49999999999994
    123.3/100=1.2329999999999999

    我发现每一个结果都不是精确值,都与正确的结果有着一定的出入。原因是:

    使用double类型的数值进行斤算,其结果是不精确的,double类型的数值进行运算得不到“数学上精确”得结果,因为double为双精度,占64个字节即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据产生误差,在上面代码中我们需要比64位更多的位才能精确的表示出来。
    package 课后练习;
    
    public class 课后练习05 {
    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");
    }
    }

    结果:

    x+y=100200
    300=x+y

    第一个,“x+y="+x+y因为引号在前面,就会被当成几个字符串的加法,就是把几个连起来,所以最终的结果就是x+y=100200;

    第二个,x+y+"=x+y"因为引号在后面,就先计算x+y的加法,所以结果为300=x+y;

  • 相关阅读:
    【Leetcode】【Easy】Remove Duplicates from Sorted List
    【Leetcode】【Easy】Pascal's Triangle II
    【Leetcode】【Easy】Pascal's Triangle
    【Leetcode】【Easy】Binary Tree Level Order Traversal II
    【Leetcode】【Easy】Binary Tree Level Order Traversal
    【Leetcode】【Easy】Maximum Depth of Binary Tree
    【Leetcode】【Easy】Minimum Depth of Binary Tree
    【Leetcode】【Easy】Balanced Binary Tree
    【Leetcode】【Easy】Symmetric Tree
    如何使用Action.Invoke()触发一个Storyboard
  • 原文地址:https://www.cnblogs.com/zhaoxinhui/p/9747876.html
Copyright © 2011-2022 走看看