javase基础

Java中一共有8种基本类型,4种整型,2种浮点类型,1种用于表示Unicode编码的单元的字符类型char,和boolean用于表示真值。express

4种整型 int 4字节short 2字节long 8字节 byte 1字节,2种浮点类型,float 4字节,double 8字节,另Java种没有任何无符号类型。Float类型的数值后缀F,没有后缀F的浮点数值默认为double类型,也能够在浮点数值后面添加D。安全

一个正整数除以0的结果为正无穷大,计算0/0或者负数的平方根结果为NaN。多线程

常量Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和Double.NaN,分别表示上述3个值,注意,不能检测一个特定值是否等于Double.NaN:app

       if(x == Double.NaN) // is  never trueui

全部”非数值”的值都认为是不相同的。然而可使用Double.isNaN方法:编码

       If(Double.isNaN(x))//check whether x is “not a number”线程

       浮点数值不适用于禁止出现舍入偏差的金融计算中,例如,命令System.out.println(2.0 – 1.1) 将打印出0.89999999999,而不是0.9,主要缘由是浮点数值采用二进制系统表示,而在二进制系统中没法精确的表示分数1/10。code

       若是须要在数值计算中不含有任何舍入偏差,就应该使用BigDecimal类。对象

       在声明变量时,除了不能讲变量名命名为Java保留字,能够在一行中声明多个变量,ci

int i,j //both are integers

不过不提倡这种风格,逐一声明每个变量能够提升程序的可读性。另在Java中,不区分变量的声明与定义。

       关键字final表示这个变量只能被复制一次,一旦被复制以后,就不能再次更改了,习惯上常量名使用大写。在Java中,常常但愿某一个能够在一个类中的多个方法使用,一般将这些常量称为类常量。可使用关键字static final设置一个类常量。须要注意的是,类常量的定义位于main方法的外部,所以,在同一个类的其余方法中也可使用这个常量,并且,若是一个常量被声明public,那么其余类的方法也能够是使用一个常量。

       const是Java保留的关键字,但目前并无使用,在Java中,必须使用final定义常量。

Java支持三元操做?: 在不少时候,这个操做很是有用。表达式

condition ?expression1 : expresssion2

当条件condition为真时计算第一个表达式,不然计算第2个表达式。例如:

x < y ? x : y

返回x 和y中减少的那个值。

 

构建字符串

有些时候,须要由较短的字符串构建字符串,来自文件中的单词,采用字符串链接的方式达到此目的效率比较低,每次链接字符串都会构建一个新的String 对象,既耗时,有浪费空间,使用StringBuilder类就能够避免这个问题的发生。

若是须要用许多小段的字符串构建一个字符串,那么使用StringBuilder更高效,构建一个空的字符构建器:

StringBuilder builder = new StringBuilder();

用append方法添内容

              Builder.append(“str”);

用他的toString方法,能够获得一个String 对象,其中包含了构造器中的字符序列。

       String str = builder.toString();

StringBuilder类的前身是StringBuffer,其效率略微有些低,但容许采用多线程的方式执行添加或删除字符的操做。若是全部字符串都在一个单线程编辑,则应该使用StringBuilder替代它,这两个类的API是相同的。另外,StringBuilder:线程非安全的StringBuffer:线程安全的。关于这两个类的比较有不少文章都写的很清楚,这里就很少重复。
相关文章
相关标签/搜索