1.CamelCase

类名是以大写字母开头的词,如果名字由多个单词组成,每个单词的地一个字母都应该大写。

例如:FirstExample,ObjectDemo.....

2.数据类型

a.整型:

int:4字节

short:2字节

long:8字节

byte:1字节

注:长整型数值有一个后缀L或l(如4000000000L)。十六进制数值有一个前缀0x或0X(如0xCAFE)。八进制有一个前缀0(如010)。

  Java7开始,加上0b或0B就可以写二进制数。例如,0b1001就是9。

b.浮点型:

float:4字节

double:8字节

注:1.float类型的数值有一个后缀F或f(例如,3.14F)。没有F后缀的浮点数值默认为double型。

  2.浮点数值不适用于无法接受摄入误差的金融计算中。例如:

System.out.println(2.0-1.1);//0.89999999999,not 0.9

  这种舍入误差的主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确地表示分数1/10。这就好像十进制无法精确表示分数1/3一样。

c.boolean类型:

  整型值与布尔值之间不能进行相互转换。

3.运算符

  整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大(Infinity)或NaN结果。

4.Math类

  平方根:Math.sqrt(Type x)

  幂运算:Math.pow(Double x,Double y) -------表示x的y次幂

  三角函数:Math.sin,Math.cos,Math.tan,Math.atan,Math.atan2

  指数与对数:Math.exp,Math.log,Math.log10

  常量:Math.PI,Math.E

  注:在使用%求余运算中,n%2,如果n为负数,则结果得-1。而Math.floorMod方法可以总是得到需要的余数而非-1。

5.数值之间的转换

  无信息丢失的转换:byte-->short,short-->int,char-->int,int-->long,int-->double,float-->double。

  可能有精度损失的转换:int-->float,long-->float,long-->double。

  小结:只有向上转型是可行的,无危险的。

6.String类

  API:

  int compareTo(String other)

  按照字典顺序,如果字符串位于other之前,返回一个负数;如果字符串位于other后,返回一个正数;如果两个字符串相等,返回0。

  boolean equals(Object other)

  如果字符串与other相等,返回true。

  boolean startsWith(String prefix)

  boolean endsWith(String suffix)

  如果字符串以suffix开头或结尾,则返回true。

  int indexOf(String str)

  int indexOf(String str,int fromIndex)

  返回与字符串str匹配的第一个子串开始位置。这个位置从索引0或fromIndex开始结算。如果在原始串中不存在str,返回-1。

  int length()

  返回字符串的长度

  String substring(int beginInex)

  String substring(int beginIndex,int endIndex)

  返回一个新字符串,这个字符串包含原始字符串中从beginIndex到串尾或endIndex-1的所有代码单元。

  String toLowerCase()

  String toUpperCase()

  返回一个新字符串。这个字符串包含原始字符串中的大写字母改为小写(或反之)

  String trim()

  返回一个新字符串,这个字符串将删除了原始字符串头部和尾部的空格

  String join(CharSequence delimiter,CharSequence... elements)

  

System.out.println(String.join("/","S","M","L"));//print S/M/L

  

7.StringBuilder,StringBuffer

  有些时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符连接的方式达到此目的的效率比较低。每次连接字符串都会构建一个新的String对象,既耗时又耗空间。使用StringBuilder类就能避免此问题

  

StringBuilder builder=new StringBuilder();
builder.append(ch); //appends a single character
builder.append(str); //appends a string
//在需要构建字符串时调用toString方法
String completedString=builder.toString();

  注:StringBuilder是StringBuffer的前身,其效率有点低,但允许采用多线程的方式执行添加或删除字符的操作。如果所有字符串在一个单线程中编辑。则应该使用StringBuffer类替代他。这两个的API是相同的。

  API:

  StringBuilder()

  构造一个空的字符串构建器。

  int length()

  返回构建器或缓冲器中的代码单元数量。

  StringBuilder append(String str)

  追加一个字符串并返回this。

  void setCharAt(int i,char c)

  将第i个代码单元设置为c。

  StringBuilder insert(int offset,String str)

  在offset位置插入一个字符串并返回this。

  StringBuilder delete(int startIndex,int endIndex)

  删除偏移量从startIndex到-endIndex-1的代码单元并返回this。

  StringBuilder toString()

  返回一个与构建器或缓冲器内容相同的字符串

8.Arrays类

  API:

  static String toString(type[] a)

  返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。

  参数:a      类型为int,long,short,float,double,char,byte的数组

  static type copyOf(type[] a,int length)

  static type copyOf(type[] a,int start,int end)

  返回与a类型相同的一个数组,其长度为length或者end-start,数组元素为a的值。

  参数:a   ...

     start  起始下标(包含这个值)

     end  终止下标(不包含这个值)。这个值可能大于a.length。在这种情况下,结果为0或false

     length  拷贝的数据元素长度。如果length值大于a.length,结果为0或false。否则,数组中只有前面length个数据元素的拷贝值。

  static void sort(type[] a)

  采用优化的快速排序算法对数组进行排序。

  参数:a  ...

  static int binarySearch(type[] a,int start,int end,type v)

  采用二分搜索算法查找值v,如果查找成功返回相应的下标值,否则返回一个负数r,-r-1是为保持a有序v应插入的位置。

  static void fill(type[] a,type v)

  将数字的所有数据元素值设置为v。

  static boolean equals(type[] a,type[] b)

  如果两个数组大小相同,并且下标相同的元素都对应相等,返回true

