您的位置:首页 > 编程语言 > Java开发

JAVA学习日记每天进步一点点

2019-03-22 16:41 260 查看

面向对象的语言

通过自己的短暂的实习经历,做了关于实现客户端关键字查询数据库的功能,考虑到自己的水平是简单的编程实现,学习JAVA一个月,以我现在的水平谈谈对于面向对象的语言的理解。
同组的师兄说对于客户的需求我们要开发出对应的产品,作为一名JAVA开发工程师,首先要做的事情是:
1.功能设计
2.架构设计 spring?规模大小?流量多少?
3.数据库的设计:表和值
4.界面UI设计
然后就是详细的功能实现了。
在一个工程中,我认为面向对象在其中的意义是对应于每一个不同的问题的。
如:
1.用户要一个实现图书馆功能的APP,那么此时的对象就是图书馆APP,对于用户,他们只需要能够有这样的APP,能满足他们的功能需求,不需要知道如何实现,我们作为工程师的话也不会让他们知道我们如何实现,这就是面向对象的封装性体现。
2.作为开发人员,在得到这样的一个任务,我们先不提架构的我完全不理解的问题,从登陆界面开始,我们要有一个“界面展示”的类或者工程,此时我们的对象就是界面显示,用“panel”来代替,在这个叫做“panel”的类里面包括显示功能,包括排版的格式化,包括点击“超链接”跳转的功能,那么为了避免使得“panel”的代码太贵庞大,或者为了能够突出叫做“panel”这个名字的主要功能,我们就把实现超链接的代码段在包装成叫做“button”的类去完成,此时对象变成了按钮,那么在叫做“button”这个类里面,我们就需要编写关于触发,关于连接,关于监控的代码,同样当某个实现button部分功能的代码比较庞大,我们可以继续将它包装成一个“方法名”的类,在这一层我们只是调用,在下一层具体写它如何实现。
3.当我们编了好多好多的类/方法之后,我们发现当我们实现相似的界面显示功能的时候,我们不再需要继续重复编写,只需要引用到代码段中,我们就可以使用之前编好的“panel”功能,此时就体现到JAVA的继承性质。如果能将JAVA开发的过程用思维导图可视化的话大概就是:上端功能对象少而概括,且不断向下层拓扑,下层是上一层的解释“函数体”,并且每层也会有交叉,被归纳到实现一个主要功能的文件夹中。

数字处理类

1.数学运算
Math类:包括一些基本的数学函数方法如三角函数,指数函数等。可以调用时候查看
2.随机数
Math.random()方法:
m+(int)(Math.random()n):返回大于等于m且小于m+n(不包括m+n)的随机数
(char)(char1+Math.random()(char2-char1+1)):*返回cha1字符和cha2之间的随机字符
Random类:包括返回随机的各种数值类型的函数
3.大数字运算
BigInteger类:
public BigInteger(String val)
//实例化格式括号内为十进制字符串
成员方法包括:加减法、乘除法、取余等
BigDecimal类:
支持任何精度的定点数
实例化方式如下,将字符串和双精度型转化成BigDecimal型

public BigDecimal(double val)
public BigDecimal(String val)

4.课后练习
开发程序,获取2~100之间的六个偶数,并获得这六个偶数的和
错误点:在带入到if判断语句中,要将随机得到的数赋值给s不然判断语句中将不断获得随机的数

public int Randomadd(double a,double b){
int add=0;
for(int i=1;i<=6;i++)
{
double s=0;
s=a+(int)(Math.random()*(b-a));
if(s%2!=0) {
add+=(s+1);
}
else {
add+=s;
}
System.out.println(add);
}
return add;
}

开发程序,定义一个计算圆面积的方法,圆半径作为参数,结果保留五位小数。

public String GetCircleS(double c) {
double s;
s=Math.PI*Math.pow(c, 2);
DecimalFormat df = new DecimalFormat("#.00000");
return df.format(s);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: