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;

  • 相关阅读:
    Android项目几种常见的应用架构
    PreferenceCategory背景颜色设置
    xml中怎样换行?
    Windows 7启动Telnet
    android图片处理方法(转)
    android SDK下载失败和更新方法
    JBoss 5.1.0 GA:Error installing to Instantiated:name=AttachmentStore state=Described
    window常用的『运行』命令
    在linux中eclipse连接android手机开发程序
    [leetcode]Binary Tree Level Order Traversal
  • 原文地址:https://www.cnblogs.com/zhaoxinhui/p/9747876.html
Copyright © 2011-2022 走看看