zoukankan      html  css  js  c++  java
  • CoreJava Reading Note(3:Fundamental structure)

    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

  • 相关阅读:
    Java二维数组
    Java实现冒泡排序
    python类简记
    LaTeX:论文Instruction最后一段的章节引用
    在Adobe IIIustator中加入数学公式——配合MathType使用
    org.springframework.web.bind.annotation不存在
    xshell5 下载安装
    MultipartFile解析Excel
    开源项目环境搭建
    学习路线
  • 原文地址:https://www.cnblogs.com/Miromiaosang/p/8444368.html
Copyright © 2011-2022 走看看