zoukankan      html  css  js  c++  java
  • 课堂作业集

    一、枚举动手动脑

    枚举变量只能从提供的已知变量中查找抽取

    二、数值的二进制表示

        在计算机内,定点数有3种表示法:原码、反码和补码。

    原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

    [+7]= 0 0000111 B

    [-7]= 1 0000111 B

    反码:正数:正数的反码与原码相同。

            负数:负数的反码,符号位为“1”,数值部分按位取反。

    [+7]= 0 0000111 B

    [-7]= 1 1111000 B

    补码的表示:

        正数:正数的补码和原码相同。

        负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是反码+1”

    [+7]= 00000111 B

    [-7] 补11111001 B

    三、示例:两数相加

    四、运行时读取用户输入

     五、Java中的类型转换

         byte:0~255

         short:-32768-32767

         int:-2^16~2^16-1

         char:-128~127

         long:-2,147,483,648 ~ 2,147,483,647

         float:-2^128 ~ +2^128

         double:负数范围:-1.797,693,134,862,32E308 ~-4.940,656,458,412,47E-324    

                    正数范围:4.940,656,458,412,47E-324 ~1.797,693,134,862,32E308

         位数少的向位数多的转换,不损失精度。相反则有损失。

    六、动手实验 TestDouble.java

        

        数据精度有极大的损失

        解决方法:使用BigDecimal类来进行精确小数计算,使用BigInteger来进行无限位的整数计算。这两个类提供了加减乘除等各种方法。

    七、动手动脑

         代码输出结果

         第一个是当做字符串处理,两个字符串相加,直接合并在一起。

         第二个是当作两个整数,计算两个的和。

    八、课后实验

    消息框显示两个数的加减乘除


    // An addition program

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

    public class A {
    public static void main( String args[] )
    {
    String firstNumber, // first string entered by user
    secondNumber; // second string entered by user
    double number1, // first number to add
    number2, // second number to add
    sum, // sum of number1 and number2
    cha, // 两个数的差
    ji, // 两个数的积
    shang; // 两个数的商

    // 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;
    cha = number1 - number2;
    ji = number1 * number2;
    shang = number1 / number2;

    // display the results
    JOptionPane.showMessageDialog(
    null, "The sum is " + sum, "Results",
    JOptionPane.PLAIN_MESSAGE );
    JOptionPane.showMessageDialog(
    null, "The cha is " + cha, "Results",
    JOptionPane.PLAIN_MESSAGE );
    JOptionPane.showMessageDialog(
    null, "The ji is " + ji, "Results",
    JOptionPane.PLAIN_MESSAGE );
    JOptionPane.showMessageDialog(
    null, "The shang is " + shang, "Results",
    JOptionPane.PLAIN_MESSAGE );
    System.exit( 0 ); // terminate the program
    }
    }

    仅在源程序上有些许删减增改

  • 相关阅读:
    C++ template —— 类型区分(十一)
    C++ template —— 表达式模板(十)
    C++ template —— template metaprogram(九)
    C++ template —— 模板与继承(八)
    [转]2015有得有悟,2016笨鸟起飞
    C++ template —— trait与policy类(七)
    protobuf与json相互转换的方法
    如何通过卡面标识区分SD卡的速度等级
    MyEclipse设置字体和背景的方法
    JAVA中日期转换和日期计算的方法
  • 原文地址:https://www.cnblogs.com/xiufengranyu/p/4859664.html
Copyright © 2011-2022 走看看