扎西平措 201571030332 《面向对象程序设计 (JAVA)》第二周 学习总结
面向对象程序设计 (JAVA)》第二周 学习总结
|
项目 |
内容 |
|
这个作业属于哪个课程 |
<任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ |
|
这个作业的要求在哪里 |
<作业链接地址><https://edu.cnblogs.com/campus/xbsf/2018CST1/homework/4519> |
|
作业学习目标 |
<填写具体目标>
|
第一部分:结合Java和C基础语法的异同比较,总结本周理论知识(30)
一.简单的Java程序应运程序
1.标识符0标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。
标识符可用作:类名、对象名、变量名、方法名、数组名、文件名等
2.关键字关键字就是Java语言中已经被赋予特定意义的一些单词。常见有:class、public、try、catch、if、float、import、void等。关键字不做变量名。
二.注释
注释Java有三种注释的方式:1.注释内容由//一直到此行结束。
2./*和*/定义一个注释块。
3./**开始,*/结束这种注释方法可用来自动产生文档。
三.数据类型
1.数据类型Java是一种强类型语言。这意味着每一个变量必须声明一种为类型。
八控制语句(程序控制流程由这些控制语句确定)
1.if、switch、for、while、do-while
2.Package语句和import语句
九.大数值
a)如果基本的整型和浮点型数据无法达到要求的精度,可以使用java.math包中的两个类, BigInteger和BigDecimal。
b)这两个类可以操作任意长的数字:BigInteger类实现了任意精度的整数运算, BigDecimal实现了任意精度的浮点运算
十.数组
1.数组是一种数据结构,它是有序数据的集合。数组中的每一个元素的数据类型都是相同的。
2.数组的声明:一维数组格式 数组元素类型 数组名字[]; 数组元素类型[] 数组名字;
二维数组格式:数组元素类型 数组名字[][]; 数组元素类型[][] 数组名字;其中数据类型可以为java中的任意类型,包括基本类型和复合类型。也可用定义的类来声明数组;
java在数组声明时并不为数组分配内存,在java中,数组是独立的类,有自身的办法。
3.数组的创建
数组声明后,要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。
格式:数组名字=new 数组元素类型[个数]
第二部分:实验部分
实验名称:实验二 Java基本程序设计(1)
1. 实验目的:
(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;
(2)掌握Eclipse集成开发环境下导入Java源程序的过程;
(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;
(4)掌握Math类、String类、StringBuilder类的用法。
2. 实验步骤与内容:
实验1 程序互评(10分)
评分要求:结合评分程序的运行情况,给出评分程序成绩,满分5分,每个错误扣1分,扣至0分为止;
评分者每发现一个正确的错误,本人实验1得分加1分,最高加5分。
实验2 : 编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。
String s1=“Hello!”;
String s2=“World”;
String s3=s1+s2;
代码如下:
public class cld {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1="Hello!"; //定义了一个String,名为s1,并将字符串Hello赋值给s1
String s2="World"; //定义了一个String,名为s2,并将字符串World赋值给s2
String s3=s1+s2; //定义了一个String,名为上,并将s1+s2的值赋给s3
System.out.println(s3); //输出s3的值
}
}

运行结果如下:

实验3 (5分)更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。
程序代码如下:
package message;
public class Message { public static void main(String[] args) { StringBuilder s1=new StringBuilder("Hello!"); //在字符串构建器StringBuilder中创建一个新的StringBuilder StringBuilder s2=new StringBuilder("world"); StringBuilder s3=new StringBuilder(); s3.append(s1); s3.append(s2); //用StringBuilder将s1和s2拼接起来 System.out.println(s3); } }

2)String类对象与StringBuilder类对象的区别:
1.String类
1) 字符串是常量;
2)String本身是不可改变的,它只能赋值一次,每次内容发生改变,都会生成一个新的String类对象,然后原有的对象引用新的对象。(它们的值在创建之后不能更改)
3)String实现字符串加法,会在内存中创建很多字符串占用内存,占用内存越多,程序的效率就越低。
2.StringBuilder类
1)每次操作都是对自身对象进行操作,而不是产生新的对象,其所占空间会随着内容的增加而扩充;
2)字符串缓冲区,可以提高字符串的效率,支持可变的字符串;
3)StringBuilder实现字符串加法,始终是一个数组,占用内存少,所以效率高。
4)如果需要用许多小段的字符串构建一个字符串,那么,首先,构建一个空的字符串构建器:
StringBuilder builder = new StringBuilder();
当每次需要添加一部分内容时,就调用 append 方法。
builder.append(ch); // appends a single character
builder.append(str); // appends a string
在需要构建字符串时就调用 toString 方法,将可以得到一个 String 对象,其中包含了构建器中的字符序列。
String completedString = builder.toString();
实验4 (5分)在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。
a)程序代码如下:
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(“!”); } }b) 其运行结果如下:

c) Java程序中main方法里存在“String[] args”参数:
1. “String[] args”是命令行参数(其接收运行参数)
Java程序运行的同时,可以通过两种方式将命令行参数赋给给“String[] args”:
一种是在Java命令行后面带上参数,另一种是通过编译器(本文将用eclipse进行演示)进行输入,之后虚拟机就直接把他们存放到“String[] args”数组中。
2. args是命令行参数,因为参数可以为多个,所以要用数组来存取我们输入的参数值。
3. 针对以上程序,在命令行中调试运行:
输入 Java Message -h (或 Java Message -g)回车,即将参数赋给 args 数组,运行程序。
4.若在eclipse中进行,右键找到run as,选择Run Configurations,在文件Message中,找到它的 Arguments,在program arguments中输入参数 -h (-g) 后点击run即可。
实验5 java程序导入(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控制台输入方法。

A.Scanner类对象用法:
1)使用Scanner的步骤:
a: 必须导包 import java.util.Scanner; 可使用快捷键ctril+shift+o
b:创建对象 Scanner sc = new Scanner(System.in);
c:调用方法 sc.xxx( )
B.Scanner类的方法
1)public int nextInt( ) : 读取一个int类型的值
2)public String nextLine( ):读取一个String类型的值
3)public boolean hasNextXxx():判断是否是某种类型的元素
C.Scanner类的方法总结:
1)next( ): 只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)
2)nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
3)nextline( ):只读取数值,剩下的“\n”还没有读取,并将光标放在本行中 。
4)hasNextInt( ):判断是否是int 类型的元素,进而获取元素。
5)next()方法并不能返回带空格、Tab键、回车符的字符串,而nextLine可以。
D.上述程序中的,Scanner in=new Scanner(System.in);
System.in 是获得一个键盘输入流,监听键盘输入的数据,所以,Scanner in=new Scanner(System.in);就已经得到了获取键盘输入的实列。
Scanner 是一个类,in 是一个实列或者说是对象,new 是一个创建对象的方法…Scanner类表现在获得控制台输入,相当于与声明一个人类(Scanner),这个人类是谁(in),后面新创建一个人类new Scanner(system.in),system.in 表示他有什么特征。换言之,就是,新创建一个输入的Scanner 对象,然后赋值给in。在使用时要关闭 流 ,否则会有警报。
实验6 文件读写程序测试(10分)
按照实验5操作步骤,导入WriteReadFileTest.java示例程序,运行程序并理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。
1.导入WriteReadFileTest.java示例程序,运行程序结果如下:

实验7 (5分)
按照实验5的操作步骤,导入第3章3-3——3-4示例程序,掌握两个程序循环控制结构的用途。
1)导入的3-3示例程序如下:

2)导入3-4示例程序如下:

实验8 (5分)
按照实验5的操作步骤,导入第3章3-5示例程序,理解抽奖概率计算算法。
1)导入3-5示例程序如下:

3-5该程序使用了for循环,此程序用来计算抽奖中奖的概率,如果从n个数字中抽取K个数字,可用以下公式进行计算得到结果。
compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
其语句为:

3. 实验总结:(10分)
通过本周的学习,我进一步熟悉了eclipse的使用,还有就是命令行和IDE两种方式下Java程序开发的基本步骤。在完成此次老师布置的作业的过程中,我又一次遇到了新的问题,新的挑战,但是我会克服这些困难努力学习的。实验六和实验七以及实验八都是在实验五的基础上完成的,通过实验五的操作,对于文件的导入又有了进一步的熟悉。实验过程中,掌握了Java语言构造基本程序的数据类型,变量,运算符,各类表达式,输入输出,流程控制的基本语法,希望在以后的学习中,能更好的掌握Java程序设计语言。
扎西平措 201571030332 《面向对象程序设计 (JAVA)》第二周 学习总结的更多相关文章
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...
- 20172321 2017-2018-2 《Java程序设计》第二周学习总结
20172321 2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第一章要点: 要点1 字符串:print和println用法的区别,字符串的拼接,java中 ...
- 20145326《Java程序设计》第二周学习总结
20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
- 201521123038 《Java程序设计》 第二周学习总结
201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
随机推荐
- python配置yaml
我们在做自动化的过程中无论是接口自动化还是UI自动化都会存在很多数据,我们对于自动化中如何存放这些数据也是很重要一点,如果写在代码里的话,每次更换数据就有点繁琐,我们可以通过一个文件存放这些数据,然后 ...
- 使用docker运行springboot项目
本文主要讲的是使用docker运行springboot项目 获取一个springboot项目 这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github ...
- The Three Rules/Laws of TDD
You are not allowed to write any production code unless it is to make a failing unit test pass. 除非为了 ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) D2. Optimal Subsequences (Hard Version) 数据结构 贪心
D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, ...
- [LeetCode] 42. Trapping Rain Water 收集雨水
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- Python程序中的进程操作-进程池(multiprocess.Pool)
目录 一.进程池 二.概念介绍--multiprocess.Pool 三.参数用法 四.主要方法 五.其他方法(了解) 六.代码实例--multiprocess.Pool 6.1 同步 6.2 异步 ...
- ExtJS布局控件
Layout Controls Auto Layout Ext JS4中的容器的默认布局是自动布局.这个布局管理器会自动地将组件放在一个容器中. Fit Layout Fit布局安排了容器的内容完全占 ...
- Distilling the Knowledge in a Neural Network
url: https://arxiv.org/abs/1503.02531 year: NIPS 2014   简介 将大模型的泛化能力转移到小模型的一种显而易见的方法是使用由大模型产生的类概率作 ...
- python基础(4):用户交互、if判断、while循环、break和continue
1. 用户交互 使⽤input()函数,可以让我们和计算机互动起来 语法: 内容 = input(提⽰信息) 这⾥可以直接获取到⽤户输入的内容 content = input("你吃了么?& ...
- Python【day 16-1】面向对象初识
1.面向对象思想 1.面向过程 1.概念 按照事物的发展流程,第一步,第二步,第三步,一步步往下 2.优缺点 1.优点 简单,流水线式的 2.缺点 可扩展性差 2.面向对象 1.概念 对象:是属性和动 ...