Java基础语法要点

Posted 朱*力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础语法要点相关的知识,希望对你有一定的参考价值。

  • 1、Java中byte、short、int、long的取值范围

    byte:[-128,127]

    short:[-32768,32767]

    int:[-2147483648,2147483647]

    long:[-9223372036854775808,9223372036854775807]

 

  • 2、声明long类型的变量,在数字后面加大写L 
    long lNum = 999999999L;

 

  • 3、Java在拼接字符串时,+和StringBuilder(这个类只在J2SE5及以上版本提供,以前的版本使用StringBuffer类)的区别

    我们看如下的代码

    public static void main(String[] args){
          String s = "abc";
          String ss = "ok" + s + "xyz" + 5;
          System.out.println(ss);
      }

    将上述代码反编译后的代码

    public static void main(String args[]){
        String s = "abc";
        //    0    0:ldc1            #16  <String "abc">
        //    1    2:astore_1        
        String ss = (new StringBuilder("ok")).append(s).append("xyz").append(5).toString();
        //    2    3:new             #18  <Class StringBuilder>
        //    3    6:dup             
        //    4    7:ldc1            #20  <String "ok">
        //    5    9:invokespecial   #22  <Method void StringBuilder(String)>
        //    6   12:aload_1         
        //    7   13:invokevirtual   #25  <Method StringBuilder StringBuilder.append(String)>
        //   8   16:ldc1            #29  <String "xyz">
        //    9   18:invokevirtual   #25  <Method StringBuilder StringBuilder.append(String)>
        //   10   21:iconst_5        
        //   11   22:invokevirtual   #31  <Method StringBuilder StringBuilder.append(int)>
        //   12   25:invokevirtual   #34  <Method String StringBuilder.toString()>
        //   13   28:astore_2        
        System.out.println(ss);
        //   14   29:getstatic       #38  <Field PrintStream System.out>
        //   15   32:aload_2         
        //   16   33:invokevirtual   #44  <Method void PrintStream.println(String)>
        //   17   36:return          
    }

    从上面的代码很容易看出,虽然在源程序中使用了"+",但在编译时仍然将"+"转换成StringBuilder。因此,我们可以得出结论,在Java中无论使用何种方式进行字符串连接,实际上都使用的是StringBuilder。

    因此,如果在代码中大量使用+拼接字符串,就会创建很多的StringBuilder的对象,必然会使性能降低。所以在需要大量拼接字符串的时候使用StringBuilder代替+。

 

  • 4、Java中比较两个字符串是否相等要使用equals而不能使用==,==是用于比较两个引用是否是同一个对象。

 

以上是关于Java基础语法要点的主要内容,如果未能解决你的问题,请参考以下文章

JSP 基础语法

JSP开发中的基础语法

Pytho基础要点:7种复合语句在编写时要遵循的语法风格

java基础循环语句

3.ruby语法基础,全部变量,实例变量,类变量,局部变量的使用和注意的要点

Java 基础语法方法的使用