博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二次Java作业--计科1501李俊
阅读量:5261 次
发布时间:2019-06-14

本文共 2279 字,大约阅读时间需要 7 分钟。

1.(1)学习使用Eclipse关联jdk源代码

点击项目-属性-Java构建路径-库-JRE系统库-rt.jar-源代码连接-编辑“源代码连接”-设置“外部文件”的路径为JDK安装路径下的src.zip
1081681-20170326144003143-668736336.jpg

1081681-20170326144016721-1155725415.jpg

String类的equals()方法

1081681-20170326150026846-1492385119.jpg

equals方法和==的区别

1081681-20170326150957080-2081078850.png

"=="是用来进行数值比较的,无法进行字符串的比较,而str2和str3所指的地址相同,地址值相同,所以str2=str3;

而equals是用来判断字符串的内容,在equals()方法中比较说明了这一结论。
2.构造方法
在对象实例化时直接把对象的值赋值给属性的一种简单方法,在面向对象程序中构造方法的主要作用是为类中的属性值初始化。
1081681-20170326154008565-285461207.jpg

构造方法的重载 :每个构造方法的参数类型或参数个数不同构造方法就可以重载

1081681-20170326155200190-1979591455.png

程序不可以通过编译,因为构造方法中有一个整型参数,而主函数调用构造方法时传递参数

3.运行下列程序,结果是什么?查阅资料,分析为什么。

public class Test {    public static void main(String args[]) {         double a = 0.1;        double b = 0.1;        double c = 0.1;        if((a + b + c) == 0.3){            System.out.println("等于0.3");        }else {            System.out.println("不等于0.3");        }    }     }

结果是 不等于0.3

原因是:double类型为浮点型不能精确计算结果。计算机是二进制的,浮点数无法用二进制精确表示 应该用BigDecimal类精确计算。参考书上378和379页修改后的程序为

import java.math.BigDecimal;public class Text {    public static void main(String args[]) {        BigDecimal bi1=new BigDecimal("0.1");        BigDecimal bi2=new BigDecimal("0.1");        BigDecimal bi3=new BigDecimal("0.1");         if(bi1.add(bi2).add(bi3).doubleValue()==0.3){            System.out.println("等于0.3");        }        else {            System.out.println("不等于0.3");        }    }}

4.运行下列 程序,结果是什么?分分 析原因,应如何修改.

public class Test {    public static void main(String[] args) {        MyClass[] arr=new MyClass[3];        arr[1].value=100;    }}class MyClass{    public int value=1;}

运行的结果

1081681-20170326175214955-1694987189.png

运行不出结果,应该是数组中没有值。

5.在一个10000次的循环中,需要进行字符串的连接操作,那么,应该使用String类还是StringBuffer类,为什么?性能有差异吗?能否写出测试代码证明你的结论。
String对象是不可改变的。每次使用System.String类都要在内存中创建一个新的字符串对象,就需要对新对象分配内存空间,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提高速度。
string类的:

public class Stringlei {    public static void main(String args[]){        String str1="thisismyfirstworld!!";        for(int i=0;i<10000;i++){            str1+=1;        }        System.out.println(str1);    }}

1081681-20170326193518471-2146585161.png

stringBuilder类的:

1081681-20170326191902658-1529527400.png

String里的内容不能更改,而对于频繁修改字符串内容的的程序,最好使用StringBuffer类完成;

(二)实验总结

1.评分系统:一共10个评委,满分10分,假设有5个选手,分别由评委打分,去掉一个最高分和一个最低分后的平均分为该选手得分,将选手的得分从高到低进行输出。定义适当的方法。我只写了这一道题,但是还没有改完,在编程时总是习惯把所有的都放到一个类里,在参考了书上的方法和舍友的帮助后,还差一些输出语句,试验的设计思路:是五个参赛人员内用循环分别输入评委的评分,然后在代码块中构造最高分,最低分和平均分,将平均分放置在score数组中,再将数组从大到小排列。

(三)代码托管(务必链接到你的项目)

•码云commit历史截图()
上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图。
1081681-20170328130058654-1709487388.jpg

转载于:https://www.cnblogs.com/junjun137/p/6622714.html

你可能感兴趣的文章
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
poj 1331 Multiply
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>