转载于:https://www.cnblogs.com/Miromiaosang/p/8444368.html

CoreJava Reading Note(3:Fundamental structure)相关推荐

  1. GAN-overview reading note(3)Wasserstein GAN

    文章目录 了解WGAN 强行写点理解 2019.4.13--子涣 了解WGAN 继续读GAN overview,在第一部分基本了解了GAN的基本概念,又在第二部分了解了LSGAN对其的改进,同时也基本 ...

  2. idea两个好用的插件-Code Reading Note与RestfulTool

    1.问题描述 介绍两个idea插件,感觉很好用,记录下. 2.问题描述解决 2.1 Code Reading Note插件--代码阅读笔记 这个插件的原始功能是:对指定代码记录阅读笔记,然后增加到指定 ...

  3. Reading Note(8) ——GNN for DSE Optimization

    这篇博客是一篇论文阅读札记,这篇论文的主题是使用GNN来优化加速器设计中的设计空间探索耗时过长的问题. 这篇文章的标题是<Enabling Automated FPGA Accelerator ...

  4. 「MICCAI 2016」Reading Note

    Sina Weibo:东莞小锋子Sexyphone Tencent E-mail:403568338@qq.com http://blog.csdn.net/dgyuanshaofeng/articl ...

  5. READING NOTE: R-FCN: Object Detection via Region-based Fully Convolutional Networks

    转载自: http://blog.csdn.net/joshua_1988/article/details/51484412 TITLE: R-FCN: Object Detection via Re ...

  6. Thinking in Java Reading Note(5.初始化与清理)

    1.用构造器确保初始化 可以假想为编写的每个类都定义一个initialize()方法.该方法的名称提醒你在使用其对象之前,应首先调用initialize().然而,这同时意味着用户必须记得自己去调用此 ...

  7. 01_Dive_into_python (reading note)

    难度:* Don't bury your burden in saintly silence. You have a problem? page 41 如有涉及到**知识版权,联系删除 SUFFIXE ...

  8. Reading Note(10)——AutoBridge

    这篇论文是FPGA 2021年的best paper award,主要解决的是在HLS编译过程中优化布局和布线,最终达到整个multi-die的FPGA板上的大规模HLS设计时钟频率尽可能提升的目的, ...

  9. Paper Reading: Generating Artistic Portrait Drawings from Face Photos with Hierarchical GANs

    Paper Reading Note URL: https://cg.cs.tsinghua.edu.cn/papers/CVPR-2019-Drawing.pdf TL;DR CVPR2019一篇来 ...

最新文章

  1. empress和queen区别_queen与empress
  2. android java服务,Android进阶学习必会:Java Binder中的系统服务
  3. 全球及中国液压磁路保护器行业发展规划与产销需求预测报告2022版
  4. Linux复习资料——MySQL-client-5.6.50-1.el7.x86_64与MySQL-server-5.6.50-1.el7.x86_64包安装MySQL全过程
  5. Android之提示Unable to instantiate fragment***MyLikeFragment .could not find Fragment constructor
  6. 近似线性依靠matlab_不要仅仅依靠单元测试
  7. 光纤交换机的配置 光纤交换机的由来是什么
  8. mysql分布式一致性hash_分布式哈希一致性
  9. eclipse中folder、source folder和package的区别
  10. Java-排序算法-冒泡排序
  11. C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录
  12. 广度优先搜索_快速入门广度优先搜索
  13. 添加删除桌面用户ubuntu10.10
  14. 从零开始学前端:函数 --- 今天你学习了吗?(JS:Day8)
  15. 如何成功清理重建CloudStack环境
  16. java中的冒泡排序和交换排序
  17. 惊呆了!监控也会骗人了,视频对象一秒删除
  18. 奉劝各位应届毕业生,该打造你的技术影响力了,只会抄代码,该怎么办?
  19. 转:什么都没有反而可以做得更好
  20. 批量爬取网站图片-“优美库”篇(爬虫实战)

热门文章

  1. auto_ptr个人用
  2. 使用 google_breakpad 分析 Electron 崩溃日志文件
  3. 判断是否为数组的 JavaScript 方法总结
  4. 关于vmware中的centos无法ping通宿主机或者是外网的解决思路
  5. LeetCode:通过递归方法打印杨辉三角形
  6. 北大AI第八讲 李航 自然语言处理的现实与挑战--李航 VS 雷鸣 对话全文
  7. android uri转file_Android世界:ContentProvider使用
  8. python range倒序_Python算法学习之堆和堆排序
  9. 树莓派官方支持的Tensorflow版本
  10. 讨论简书留言界面的设计