Java 基础知识 8数据类型 equal 与==区别---学而时习之不亦说乎

来源:互联网 发布:安卓软件收费 编辑:程序博客网 时间:2024/05/01 10:59

Java 基础知识

1)熟悉Java中各种变量类型

八种数据类型

Int  4个字节 32  long  8个字节 54  short 2个字节 16

 float   4个字节  double 8个字节

 byte    8 -128 - 127

 char  2个字节 unicode编码 16

 Boolean 1 true/false


boolean(布尔型)     byte(字节型)     char(字节型)     short(短整型)    int(整型)       long(长整型)    float(浮点型)    double(双精度浮点型) 
对应的封装类分别是:
Boolean                   Byte                   Character          Short                 Integer        Long                 Float                 Double

2)java 中switch运用

switch 语句的格式: switch ( 整型或字符型变量 ){     case 变量可能值1 :          分支一;         break;   case 变量可能值2 :          分支二;         break;   case 变量可能值3 :          分支三;         break;   ...   default :       最后分支;} 在 switch 的语法里,我们要学到4个关键字:switch、case 、break、default。

switch 使用注意:

在 Java 7之前,switch 只能支持 byte、short、char、int或者其对应的封装类以及 Enum 类型。在 Java 7中,String支持被加上了。

在java1.6 中要使用string的话, 需要使用枚举


.3)Object有哪些公用方法?

线程通讯的有三个 wait()  notify() notifyAll()反射什么的有用到class   getClass()  常用的打印一下对象各个字段属性 可以复写 toSTring()hashCode() equals()  clone()对象回收finalize()

  注意  equals() 和 == 的区别:

 "=="操作符的作用1、用于基本数据类型的比较2、判断引用是否指向堆内存的同一块地址。
equals的作用:用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型

第一种情况:

如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。

如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。


       String a = "java";       String b = "java";       System.out.println(a.equals(b));//true       System.out.println(a==b);//true
第二种情况:

对象不同, 内容相同

       String a = new String("java");       String b = new String("java");       System.out.println(a.equals(b));//true       System.out.println(a==b);//false
第三种情况:

同一对象,内容相同 ,对象相同

       String a = new String("java");       String b = a;       System.out.println(a.equals(b));//true       System.out.println(a==b);//true

4) Java时间

java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMillis());因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。。

在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候或许你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如getTime()。为了获取这个时间戳,很多人也喜欢使用new Date().getTime()去获取,咋一看没什么问题,但其实没这个必要。

     其实看一下java的源码就知道了:

public Date() { this(System.currentTimeMillis()); }

已经很明显了,new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。况且很多人喜欢在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。

5)  Java的4种引用

请看博客:点击打开链接

6)









0 0
原创粉丝点击