Java第二周作业

本人姓名:邹丰蔚

本人学号201771010138

面向对象程序设计java第一周学习总结

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

3.1 基本知识

1)标识符:由字母、下划线、美元符号、数字、汉字组成, 且第一个符号不能为数字。EgHello,$842,项目,www_939

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

     2)关键字:  关键字就是Java语言中已经被赋予特定意义 的一些单词。 Egclasspublictrycatchiffloatimportvoid等。 注意:关键字不做变量名    

      3)注释:1.  // 注释内容由//一直到此行结束。2. /**/ 定义一个注释块。3.  /**开始,*/结束 这种注释方法可用来自动产生文档。 

3.2 数据类型

Java是一种强类型语言。这意味着每一个变量必须声明一种为类型。 

   Java共有8种基本类型

整数类型(intshortlongbyte

浮点类型(floatdouble

字符类型 (char

布尔类型(boolean

 3.3变量

Java中,每一个变量属于一种类型。在声明变量时, 变量所属的类型位于变量名之前。 lJava中,一行可以声明多个变量。逐一声明每一个 变量可以提高程序的可读性。

1)变量初始化:

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

lb.Java中,可以在代码的任何位置进行变量声明。变量 的声明尽可能地靠近变量第一次使用的地方,这是一种良 好的程序编写风格。

lc.Java中,不能在同一作用域内声明两个同名的变量。

2)常量的定义:

1.Java中,使用关键字final来指示常量。习惯上常量 名都用大写。  

2.关键字final表示只能对变量赋一次值,其值一旦设定, 便不能改。

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

  3.4运算符

   1)各种运算符:l算术运算符;自增运算符与自减运算符;关系运算符;逻辑运算符;位运算符

   2)运算符的优先级与结合性

3)数学函数与常量

3.5.类型转换(长字节向短字节转换):

  隐式类型转换:大多数的数值转换是遵循优先级的关系自动完成的。 转换原则如下: 如果两个操作数中有一个是double类型的,则另一个将 会转换成double类型。floatlong型同理。否则,两个操作数都将转换成int类型。

3.6 字符串

Java字符串是Unicode字符的序列,它是组织字符的基本数据结构,用法类似于字符数组。 

有内置的字符串类型,而是在标准Java类库中提供了一个Java预定义类String。在Java中,字符串被当作对象来处理。 

程序中需要用到的字符串可以分为两大类:

创建之后不会再做修改和变动的不可变字符串String类;

创建之后允许再做更改和变化的构建字符串StringBuilder类。

 

所有的类都默认为是java.lang包中Object类的子类或间接子类----同族同宗,所有的类都可以享用一些基 本功能。

3.7输入输出: 1Scanner类:可以用一个给定的输入流创建该对象,例如用标准输入流创建: Scanner s=new Scanner(System.in),也可以用一个File对象构造一个Scanner对象,如: Scanner s=new Scanner(new File(String FilePath)); 作为一个读取的类,Scanner主要有以下的方法:String nextLine();String next();Int nextInt(); double nextDouble(); (java6 Console类可以读取密码不可见:Console cons=System.console(); cons.readPassword("")) 相应的有一些检测的hasNext方法; 2PrintWriter类:可以用一个File对象构造一个PrintWriter对象: PrintWriter pw=new PrintWriter(new File(String FilePath)); 作为一个写出的类,PrintWriter主要的方法有:write(String str),print,println,printf等。

3.8 控制流程

Java5种语句: l

1)方法调用语句 System.out.println(“Hello!”);

2)表达式语句 x=23; i++;l

3)复合语句p63 用{}把一些语句括起来就构成了一个语句。 { z=x+23; System.out.println(“Hello”); } l

4)控制语句(程序控制流程由这些语言确定) if switchforwhiledo-while l

5packege语句和import语句

3.9大数值

1)如果基本的整型和浮点型数据无法达到要求的精度, 那么可以使用java.math包中的两个类, BigIntegerBigDecimal。这两个类可以操作任 意长的数字。 l

2BigInteger类实现了任意精度的整数运算, BigDecimal实现了任意精度的浮点运算

10  数组

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

          对元素的确定是由数组名和它的下标实现的,如:

 a[0]代表数组a的第一个元素,a[1]代表数组a的第二个元素,依次类推

部分:实验部分

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:更改实验2s1s2s3StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

 实验结果如下图所示:

 

实验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(“!”);

  }

}

 

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

1 新建java project如下图:

 

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

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

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

 按照如上操作之后,输出的结果如下图所示:

 

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

下面是该实验的代码以及实验所得的结果:

import java.io.File;

import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.Scanner;

import java.util.Arrays;

public class WriteReadFileTest {

 

    /**

     * @param args

     * @throws FileNotFoundException

     */

    public static void main(String[] args) throws FileNotFoundException {

 

        //写入文件演示

        PrintWriter out = new PrintWriter("myfile.txt");

        out.println("姓名 高数 Java 数据结构 平均成绩 总成绩");

        out.println("张三 20 30 40 0 0");

        out.println("李四 50 60 70 0 0");

        out.close();//切记,输出完毕,需要close

        

        

        //读入文件演示

        Scanner in = new Scanner(new File("myfile.txt"));//myfile.txt这个File创建一个扫描器in

        int number = 1;//行号

        while(in.hasNextLine()){//判断扫描器是否还有下一行未读取,该循环把文件的每一行都读出

            String line = in.nextLine();//读出myfile.txt的下一行

            System.out.println(""+(number++)+"行的内容" +"="+line);

            

            Scanner linescanner = new Scanner(line);//对每一行的内容建立一个扫描器

            linescanner.useDelimiter(" ");//使用空格作为分隔符

            String name = linescanner.next();

            String math = linescanner.next();

            String java = linescanner.next();

            String ds = linescanner.next();

            String avg = linescanner.next();

            String total = linescanner.next();

            System.out.println("name="+name+" math="+math+" java="+java+" ds="+ds+" avg"+avg+" total="+total);

        }

        in.close();//读入完毕,最后需要对其进行close。    

 }

}

 

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

1)测试Retirement.javaRetirement2.javaLotteryOdds.java掌握循环控制结构;

Retirement.java:

 

Retirement2.java:

 

LotteryOdds.java:

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

 

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

 

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

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

实验总结

通过本周的学习有关Java语言的标识符、关键字、注释的基本知识。在这章的学习中,我学会了在elipse里添加注释,明确了数据类型、变量、运算符及字符串的转换以及使用。掌握了Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法Java是一门与C语言联系密切,和其它语言类课程一样,极其需要自主学习的课程。因此,我会在课下花更多的时间学习这门课程。

 

 

 

猜你喜欢

转载自www.cnblogs.com/siofer/p/9614475.html