java第二次学习总结
[1] 学习了数据的默认类型
1323等整形数据直接的数据默认int型(不能大于20亿);
3.14等浮点数数据默认为double型(不能超过7位有效数据);
如果long数据类型赋值需要在数据后加L,如Longt a=4000000000L;;
如果float数据类型赋值需要在数据后加F,如float a=3.14F;;
[2]浮点数的比较
浮点户不可以直接比较,因为它只是一个大概的估值如果非要比较需要使用
Java.math中的BigInteger和BigDecimal
BigInteger是用于任意精整数运算,BigDecimal任意精浮点数运算
例:
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal bd = BigDecimal.valueOf(1.0);
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
System.out.println(bd);//0.5
System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);//0.5000000000000001
}
[3] 学习到了字符型的强制转化
[4] 学习了java逻辑运算
[5] 学习了java 的重载
Java重载需要形参不同,方法名相同
例如:
add(int n1,int n2);
add(int n1,int n2,int n3);
add(double n1,int n2)
add(int n1,double n2);
[6] 学习了递归和循环
递归相比较循环更加消耗时间更加消耗内存,大多数递归可以用循环来表示,当然有一些必须用递归,如百度的搜索功能的爬虫。
[7] 学习了面向过程和面向对象的区别以及应用
面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,他们指导这人们对软件分析、设计和开发。面向过程的思想是最早被提出来的,但是随着软件规模的扩大,面向过程渐渐就不是那么好用了,于是面向对象就出现了,并且逐渐成为主流。但是他们两个不是你死我亡的关系,而是相辅相成的。一个很大的问题可以用面向对象分解为若干个小问题,然后这些小问题用面向过程来解决。
[8] 理解了对象和类的关系
对象:用类为模板创建建
类:就是一个包含属性和方法的模板;
[9] 学习了面向对象的内存分析
[10] 学习了构造方法
class Point {
double x, y;
public Point(double _x, double _y) {
x = _x;
y = _y;
}
public double getDistance(Point p) {
return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
}
}
public class TestConstructor {
public static void main(String[] args) {
Point p = new Point(3.0, 4.0);
Point origin = new Point(0.0, 0.0);
System.out.println(p.getDistance(origin));
}
}