对基本数据类型的初始化有二:

  1.String s="asdf";

  2.String s=new String("asdf");

可能的存储区域:

  寄存器(不可如c/c++进行控制)

  堆栈(对象引用,对象本身不在此处)

  堆(对象存放地)

  常量存储(代码内部/只读存储器)

  非RAM存储(流对象/持久化对象)

基本类型:

                

                                

                      

基本类型 大小 最小值 最大值 包装器类型 默认值
boolean -- --  -- Boolean false
char 16-bit Unicode o Unicode 2^16-1 Character null
byte  8 bits -128 +127 Byte (byte)0
short 16 bits -2^15 +2^15-1 Short (short)0
int  32 bits    -2^31  +2^31-1   Integer 0
long  64 bits  -2^63  +2^63-1    Long 0L
float 32 bits   IEEE754  IEEE754   Float  0.0f
double 64 bits   IEEE754 IEEE754 Double 0.0d
void  --   --   --  Void  

                                 

                           

                                                      

                                         

                                        

                              

          

高精度数字BigInteger和BigDecimal:(任意大小,任意精度,速度较慢)

 //BigInteger:

   import java.math.BigInteger;
  //每一个数都是类中的一个对象:   BigInteger add1=new BigInteger("10");
  //所有计算必须调用方法:
  add1.negate();//相反数
  add1.add(new BigInteger("20"));//加法
  add1.subtract(new BigInteger("20"));//减法
  add1.multiply(new BigInteger("20"));//乘法
  add1.divide(new BigInteger("20"));//除法
  add1.remainder(new BigInteger("20"));//取模
  BigInteger mod = new BigInteger ("10");//快速幂取模
  BigInteger pow = new BigInteger ("20");
  System.out.println(pow.modPow(pow,mod));
add1.compareTo(new BigInteger("18"));//比较大小,小于-1,大于1,等于0
add1.pow(10);//幂运算
  add1.min(new BigInterger("-10"));//较小数
  add1.max(new BigInteger("100"));//较大数
add1.gcd(new BigInteger("6"));//最大公约数
  add1.and(new BigInteger("10"));//按位与
add1.or(new BigInteger("10"));//按位或
  add1.xor(new BigInteger("10"));//异或 
  add1.toString(2));//进制转换,返回n进制字符串
  add1.abs();//绝对值
add1.testBit(2);//检测某位上是否为1
add1.shiftLeft(1);//左移n位
  add1.shiftRight(1);//右移n位
add1.not();// 非
  int p=2;
  BigInteger add1 =BigInteger.ValueOf(p);//int转化为BigInteger
   int temp=add1.intValue();//BigInteger转化为int

Java自带的垃圾回收器能自动识别和销毁无用对象,故无需像c++一样手动delete,也没有内存泄漏的风险

类库名称原则:反转域名,如:net.mindview.utility.foibies

Java没有“向前引用”问题,即使调用的类在当前代码之后定义仍然可行

  如果需要明确调用的是哪个包中的类:import java.util.ArrayList;

  如果需要调用某个包中的一群类:import java.util.*;

static关键字

  凡被static标识的变量,无论有多少对象,都仅共同占有一份存储空间:

    static int i;

    /********/

    StaticTest st1.i=47;

    StaticTest st2.i++;

    //output: i=48

  静态方法可以通过它的类直接调用:Incrementable.increment();

Javadoc:(只能注释public和protected成员,最后输出HTML文件)

  /** 欲引入Javadoc的内容

  *@see classname或@see fully-qualified-classname#methodname

  *{@link package.class#member label}(与@see基本一致)

  *{@docRoot}产生到文档根目录的相对路径

  *{@inheritDoc}从当前类的直接基类继承相关文档

  *@version version-information

  *@author author-information

  *@since 最早版本

  *@param 方法中parameter-name discription

  *@return 返回值

  *@throws 异常类名

  *@Deprecated 旧特性为新特性所取代

  *///:~(源代码清单结束)

Thinking In Java 4th Chap2 一切都是对象的更多相关文章

  1. java编程思想 一切都是对象

    java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...

  2. 2.JAVA编程思想——一切都是对象

    一切都是对象 欢迎转载.转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 虽然以C++为基础,但 Java 是一种更纯粹的面 ...

  3. Java基础——1 一切都是对象

  4. 重新开始学习javase_一切都是对象

    @学习thinking in java 一,一切都是对象 用句柄操纵对象 每种编程语言都有自己的数据处理方式.比如说c与c++中的指针,而java中尽管将一切都“看作”对象,但操纵的标识符实际是指向一 ...

  5. Java编程思想 4th 第2章 一切都是对象

    Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成 ...

  6. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案

    Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...

  7. 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活

    参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...

  8. Java六大问题你都懂了吗?

    这些问题对于认真学习java的人都要必知的,当然如果你只是初学者就没必要那么严格了,那如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 一.到底要怎么样初始化! 本问题讨论 ...

  9. Java程序员的日常——《编程思想》一切都是对象

    今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思.从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多 ...

随机推荐

  1. 我终于搞清楚了和String有关的那点事儿。

    String,是Java中除了基本数据类型以外,最为重要的一个类型了.很多人会认为他比较简单.但是和String有关的面试题有很多,下面我随便找两道面试题,看看你能不能都答对: Q1:String s ...

  2. C++常用字符串函数使用整理

    strlen(字符数组) 功能:求字符串长度. 说明:该函数的实参可以是字符数组名,也可以是字符串. 使用样例: char s1[80] = "China"; cout<&l ...

  3. python异常链

    习惯使用java开发,在java开发里有异常链概念和重新抛出异常,在python是怎么实现的呢? 1.异常链 1.1.java实现 public static void test1() throws ...

  4. JSON字符串控制台格式化输出 java

    1.正常情况下返回的json数据格式如下: {"header":{"transSn":"e33128bb7622462ebfb2cbfcc46baa1 ...

  5. 查看memcache版本

    window: cmd中用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到memcache服务器的版本. 注意:memcache的默认端口 ...

  6. Vue —— 从环境搭建到发布

    之前学习 Vue 的时候也是按着别人的文档一步步下载安装构建项目再运行,为了避免忘记步骤,所以还是记在这吧. 参考链接: https://www.zybuluo.com/xudongh/note/75 ...

  7. [oracle]TX行锁发生的常见场景(转贴)

    TX行锁发生的常见场景: 1.当前会话要更新或删除的记录,已经被其他会话更新或删除. 2.对于表上有唯一索引的情况,多个会话插入或更新为相同的键值. 3.对于表上有位图索引的情况,多个会话即使更新不同 ...

  8. 关于一个GPGPU优化中Bank Conflict的讨论

    出自OpenGPU: 关于去除bank conflict的一个例子程序

  9. 数据分析 - Excel 配色, 绘图, 技巧

    美学 配色 画图本身是美学的展示, 出色的配色是必须的 虽然本身美学并不是数据分析的必要, 但是也不能太low 如果做的太丑展示也是很尴尬 配色网站 点击这里 配置 现版本的 excel 中已存在较为 ...

  10. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_02-vuejs研究-vuejs基础-MVVM模式

    1.2.1 MVVM模式 vue.js是一个MVVM的框架,理解MVVM有利于学习vue.js.   MVVM拆分解释为:   Model:负责数据存储 View:负责页面展示 View Model: ...