面向对象程序设计(java)
201871010136-赵艳强《面向对象程序设计(java)》第二周学习总
第一部分:理论知识学习部分
一.简单的Java程序应运程序
2.整数类型整型常量表示:十进制,八进制,十六进制,二进制
short型 ,变量定义:short h;short m,n;定义同时可赋值:shortm=12,n=20;对于short型变量,内存分配2个字节,占16位,
long型 ,变量定义:long sum;long I,j.k;定义同时可赋值:longsum=343435L;对于long型变量,内存分配8个字节,占64位
byte型 ,变量定义:byte w;byte x,y,z;定义同时可赋值:bytex=12,y=24,z=36;对于byte型变量,内存分配个1字节,占8位
3.浮点类型Java中有两种浮点类型:float double
double型有效小数位数为15,变量定义double d;doubled1,d2,d3,定义时可以赋初值doubled1=12.23,d2=32.00d,d3;对于double型变量内存分配8个字节,占64位。
字符集:Java采用unicode字符编码集,该编码集16位,含有65536个字符。
5.布尔类型常量true、false变量的定义boolean x;boolean x,y;定义同时可赋值booleanx=true,y=false;在Java中,布尔值和整数不能相互转换
2.变量初始化一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量值。在Java中,可以在代码的任何位置进行变量声明。变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。在Java中,不能在同一作用域内声明两个同名的变量
2.需注意运算符的优先级与结合性优先级操作符结合性
3.数学函数与常量数学函数包含在Math类中。-幂函数-三角函数-指数函数及它的反函数等Java还提供了两个常量。-Math.PI-Math.E若不想在数学方法名和常量名前加前缀Math.”,可在源文件顶部加上以下代码即可。
4.强制类型转换强制类型转换的语法:(目标类型) 变量。
2.文件输入与输出要想对文件进行读取,就需要一个用File对象构造一个Scanner对象。要想写入文件,就需要构造一个PrintWriter对象,在构造器中,需要需提供文件名。
八控制语句(程序控制流程由这些控制语句确定)
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 数组元素类型[个数]
第二部分:实验部分
1、实验目的与要求
(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;
(2)掌握Eclipse集成开发环境下导入Java源程序的过程;
(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;
(4)掌握Math类、String类、StringBuilder类的用法。
2、实验内容和步骤
实验1:java风格九九乘法表程序互评(总分10分)
评分要求:结合评分程序的运行情况,给出评分程序成绩,满分5分,每个错误扣1分,扣至0分为止;
评分者每发现一个正确的错误,本人实验1得分加1分,最高加5分。
已评!
实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。
String s1=“Hello!”; String s2=“World”; String s3=s1+s2; |
编写代码如下:
1
|
package example1; |
public
class
test2 {
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:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。
程序代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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中s1、s2、s3为StringBuilder类对象,实验结果相同;
String类对象与StringBuilder类对象的区别:
string 对象时恒定不变的,stringBuider对象表示的字符串是可变的。当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象。
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。
实验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(“!”); } } |
程序代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package message; 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( "!" ); } } |
程序运行截图如下:
通过 调试运行此程序, 可知java应用程序命令行参数的用法:
Java中的命令行参数原来是通过主函数的参数实现的,且主函数的参数个数以及参数的类型其实并没有限制,在Java的基础知识中可知道,数组中存储的对象类型必须一致,所以即使是参数中写入的是数字也会按照String的类型进行强制数据类型转换。
实验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控制台输入方法。
程序代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.util.*; /** * This program demonstrates console input. * @version 1.10 2004-02-10 * @author Cay Horstmann */ public class InputTest { public static void main(String[] args) { Scanner in = new Scanner(System. in ); // get first input System. out .print( "What is your name? " ); String name = in .nextLine(); // get second input System. out .print( "How old are you? " ); int age = in .nextInt(); // display output on console System. out .println( "Hello, " + name + ". Next year, you'll be " + (age + 1)); } } |
程序运行截图如下:
实验6:按照实验5操作步骤,导入WriteReadFileTest.java示例程序,运行程序并理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。
程序代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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章3-3——3-4示例程序,掌握两个程序循环控制结构的用途。
3-3截图如下:
3-4截图如下:
实验8:按照实验5的操作步骤,导入第3章3-5示例程序,理解抽奖概率计算算法。
截图如下:
实验总结:
通过之前的学习,我们都学习了JAVA的基本程序设计结构,主要内容包括数据类型、运算符、字符串、数组等,这使得我对以前学习过的c语言有了一定的复习。Java和c语言有很多的相似之处,在学习起来就不太陌生。
在这周的学习中,我们对程序在eclipse中的运行更加熟练,以及将文件导入eclipse中进行运行与输出,在导入的过程中出现了许多的问题,尤其是后面的许多实验,但通过助教老师的讲解修改了之后都一一得到了解决。
面向对象程序设计(java)的更多相关文章
- 201771010118马昕璐《面向对象程序设计java》第八周学习总结
第一部分:理论知识学习部分 1.接口 在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个 ...
- 201771010134杨其菊《面向对象程序设计java》第十周学习总结
第8章泛型程序设计学习总结 第一部分:理论知识 主要内容: 什么是泛型程序设计 泛型类的声明及实例化的方法 泛型方法的定义 ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201771010134杨其菊《面向对象程序设计java》第八周学习总结
第八周学习总结 第一部分:理论知识 一.接口.lambda和内部类: Comparator与comparable接口: 1.comparable接口的方法是compareTo,只有一个参数:comp ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201771010118 马昕璐《面向对象程序设计java》第十二周学习总结
第一部分:理论知识学习部分 用户界面:用户与计算机系统(各种程序)交互的接口 图形用户界面:以图形方式呈现的用户界面 AET:Java 的抽象窗口工具箱包含在java.awt包中,它提供了许多用来设计 ...
- 201771010134杨其菊《面向对象程序设计java》第十二周学习总结
第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分 ...
- 201771010134杨其菊《面向对象程序设计java》第七周学习总结
第七周学习总结 第一部分:理论知识 1.继承是面向对象程序设计(Object Oriented Programming-OOP)中软件重用的关键技术.继承机制使用已经定义的类作为基础建立新的类定义,新 ...
- 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结
面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...
- 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结
<面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...
随机推荐
- IntelliJ IDEA创建一个简单的Java Project(二)
1. 选择要创建的项目类型,同时配置本地的JDK 2. 是否使用模板创建项目 3. 选择项目在本地的存储位置 4. 点击Finish,完成一个简单的Java工程的创建.
- 树莓派包含python2.7系统路径
- 选择排序法(C语言)
基本思路 在每一次的排序中选出最小(或最大)的数,将其放在数组最前端,然后在后面的数中重复此步骤,最终达到排序的目的. 算法描述 将存于数组首位数与后面的数依次比较,将其中的较小的数放到数组放到数组首 ...
- 安装Microsoft Office 2010 提示需要安装MSXML版本6.10.1129.0 的解决方案
1.先按照https://blog.csdn.net/c_lanxiaofang/article/details/80410868进行处理安装 2.安装vison2010,如果还存在提示未安装MSXM ...
- Metersploit系统参数说明
Back参数 Back参数主要⽤用于返回.⽐比如你进⼊入了了某⼀一个漏漏洞洞模块的设置,但是你想再重新选择一个漏漏洞洞模块,那么就需要⽤用到back参数. 这张图说明,才开始我使用了ms08_067_ ...
- 利用数据库视图实现WEB查询敏感信息接口动态脱敏
前言: 利用数据库视图,实现web接口查询敏感信息时动态脱敏. 具体目标:某接口为用户信息查询接口,返回敏感用户信息(id,姓名.手机号[敏感].身份证号[敏感]),如果web用户为管理员角色,则查询 ...
- 一、SqlServer查询今天的数据-多写法对比性能问题
-- 目标:查询当天的所有数据 -- 说明:表数据行数:960w --方法一:使用格式化被查询条件与格式化当前时间比对 ),)),) --方法二:使用函数DATEDIFF 比对 --方法三:使用传统比 ...
- 【Spring】Spring框架配置详情
Spring框架的一个亮点就是能实现注入并且可以对实例化的Bean进行管理. 本文将对Spring框架的配置做一个详细的讲解. 一般情况下Spring是不单独使用的,而是和Hibernate配合使用, ...
- VS2019 远程调试
碰到一个问题,在本机调试没有任何问题,部署到测试环境的CentOS 7 上,抛出异常.为解决这个问题,使用远程调试. 第一步,设置远程链接 第二步,Debug--Attach to Process ...
- 转:对softmax讲解比较清楚的博客
https://blog.csdn.net/wgj99991111/article/details/83586508