• 马凯军201771010116《面向对象程序设计(java)》第二周学习总结


    第一部分:理论知识学习部分

    (1)基本知识:简单应用程序的结构;Java环境里的注释方式;

    (2)数据类型(4种整型、2种浮点型、1种字符型‘char’、真值型‘Boolean’。

    (3)变量,每个变量都有一个type。在声明变量时,变量的类型位于变量名之前(不能用Java保留字作为变量名);变量初始化;常量。

    (4)运算符‘+、-、*、/’。当用到/运算符时,两个数都是整数时,表示整数除法,不然表示浮点数除法。整数求余用%(15%2等于1)。注意整数被零除时会出现异常,浮点数被零除时得到无群大或NaN的结果。数学函数与常量。

    (5)数据类型的转换:强制类型的转换;数值类型之间的转换;转换过程涉及到各种运算符。

    (6)字符串是字符序列组成的串(用法类似于数组);字符串的拼接;不可变字符串(String没有提供用于修改字符串的方法;检测字符串是否相等;空串与NUll串(使用条件:if(str==null,if(str!=null&&str.length()!=0));构建字符串(StringBuilder实现)节约时间和空间。

    输入输出,要想通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。格式化输出,使用System.out.print(x)将要输出的对对象进行输出;文件的输入与输出,首先用file构造一个scanner对象(例如:Scanner in=new Scanner(Paths.get(“myfile.txt”),”UTF-8”);,写入文件要构造一个PrintWriter对象PrintWriter out=new PrintWriter(“myfile.txt”),”UTF-8”);。

    (7)数组是一种数据结构,它是有序数据的集合, 数组中的每个元素的数据类型都是相同的。

     对元素的确定是由数组名和它的下标实现的, 如a[0]代表数组a的第一个元素,a[1]代表数组 a的第二个元素,依次类推。

    第二部分:实验部分

    1. 实验名称:实验一 Java基本程序设计(1)

    2.  实验目的与要求:

    (1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;

    (2)掌握Eclipse集成开发环境下导入Java源程序的过程;

    (3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;

    (4)掌握String类、StringBuilder类、数组类的用法。

    3. 实验步骤与内容

    2、实验内容和步骤

    实验1:编写java 应用程序,输出以下4个表达式的值。

        int i=1;

        double d=1.0;

       (1) 45+45*50%i--

       (2) 1.5*3+d++

       (3) (true)&&(3>4)

       (4) (i>0)||(i<0)

     

    实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。

    String s1=“Hello!”;

    String s2=“World”;

    String s3=s1+s2;

     

    实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

     

        string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。而StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。String是不可变化的字符,StringBuilder是可以变化的字符。String的不可变是由于它的底层是一个private final char[],没有方法可以修改它的值,所以它是不可变化,而StringBuilder底层也是一个char[],修饰符是缺省的,同包类都可以修改它,所以StringBuilder是一个可变的字符。StringBuilder可以通过append,insert来修改char[]的值。。

    实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。

    public class Mes

    {  

    public static void main(String[] args)

      {     

      if (args[0].equals(“-t”))

    System.out.print(“today”);

    else if(args[0].equals(“-m”);

     System.out.print(“morning,”);

      for(int i=1;i<args.length;i++)

        System.out.print(“  ”+args[i]);

      System.out.println(“!”);

      }

    }

     

    实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:

    (1) 新建java project如下图:

    (2) 选择File->import->File ystem->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。

    (3) 打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。

     

    (4) 右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。

    实验6:按照实验5的操作步骤,导入WriteReadFileTest.java示例程序,结合程序运行结果理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。

    实验7:按照实验5的操作步骤,导入第3章示例程序,每个示例程序从语法、算法两个角度总结学习内容。

     

     

     

    (1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

     

    (2)测试BigIntegerTest.java,掌握大数值类的用法;

     

    (3)测试LotteryDrawing.java,掌握数组的用法;

     

     

    (4)测试CompoundInterest.java,掌握多维数组的用法;

     

    (5)测试LotteryArray.java,掌握不规则数组的用法。

    实验总结:

          在本次的实验中自己对Java编程的环境更加的熟悉,进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤,对运算符在Java中的运用也有了掌握,理解String类对象与StringBuilder类对象的区别。(string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。而StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。String是不可变化的字符,StringBuilder是可以变化的字符。String的不可变是由于它的底层是一个private final char[],没有方法可以修改它的值,所以它是不可变化,而StringBuilder底层也是一个char[],修饰符是缺省的,同包类都可以修改它,所以StringBuilder是一个可变的字符。StringBuilder可以通过append,insert来修改char[]的值。)在本次的实验中最大的收获是经过后面几个小实验的进行,熟练的掌握了Eclipse集成开发环境下从文件中导入程序的步骤。掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;对用程序输出的数组,多维数组,不规则数组有了基本的了解,对以后数组在Java中的应用有了初步的认识

  • 相关阅读:
    html5画饼形图
    jqGrid添加详细按钮,单击弹出窗体
    Groovy的MOP和元编程学习笔记(超级牛逼的功能)
    使用PowerMockito和Mockito进行模拟测试,包括静态方法测试,私有方法测试等,以及方法执行的坑或者模拟不成功解决
    mysql 索引无法使用问题
    float/double 浮点数据*100精度丢失问题
    使用Groovy的sql模块操作mysql进行多种查询
    groovy与java中的多方法
    fastdfs+nginx集群高可用搭建的一些坑!!记录一下
    keepalived vrrp_script脚本不执行解决办法
  • 原文地址:https://www.cnblogs.com/zero--/p/9612866.html
Copyright © 2020-2023  润新知