马凯军201771010116《面向对象程序设计(java)》第二周学习总结

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

(1)基本知识:简单应用程序的结构;Java环境里的注释方式;

(2)数据类型(4种整型、2种浮点型、1种字符型‘char’、真值型‘Boolean’。

(3)变量,每个变量都有一个type。在声明变量时,变量的类型位于变量名之前(不能用Java保留字作为变量名);变量初始化;常量。

(4)运算符‘+、-、*、/’。当用到/运算符时,两个数都是整数时,表示整数除法,不然表示浮点数除法。整数求余用%(15%2等于1)。注意整数被零除时会出现异常,浮点数被零除时得到无群大或NaN的结果。数学函数与常量。

(5)数据类型的转换:强制类型的转换;数值类型之间的转换;转换过程涉及到各种运算符。

(6)字符串是字符序列组成的串(用法类似于数组);字符串的拼接;不可变字符串(String没有提供用于修改字符串的方法;检测字符串是否相等;空串与NUll串(使用条件:if(str==null,if(str!=null&&str.length()!=0));构建字符串(StringBuilder实现)节约时间和空间。

输入输出,要想通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。格式化输出,使用System.out.print(x)将要输出的对对象进行输出;文件的输入与输出,首先用file构造一个scanner对象(例如:Scanner in=new Scanner(Paths.get(“myfile.txt”),”UTF-8”);,写入文件要构造一个PrintWriter对象PrintWriter out=new PrintWriter(“myfile.txt”),”UTF-8”);。

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

 对元素的确定是由数组名和它的下标实现的, 如a[0]代表数组a的第一个元素,a[1]代表数组 a的第二个元素,依次类推。

第二部分:实验部分

1. 实验名称:实验一 Java基本程序设计(1)

2.  实验目的与要求:

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

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

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

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

3. 实验步骤与内容

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

 

    string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。而StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。String是不可变化的字符,StringBuilder是可以变化的字符。String的不可变是由于它的底层是一个private final char[],没有方法可以修改它的值,所以它是不可变化,而StringBuilder底层也是一个char[],修饰符是缺省的,同包类都可以修改它,所以StringBuilder是一个可变的字符。StringBuilder可以通过append,insert来修改char[]的值。。

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

public class Mes

{  

public static void main(String[] args)

  {     

  if (args[0].equals(“-t”))

System.out.print(“today”);

else if(args[0].equals(“-m”);

 System.out.print(“morning,”);

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

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

 

 

 

(1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

 

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

 

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

 

 

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

 

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

实验总结:

      在本次的实验中自己对Java编程的环境更加的熟悉,进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤,对运算符在Java中的运用也有了掌握,理解String类对象与StringBuilder类对象的区别。(string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。而StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。String是不可变化的字符,StringBuilder是可以变化的字符。String的不可变是由于它的底层是一个private final char[],没有方法可以修改它的值,所以它是不可变化,而StringBuilder底层也是一个char[],修饰符是缺省的,同包类都可以修改它,所以StringBuilder是一个可变的字符。StringBuilder可以通过append,insert来修改char[]的值。)在本次的实验中最大的收获是经过后面几个小实验的进行,熟练的掌握了Eclipse集成开发环境下从文件中导入程序的步骤。掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;对用程序输出的数组,多维数组,不规则数组有了基本的了解,对以后数组在Java中的应用有了初步的认识。

转载于:https://www.cnblogs.com/zero--/p/9612866.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码质量管理工具】-由sonar引发的思考

原文路径&#xff1a;https://blog.csdn.net/luckystar689/article/details/53968102 ---------------------------------------------------------------------------------------- 之前&#xff0c;在看《笑傲江湖》的时候&#xff0c;郭德纲在给一对夫妻的表演做评审的时候…

php curl 模拟多线程,php利用curl 多线程 模拟 并发的详解

php利用curl 多线程 模拟 并发的详解发布于 2014-12-07 10:17:25 | 265 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&…

新版DAEMON Tools Lite打不开 bin 文件解决方法

DAEMON Tools Lite 支持打开 *.cue 解决方法很简单&#xff1a;将*.bin 重命名为 *.cue 就可以打开

Linux集群架构(LVS DR模式搭建、keepalived + LVS)

为什么80%的码农都做不了架构师&#xff1f;>>> LVS DR模式搭建 准备工作&#xff1a;三台机器 分发器&#xff0c;也叫调度器&#xff08;简写为dir&#xff09;&#xff1a;192.168.248.128 rs1 &#xff1a;192.168.248.129 rs2 : 192.168.248.130 vip : 192.16…

java手机状态栏圆形图标,android实现状态栏添加图标的函数实例

本文实例讲述了android实现状态栏添加图标的函数。分享给大家供大家参考。具体如下&#xff1a;private void showNotification() {// 创建一个NotificationManager的引用NotificationManager notificationManager (NotificationManager)AutoFile.this.getSystemService(andro…

Windows下SVN回滚到旧版本(TortoiseSVN)

原文地址&#xff1a;https://www.cnblogs.com/tommy-huang/p/4729634.html ---------------------------------------- 当发现新提交的代码有问题&#xff0c;然后想将某个旧的版本作为最新的版本时&#xff0c;可以使用回滚&#xff0c; 操作步骤如下&#xff1a; 1. 签出…

看懂架构设计中的服务隔离

前言 我们在做系统架构设计的时候&#xff0c;经常离不开的一个话题就是进行服务的隔离设计。 那什么是「服务隔离」呢&#xff1f; 顾名思义&#xff0c;它是指将系统按照一定的原则划分为若干个服务模块&#xff0c;各个模块之间相对独立&#xff0c;无强依赖。当有故障发生时…

2018最新苹果APP上架App Store流程(超详细)

内容很丰富&#xff0c;点击查看博文 https://blog.csdn.net/xxw888/article/details/73618837/

[五] JavaIO之InputStream OutputStream简介 方法列表说明

InputStream 和 OutputStream 对于字节流的输入和输出 是作为协议的存在 所以有必要了解下这两个类提供出来的基本约定 这两个类是抽象类,而且基本上没什么实现,都是依赖于子类具体的去实现 但是他是对于其子类 协议纲领一般的存在 了解清楚每一个方法含义,对于后续具体的子类将…

Mysql yum 安装后,一些重要的文件路径

默认配置文件路径&#xff1a; 配置文件&#xff1a;/etc/my.cnf 日志文件&#xff1a;/var/log//var/log/mysqld.log 服务启动脚本&#xff1a;/usr/lib/systemd/system/mysqld.service socket文件&#xff1a;/var/run/mysqld/mysqld.pid #(a)数据库目录 /var/lib/mysql…

mysql双机热备 配置文件,MYSQL 双机热备配置手册()

[原创] MYSQL 双机热备配置手册[原创]http://www.chinaunix.net 作者:squall1 发表于&#xff1a;2007-07-23 19:01:43【发表评论】【查看原文】【存储备份之家讨论区】【关闭】作者&#xff1a;CU-squall发表于&#xff1a;2005年4月18日 8:21 可以不经作者同意自由传播&…

[转]资本经营董事长班告诉你:不只企业有商业模式,个人商业价值更重要

本文转自&#xff1a;http://blog.sina.com.cn/s/blog_181b5b47e0102xz4v.html 东方财智-资本经营董事长班>>> 经营者如何轻松驾驭金融工具为企业发展加速、升级互联网工具实现品牌营销裂变、利用管理工具优化公司内部结构&#xff0c;把握前沿视角&#xff0c;实现快…

CentOS 7添加开机启动服务脚本

原文路径&#xff1a;https://blog.csdn.net/wang123459/article/details/79063703 --------------------------------------------------------- 一、添加开机自启服务 在CentOS 7中添加开机自启服务非常方便&#xff0c;只需要两条命令(以Jenkins为例)&#xff1a; system…

php 彩票系统,hsyl12141511 一套完整的PHP版彩票系统 - 下载 - 搜珍网

文件名大小更新时间BOEKJ02017-12-14BOEKJ\.idea02017-12-13BOEKJ\.idea\BOEKJ.iml2812017-04-28BOEKJ\.idea\modules.xml2622017-04-28BOEKJ\.idea\workspace.xml100272017-04-28BOEKJ\String-ext.js10402015-05-30BOEKJ\TianHeng.exe230402015-05-05BOEKJ\config.js309232017…

CPR认证-建材CE认证-305/2011/EU

建材CPR认证 - Regulation (EU) No 305/2011  2011年3月&#xff0c;欧盟颁布了新建筑产品法规RETULATION &#xff08;EU&#xff09; No 305/2011 – CPR&#xff0c;并通告了新法规于2013年7月进入强制执行&#xff0c;取代了老CPD指令89/106/EEC。  新的建材CPR认证也是…

python支持复数类型以下什么说法是错误的,【Python】专项练习题(1)

1.python代码如下:foo [1,2]foo1 foofoo.append(3)A.foo 值为[1,2]B.foo 值为[1,2,3]C.foo1 值为[1,2]D.foo1 值为[1,2,3]答案&#xff1a;B D链接&#xff1a;https://www.nowcoder.com/profile/153165401/myFollowings/detail/20055659来源&#xff1a;牛客网2.下列程序打印…

ios10不能定位 window.navigator.geolocation.getCurrentPosition(定位第一节)

原文连接&#xff1a; https://blog.csdn.net/michael_ouyang/article/details/54137709 --------------------------------------------------------- 问题分析&#xff1a; 目前由于许多苹果用户都升级到了iOS系统&#xff0c;苹果的iOS 10已经正式对外推送&#xff0c;…

php网站无法显示,php – 在UTF-8网站上无法正确显示的字符

我已经完成了我能想到的一切,但是在这个网页上没有正确显示特殊字符.例如,在数据库中它是&#xff1a;但在网站上它是&#xff1a;Nouveaux R&#xfffd;alistes这是我检查过的一切……数据库设置为UTF-8&#xff1a;该页面是用NetBeans编写的,文档编码设置为UTF-8&#xff1a…

ios如何获取gps坐标(定位第二节)

原文连接&#xff1a; https://blog.csdn.net/michael_ouyang/article/details/54378338 -------------------------------------------------------------------- 在上一篇文章&#xff0c;解决ios 10不能定位的问题&#xff0c;把navigator.geolocation.getCurrentPosition…