java编程思想1

官网https://www.mindviewllc.com/
Think in java 代码https://github.com/chengyiming/TIJ4-code
java8代码 https://github.com/chengyiming/OnJava8-Examples

什么是对象,对象的五大特性

  • 万物皆对象
  • 程序是对象的集合,他们发送消息告知彼此所要做的 。可以想象为对某个特定对象的方法的调用请求
  • 每个对象都有自己的由其他对象所构成的存储。 ------组合
  • 每个对象都拥有其类型。-------class Person{} Person p = new Person()
  • 某一特定类型的所有对象可以接收同样的消息。--------继承

引用操纵对象

  String s;

这里只是创建引用,而不是对象。

String s = "asdf"

创建并初始化更安全

String s = new String("asdf");

存储位置

  • 寄存器最快的存储区,它位于不同其他存储区的地方----处理器内部。
  • 堆栈 位于RAM中,通过堆栈指针可以直接支持。指针下移,分配新内存。上移,释放内存。速度仅次于寄存器
  • 用于存放所有的java对象
  • 常量存储
  • 非RAM存储数据存活于程序之外,在程序没有运行时也可以存在。基本例子流对象持久化对象。流对象中,通常被发送给另一台机器。持久化对象中,对象被存放于磁盘。如jdbc和hibernate机制

特例:基本类型

存放于堆栈中,创建的并非是引用的“自动”变量,与C/C++采用相同的方法。
类型分为

void boolean char byte short int long float double
16-bit 8-bits 16bit 32bit 64bit 32bit 64bit

其中byte 范围为 -128 ~ +127 常用于查找出错问题
每一个类型对应一个包装器类型
Void Boolean Character Byte Short Integer Long Float Double

char byte short 无论如何进行算数运算都会自动得到int结果,除非定义运算中的类型都定义为final关键字
高精度数字
BigIntegerBigDecimal

操作符

复制运算符: =
算数运算符 :+ - * / %
自增自减 :++ --
逻辑运算符: && || !
关系运算符: > < <= >= != ==
按位运算符: & | ~
移位运算符: >>(左边的操作数向右移动) >>>(左边的操作数向右移动并且高位补0) <<(右边的操作数向左移动)
9 >> 1 等同于 9/2 向下取整

运算过程中截取与舍入

使用Math.round()采用四舍五入法把float或double 转成 long或int
直接强制转换则发生截取

你可能感兴趣的:(java编程思想1)