实验二 Java基本程序设计(1)

 第一部分    理论知识的学习。

第三章Java基本程序设计结构

1  基本知识:

(1)标识符:标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。比如Hello,$1234都是合法的字符;同时标识符也可用作类名、变量名、方法名、文件名等。

(2)关键字:关键字就是Java语言中被赋予特定意义的一些单词。比如 class、public、try等,但是关键字不能用作变量名。

(3)注释:Java有三种注释方法,如://、/*和*、(定义一个注释块)、/**开始,*/结束。

2   数据类型

Java语言有8种数据类型:整数类型(int、short、byte)浮点类型(float、double)字符类型(char)布尔类型(Boolean)

3  变量的初始化

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

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

– int i,j;//both are integers
(1)变量的初始化
 一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量的值
  在Java中,可以在代码的任何位置进行变量声明。变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。
  在Java中,不能在同一作用域内声明两个同名的变量。

(2)常量的定义

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

final double CM_PER_INCH=2.54;

l 关键字final表示只能对变量赋一次值,其值一旦设定,便不能改。在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final 声明一个类常量( classconstants)。public static final double CM_PER_INCH=2.54;

4  运算符

运算符有各种运算符、运算符的优先级与结合性以及数学函数与常量

各种运算符包括算数运算符、自增自减运算符、关系运算符、逻辑运算符与位运算符。而且各种运算符与面向对象运算相关。

5 类型转换

类型转换又分为隐函式类型转换与强制性类型转换,下面我将用一组图来说明类型转换

在隐函式类型转换下大多数的数值转换时遵循优先级的关系自动完成的,而在强制性类型转换则要强调在转换的过程当中防止数据丢失

6  字符串

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

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

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

(2) 在字符串中最重要的一点就是String类,String类又被分为String类的基本操作、构造方法和API及文档

7  输入输出

分为读取输入、格式化输出和文件输入与输出。

8   控制流程

Java共有5种语句:Java语句(复合语句、控制语句和impothe packege语句)、条件语句(if、switch)、循环语句(while 、do-while、for)、中断控制流程语句(break、continue)、返回语句(return value)

9  大数值

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

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

10  数组

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

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

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

第二部分    实验部分

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)

在Eclipse上编写下列程序的代码,输出结果如下图所示:

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

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

输出的结果如下图所示:

实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验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(“!”);

}

}

实验结果如下图所示

实验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的内容,掌握文件的输入输出操作。

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

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 = ;//行号
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.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

Retirement.java:

Retirement2.java:

LotteryOdds.java:

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

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

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

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

实验总结:

通过本周的学习有关Java语言的标识符、关键字、注释的基本知识。有了这些基本知识做铺垫,我就能够更好的去学习一些数据类型、变量、运算符、字符串、输入输出等的一些相关知识。尤其在学习字符串这一内容的时候,老师不但给我们复习了和C语言中相关的知识,而且还给我们介绍了一些与C语言不同之处,虽然在上课听得时候有点模糊,但在下午的一节实验课上老师有给我们讲了一些其他方面的知识;而且还学习了Java语言的控制流程、大数值和数组的一些基本知识,并在实验中能够再一次的加深我的记忆。

在实验中同时也了解到了IDE在两种方式下Java程序开发的基本步骤;掌握了Eclipse集成开发环境下导入Java源程序的过程,再次过程中有老师助教同学的帮助,是我对这一部分内容学的相对比较轻松。最后我也在字符串当中了解到String类更深层次的知识,学习了有关 String类的构造方法、基本操作及文档以及在程序运行过程当中学习的StringBuilder类的一些基本方法。

201771010117马兴德 实验二 Java基本程序设计(1)的更多相关文章

  1. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  2. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  3. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  4. 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告

    20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...

  5. 20145113 实验二 Java面向对象程序设计

    20145113 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 1.初 ...

  6. JAVA课程实验报告 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  7. 20145225唐振远 实验二 "Java面向对象程序设计"

    20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  8. 20145208 实验二 Java面向对象程序设计

    20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

  9. 20162311 实验二 Java面向对象程序设计 实验报告

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

随机推荐

  1. 也许你对 Fetch 了解得不是那么多(下)

    上文链接:也许你对 Fetch 了解得不是那么多(上) 编者按:除创宇前端与作者博客外,本文还在语雀发布. 编者还要按:作者也在掘金哦,欢迎关注:@GoDotDotDot Fetch 与 XHR 比较 ...

  2. 家用PC机打造VSphere5.1 测试环境:之部署VCenter Server 5.1

    家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都 ...

  3. 图论--2-SAT--暴力染色法模板(字典序最小解) RQ的板子

    //暴力DFS,求字典序最小的解,也是求字典序唯一的方法 #include<cstdio> #include<cstring> #include<vector> u ...

  4. windows脱密码总结

    方式1:通过SAM数据库获得本地用户HASH sam文件:是用来存储本地用户账号密码的文件的数据库system文件:里面有对sam文件进行加密和加密的密钥 利用方式: 导出sam和system: re ...

  5. P1353 Running S

    题意:https://www.luogu.com.cn/problem/P1353 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行 n 分钟的晨跑.在每分钟的开始 ...

  6. 牛客小白月赛16 小石的妹子 二分 or 线段树

    牛客小白月赛16 这个题目我AC之后看了一下别人的题解,基本上都是线段树,不过二分也可以. 这个题目很自然就肯定要对其中一个进行排序,排完序之后再处理另外一边,另一边记得离散化. 怎么处理呢,你仔细想 ...

  7. Spring Cloud Stream学习(五)入门

    前言: ​ 在了解完RabbitMQ后,再来学习SpringCloudStream就轻松很多了,SpringCloudStream现在主要支持两种消息中间件,一个是RabbitMQ,还有一个是KafK ...

  8. [C#]基础——注意事项

    1. 静态类必须直接继承Object 2. 静态类不能实现接口,不能继承其他类(除了Object) 3.静态类中不能有实体方法 4.实体类中可以有静态方法,使用同 静态类 5.readonly属性可以 ...

  9. centos7启动httpd服务失败:Job for httpd.service failed because the control process exited with error code.

    centos7启动httpd命令有两个可以用 service httpd start    systemctl start httpd.service 如果出现如下报错 Job for httpd.s ...

  10. 【Hadoop离线基础总结】完全分布式环境搭建

    完全分布式环境搭建 服务规划 适用于工作当中正式环境搭建 安装步骤 第一步:安装包解压 停止之前的Hadoop集群的所有服务,并删除所有机器的Hadoop安装包,然后重新解压Hadoop压缩包 三台机 ...