zoukankan      html  css  js  c++  java
  • 201771010110孔维滢《面向对象程序设计(java)》第二周学习总结

    理论知识内容

     1.标识符:

       标识符由字母、下划线、美元符号和数字组成, 且第一个符号不能为数字。

       合法标识符: Hello、$1234、程序名、www_123

       标识符可用作: 类名、变量名、方法名、数组名、文件名等。 

     2.关键字:

       关键字就是Java语言中已经被赋予特定意义 的一些单词。

       常见有:class、public、try、catch、if、 float、import、void等。

       关键字不做变量名。

      3.注释:

        Java有三种注释的方式:

              a.  //      

                  注释内容由//一直到此行结束。

              b. /*和*/

                 定义一个注释块。

              c.  /**开始,*/结束

                 这种注释方法可用来自动产生文档。

     4.数据类型:

        (1)整型:int,short,long,byte

        (2)浮点型:float,double

        (3)字符类型:char

        (4)布尔类型:boolean

          Java中整数的范围与运行Java代码的机器无关,Java中没有unsigned类型。

      5.变量

        Java中每一个变量属于一种类型。在声明变量时, 变量所属的类型位于变量名之前。

        一行可以声明多个变量。逐一声明每一个 变量可以提高程序的可读性。

        不能在同一作用域内声明两个同名的变量。

        一个变量声明后,必须通过赋值语句对它进行明确的初始化,不能使用一个未初始化的变量的值。

        虽然可以在代码的任何位置进行变量声明,但为了保证一种良好的程序编写风格,变量的声明尽可能地靠近变量第一次使用的地方。

        在Java中,使用关键字final来指示常量(常量名习惯大写)。关键字final表示只能对变量赋一次值,其值一旦设定, 不能改。

        在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字staticfinal声明一个类常量(class constants)。

      6.运算符

        有算术运算符,自增运算符与自减运算符,关系运算符,逻辑运算符,位运算符

        其中,Java提供的两个特别运算符:new(用来创建对象);instanceof(返回一个布尔值来指出某个对象是否是一个特定类或者是它的子类的一个实例)

      7.数学函数与常量

        数学函数包含在Math类中(幂函数 ,三角函数,指数函数及它的反函数等)

        Java还提供了两个常量:Math.PI 和 Math.E

        若不想在数学方法名和常量名前加前缀 “Math.”,可在源文件顶部加上:import static java.lang.Math.*;

      8.类型转换

        a.隐式类型转换

          大多数的数值转换是遵循优先级的关系自动完成的。

          如果两个操作数中有一个是double类型的,则另一个将 会转换成double类型。

          否则,如果两个操作数中有一个是float类型的,另一个 将会转换成float类型。 

          否则,如果两个操作数中有一个是long类型的,另一个 将会转换成long类型。 

          否则,两个操作数都将转换成int类型。

        b.强制类型转换

          (目标类型)变量名

      9.字符串

        Java字符串是Unicode字符的序列,它是组织字符的基 本数据结构,用法类似于字符数组。有内置的字符串类型,而是在标准Java类库中提供了一 个Java预定义类String。

        程序中需要用到的字符串可以分为两大类:创建之后不会再做修改和变动的不可变字符串String类;创建之后允许再做更改和变化的构建字符串StringBuilder类。

        在Java中,字符串被当作对象 来处理。

        String类的基本操作:(1) 获得字符串的子串;(2) 串连接(+);(3) 获取字符串的长度;(4) 检测字符串是否相等;(5) 字符串检索;(6) 字符串与数值的转化;(7) 获得对象的字符串表示。

      10.输入与输出

          (1)读取输入:通过控制台进行输入时,需要构造一个Scanner对象,并 与“标准输入流”System.in关联。

          (2)格式化输出:使用System.out.print(x)将数值x输出到控制台上, 这条命令将以x对应的数据类型所允许的最大非0数字 位数打印输出x。

          (3)文件输入与输出:要想对文件进行读取,就需要一个用File对象构造一个Scanner对象。要想写入文件,就需要构造一个PrintWriter对象,在构造器中,只需提供文件名:PrintWriterout = new PrintWriter(“myfile.txt”);

    实验二:Java基本程序设计

      1、实验目的与要求

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

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

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

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

      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类对象的区别。

                       代码如下;

    package 实验三;
    
    public class 实验三 {
    
        public static void main(String[] args) {
            StringBuilder s1=new StringBuilder("Hello, ");
            StringBuilder s2=new StringBuilder("World!");
            s1.append(s2);
            System.out.println(s1);
        }
    
    }

                        结果如下:

                    

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

    public class Message
    {  
    public static void main(String[] args)
      {     
      if (args[0].equals("-h")) System.out.print("Hello");
        else if(args[0].equals("-g")) System.out.print("goodbye,");
      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源程序编辑区打开文件。右键单击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,掌握不规则数组的用法。

                             

          3.实验总结:通过此次学习,我学习到了Java语言的基本程序结构,与我们学过C语言相似,但也有所不同。实验一、二、三,让我明白了String类,StringBuilder类的用法,实验四让我明白了变量。后面的实验也让我掌握了Eclipse环境下导入已有代码的方法,Scanner类对象,数组以及循环控制结构的文件的输入输出操作,还有一些语法结构的运用。相较于第一次实验,我可以更加熟练地使用eclipse和运用命令行方式来运行程序。但是由于对之前所学C语言知识的遗忘,对于多维数组,不规则数组的用法还有待更加深刻的学习。Java是一门需要自主学习与实践相结合的语言课程,今后的学习里我会更加努力,认真学好这门课。

  • 相关阅读:
    [ERR] Node 10.211.55.8:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
    PAT A1137 Final Grading (25 分)——排序
    PAT A1136 A Delayed Palindrome (20 分)——回文,大整数
    PAT A1134 Vertex Cover (25 分)——图遍历
    PAT A1133 Splitting A Linked List (25 分)——链表
    PAT A1132 Cut Integer (20 分)——数学题
    PAT A1130 Infix Expression (25 分)——中序遍历
    PAT A1142 Maximal Clique (25 分)——图
    PAT A1141 PAT Ranking of Institutions (25 分)——排序,结构体初始化
    PAT A1140 Look-and-say Sequence (20 分)——数学题
  • 原文地址:https://www.cnblogs.com/Weiron/p/9611196.html
Copyright © 2011-2022 走看看