Thinking In Java 4th Chap2 一切都是对象
对基本数据类型的初始化有二:
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 一切都是对象的更多相关文章
- java编程思想 一切都是对象
java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...
- 2.JAVA编程思想——一切都是对象
一切都是对象 欢迎转载.转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 虽然以C++为基础,但 Java 是一种更纯粹的面 ...
- Java基础——1 一切都是对象
- 重新开始学习javase_一切都是对象
@学习thinking in java 一,一切都是对象 用句柄操纵对象 每种编程语言都有自己的数据处理方式.比如说c与c++中的指针,而java中尽管将一切都“看作”对象,但操纵的标识符实际是指向一 ...
- Java编程思想 4th 第2章 一切都是对象
Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成 ...
- Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案
Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...
- 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活
参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...
- Java六大问题你都懂了吗?
这些问题对于认真学习java的人都要必知的,当然如果你只是初学者就没必要那么严格了,那如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 一.到底要怎么样初始化! 本问题讨论 ...
- Java程序员的日常——《编程思想》一切都是对象
今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思.从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多 ...
随机推荐
- 在windows10 Linux (centos7)中安装go golang (够浪) 并测试运行
官方下载安装页面 https://golang.org/doc/install git主页 https://github.com/golang/go 相关下载地址 https://golang.org ...
- css 计算值函数
css有一些强大的函数: 1. calc 可以混合多种单位来计算 div { font-size: calc(100vw/5 + 1rem - 100px) } 2. max.min.clamp ma ...
- maven+SSM+junit+jetty+log4j2环境配置的最佳实践
思路大致是 jetty插件 -> junit -> SpringMVC -> Spring -> log4j2 -> Mybatis整合 pom中的依赖跟着思路一批一批的 ...
- codeforces#1234F. Yet Another Substring Reverse(子集dp)
题目链接: https://codeforces.com/contest/1234/problem/F 题意: 给出一个只包含前20个小写字母的字符串,一次操作可以让一段字符颠倒顺序 最多一次这样的操 ...
- JavaWeb_(Spring框架)注解配置
系列博文 JavaWeb_(Spring框架)xml配置文件 传送门 JavaWeb_(Spring框架)注解配置 传送门 Spring注解配置 a)导包和约束:基本包.aop包+context约束 ...
- JavaWeb_(Mybatis框架)MyBatis整合Spring框架
MyBatis + Spring整合开发 a)使用Spring容器用单例模式管理Mybatis的sqlSessionFactory:b)使用Spring管理连接池.数据源等:c)将Dao/Mapper ...
- 攻防世界RE1 writeup
解题过程 将题目给出的exe文件拖入ida中,查看main函数. 分析函数的逻辑,发现用户需要输出一个字符串,存储到变量v9中.如果v9的值与v5的值相等则会打印unk_413e90中的值,否则打印a ...
- 冲刺阶段——Day1
[成员分工及任务量] 成员 分工 任务量(小时) 王梓鸿 完成页面设计并编写输入输出图形界面,部分代码测试 20 童皓祯 编写注册和登录模块代码,部分代码测试 20 林郅聪 绘制燃尽图,程序功能整合及 ...
- impdp导入报错ORA-39070:无法打开日志文件
>impdp test/123456@orcl directory=expnc_dir dumpfile=TEST.DMP full=y ORA-39002:操作无效 ORA39070:无法打开 ...
- DNS -- 快速清除DNS缓存
MAC: sudo dscacheutil -flushcache Linux: dnsmasq的是一个轻量级的DNS.TFTP和DHCP服务器.它的目的是给局域网提供配对的DNS和DHCP服务. d ...