JAVA语言的一些简单摘要,分为11点
1.简单性2.面相对象3.网络技能(Network-Savvy)4.健壮性5.安全性
6.体系结构中立7.可移植性8.解释型9.高性能10.多线程11.多态性
 
 
关于小数
System.out.println(2.0-1.1)
输出的是0.899999 不是0.9 主要原因是
浮点数值采用二进制表示,而二进制中无法精确的表示1/10,就好比10
进制里面无法精确表示1/3一样,如果需要精确计算的话,则要用到
BigDecimal类
 
关于数字 
用于表示溢出和出错的三个特殊浮点数值
正无穷大 负无穷大 NaN(not a number 不是一个数字)
Double.POSITIVE_INFINITY Double.NEGATIVE_INFINITY 和Double.NaN
实际应用中很少用到,也别要说明的是,不能这样检测一个特定值是否等于Double.NaN
但是可以用Dboule.isNaN方法
 
关于char类型
\u0000到\uffff Unicode编码单位可以表示为16进制数值
包括了特殊转义字符
在java中,char类型用Utf-16编码描述一个代码单元
从JDK5.0开始 代码点是指一个编码表中的某个字符对应的代码数值
第一个级别代码为基本的多语言级别,从U+0000到U+FFFF 包括了经典的
Unicode代码 其余的16个级别代码点分别从U+10000 到U+10FFFF ,包括了一些辅助字符
 
关于变量名
与大多数程序设计语言相比,java中“字母”和"数字"范围要更大,字母
包括了'a'-'z','A'-'Z','_','$'等 ,数字包括了'0'-'9'和在某种语言中代表数字的
任何Unicode字符
可以用character类的is javaIdentifierStart 和isJavaIdentifierPart进行检测
 
关于常量
常量变量用final修饰 普遍使用全部大写 经常定义成static的类常量
 
关于运算符
当参与/运算的两个操作数都是整数时,表示整数,否则表示浮点除法
需要注意的是 整数被0除会产生一个异常,而浮点数被0除会得到无穷大或NaN结果
 
关于++x与x++
一般来说不建议在程序内部使用++x,比较容易让人误解
并且容易产生未知的BUG
 
位运算
>>用符号位填充高位 >>>用0填充高位
没有<<<运算符
其中对于移位运算符的右侧的参数进行模32的运算
(除非左边的操作数是Long类型,在这种情况下要对右侧的
操作数进行模64运算)
ps:模运算就是取余的意思,一般用于计算机语言中
 
关于类型转换
小转大属于合法转换
如图所示,实心箭头表示无损失的转换,虚箭头表示可能会有损失的转换
如int的123456789转换为float型,包含的位数比float类型能表达的位数多,所以转换之后大小是一样的,但是却损失了一定的精度
 
关于强制转换
如果强制转换的数值超过目标类型的表示范围,那么会结果会被
截断成一个完全不同的值
 
关于运算符优先级
 
 
关于字符串
String类中没有提供修改字符串的方法,因此String类被称为不可变字符串,java设计者认为共享带来的效率远高于提取
String类的构建代码
 
String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。
    private final char value[];
类似于C语言的指针字符,而并非字符数组
 
关于构建字符串
一般不用String类型进行拼接,这样每次构建一个新的字符串,都会产生新的String对象,既浪费时间又耗时,一般使用StringBuilder的append()方法进行拼接,可以用toString()返回String类型
 
StringBuffer允许采用多线程,同时对方法添加了对象锁,因此是线程安全
String本身是final 显然也是安全
StringBuilder则线程不安全

java基础阅读卷1整理(待更新)的更多相关文章

  1. 100道Java基础面试题收集整理(附答案)

    不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...

  2. Java基础之IO流整理

    Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...

  3. Java面试之Java基础问题答案口述整理

    Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...

  4. Java基础(面试复习整理)

    基础知识和语法 Java语言初识 计算机语言发展 机器语言.汇编.C.C++.Java Java的诞生与发展 1995 JavaSE JavaME Android JavaEE 2006(大数据) H ...

  5. java 基础-思维导图

    思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具.了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板. 思维 ...

  6. 一份最贴近真实面试的Java基础面试题

    这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...

  7. java基础-01代理类

    简单的代理类实现案例主实现类:ProxyTestimport java.lang.reflect.InvocationHandler;import java.lang.reflect.Proxy;im ...

  8. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  9. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

随机推荐

  1. 老李推荐:第4章1节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览 1

    老李推荐:第4章1节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...

  2. 老李分享:《Linux Shell脚本攻略》 要点(五)

    老李分享:<Linux Shell脚本攻略> 要点(五)   //1.打包.解包 [root@localhost program_test]# tar -cf output.tar 11. ...

  3. 9.Linux系统引导流程

    一.Linux系统引导流程 当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1. ...

  4. Uva 11076 Add Again (数论+组合数学)

    题意:给你N个数,求把他们的全排列加和为多少 思路:对于这道题,假设数字k1在第一位,然后求出剩下N-1位的排列数num1,我们就可以知道k1在第一位时 排列有多少种为kind1, 同理,假设数字k2 ...

  5. Mybatis基础学习(一)—初识MyBatis

    一.MyBatis是什么?      MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google co ...

  6. gulp 学习笔记

    以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录   npm     查看模块     安装模块      ...

  7. 构造函数与普通函数的区别还有关于“new”操作符的一些原理

    有一种创建对象的方法叫做工厂模式,例如: function person(name,age){ var o=new Object(); o.name=name; o.age=age; return o ...

  8. Nginx Access Log日志统计分析常用命令

    Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时 ...

  9. GitHub上最受欢迎的iOS开源项目TOP20

    AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...

  10. java 内存管理 —— 《Hotspot内存管理白皮书》

    说明   要学习Java或者任意一门技术,我觉得最好的是从官网的资料开始学习.官网所给出的资料总是最权威最知道来龙去脉的.而Java中间,垃圾回收与内存管理是Java中非常重要的一部分.<Hot ...