zoukankan      html  css  js  c++  java
  • Java基础语法 *

    1、EnumTest.java

    源代码:

    public class EnumTest {

    public static void main(String[] args) {

    Size s=Size.SMALL;

    Size t=Size.LARGE;

    //st引用同一个对象?

    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);

    }

    }

    }

     enum Size{SMALL,MEDIUM,LARGE};

    输出结果:false  false  true  SMALL MEDIUM LARGE

    总结:枚举类型相当于一个定义的名为enum的类,例如本程序中,enum SIZE {SAMLL,MEDIUM,LARGE};意思就是定义一个名为SIZE的枚举类型,它可以在SMALL,MEDIUM,LARGE三个元素中取一个值。然后使用时就用SIZE s=SIZE.SMALL这种形式,相当于定义一个SIZE类型的变量s,因为sSIZE类型的,所以这个s只能有SMALL,MEDIUM,LARGE三个值中的一个。给枚举类型变量赋值也可以直接调用valueOf()函数从字符串中转换。但是在使用枚举类型enum的对象SIZE之前需要有enum Size{SMALL,MEDIUM,LARGE}这样一句话给SIZE规定取值集合。

    javac编译这个程序的时候会生成2class文件,说明enum Size{SMALL,MEDIUM,LARGE};相当于定义了一个class

    可以使用“==”和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

       }

    }

    运行结果

    从结果可以看到,因为程序中调用Integer类的方法将string类型变量转化为int类,所以如果我在输入框中输入一个小数12.53.0就会报错。

    总结:这个例子主要是学会了对话框的使用。通过JOptionPane类的两个method,即showInputDialogshowMessageDialog的简单调用,示范了对话框的基本用法。

    而且由于我对JOptionPane并不熟悉,不知道里面有什么函数和接口,以及哪些函数需要给哪些参数,功能是什么,返回值是什么等等,所以需要上网查JDK 1.8 API。在这个过程中我大致学会了怎样查看API说明文档,说明文档里面有比较详细的说明每个函数和接口的使用,而且有些还有example。因为是英文的所以我还专门下载了一个有道词典桌面版,用于屏幕划词翻译。

    1、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类型的数据的运算时,每进行一布计算就将其强制转化成其他数据类型;或者在表示两个double类型的数据相等的时候用“两数之差的绝对值小于某个特别小的数”,比如10e-6来表示。

    1、TestBigDecimal.java

    源代码:

    import java.math.BigDecimal;

    public class TestBigDecimal

    {

    public static void main(String[] args) 

    {

    BigDecimal f1 = new BigDecimal("0.05");

    BigDecimal f2 = BigDecimal.valueOf(0.01);

    BigDecimal f3 = new BigDecimal(0.05);

    System.out.println("下面使用String作为BigDecimal构造器参数的计算结果:");

    System.out.println("0.05 + 0.01 = " + f1.add(f2));

    System.out.println("0.05 - 0.01 = " + f1.subtract(f2));

    System.out.println("0.05 * 0.01 = " + f1.multiply(f2));

    System.out.println("0.05 / 0.01 = " + f1.divide(f2));

    System.out.println("下面使用double作为BigDecimal构造器参数的计算结果:");

    System.out.println("0.05 + 0.01 = " + f3.add(f2));

    System.out.println("0.05 - 0.01 = " + f3.subtract(f2));

    System.out.println("0.05 * 0.01 = " + f3.multiply(f2));

    System.out.println("0.05 / 0.01 = " + f3.divide(f2));

    }

    }

    运行结果

    由此可见,构建BigDecimal对象可以解决不精确的问题。但是使用时应使用字符串而不是double数值,否则,仍有可能引发计算精度问题。

    1、字符串连接操作

    源代码:

    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结合成一个新的字符串。也就是说加号只有在两个string类型或者其中一个是string类型的时候才起到连接作用,否则仍然是运算符。

  • 相关阅读:
    阅读笔记二
    阅读笔记一
    2017年秋季个人阅读计划
    问题账户需求分析
    阅读笔记(一)《软件需求与分析》需要掌握的内容
    我们应该创新吗?
    让你的英文文章看起来高级的一些词汇
    让你的英文文章看起来高级的一些词汇
    Windows的任务管理器怎么显示进程的图标
    如何和不好相处的人一起工作
  • 原文地址:https://www.cnblogs.com/yychnbt/p/4856097.html
Copyright © 2011-2022 走看看