一个程序有main方法 当自己调用main方法运行就是一个进程,要是依托别人的main方法运行,就是一个线程
通过双击刺激这个文件相关的主方法运行,然后将文件的地址当做参数传给主方法,就能打开文件了
数据类型:规定内存以什么形式存储数据
类是构建对象的模板
一条线程:一条线的执行过程,从运行开始到结束
一个线性栈存放方法 一个方法栈存放变量
计算机当中存储数值类型数据使用的是补码的形式。
计算用补码,有时会超出数据的原有的数据位数,因为数据类型规定了数据在内存当中的存储大小,此时截取数据即可。
二进制在进行加减运算的时候,符号位也参与运算
十进制的小数转换为二进制小数,主要是利用小数部分乘2,取整数部分,直至小数点后为0。下面以十进制的0.625为例,将它转化成二进制。
将小数部分0.625乘2,取整数部分1,用剩余的小数部分0.25乘2,取整数部分0,将剩余的小数部分0.5乘2,取整数部分1,此时,小数部分已经为0,则计算结束。
现在,我们将取得的数字从上到下写, 得到101。则我们就得到了0.625转换成二进制的小数了
浮点类型精度丢失
比如1.2-1输出可能是0.19999999999···
使用BigDecimal类解决问题:
BigDecimal bigInt1 = new BigDecimal(8);
BigDecimal bigInt2= new BigDecimal(6);
BigDecimal intDifference = new BigDecimal(0);
intDifference = bigInt1.subtract(bigInt2);
System.out.println("差 :" +intDifference);
//打印输出 差:2
类似还有加法等问题,推荐博客,讲述的非常详尽,推荐大家学习。
BigDecimal类型的运算使用_hutool bigdecimal-CSDN博客
继承的本质是代码的复用,子类复用父类的代码,而父类无法复用子类的
子类重写父类的方法之后,父类的方法就被覆盖了,无法使用
先来认识一下普通方法
1.方法是有访问权限的
2.方法必须写上返回数据的类型,如果不需要返回数据就写void
3.在同一个类当中,方法名可以相同但是方法的签名不能相同(方法的签名=方法名+参数列表的类型)
4.方法上可以使用其他的关键字进行修饰,比如static和final,它们有这不同的意义
构造函数:在创建对象时给对象的变量赋初值
1.在类当中构造函数必须和类名相同
2.在类当中有一个默认的不显示的无参数的构造器,一旦你在类当中写一个构造器,那么那个无参构造器就会被覆盖
3.构造器不需要写返回类型
4.一个类当中可以有多个构造函数
方法的重载:在同一个类当中方法名相同但是参数列表不同就是方法的重载
方法的重写:发生在父子类当中,子类重新实现父类方法的功能
static修饰符修饰的代码属于类,是被对象所共享的。类是创建对象的模板
static的应用:代码块