随笔分类 -  Java

Scanner类nextLine()和next()的区别和使用方法
摘要:next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。 next()查找并返回来自此扫描器的下一个完整 阅读全文

posted @ 2017-08-18 11:05 volcan1 阅读(241) 评论(0) 推荐(0)

值传递和引用传递(不是引用类型的传递)的区别
摘要:值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影 阅读全文

posted @ 2017-06-13 20:48 volcan1 阅读(13749) 评论(0) 推荐(1)

字符串一旦定义,就表示开辟好了指定的空间,其内容就不可改变
摘要:结果为HelloWorld,运行结果显示str的内容改变了!?事实并非如此! 由上图可以发现,str的内容未变,改变的只是str的引用,并且会产生字符串垃圾。 因此为避免大量垃圾,不应不断修改字符串内容。 阅读全文

posted @ 2017-06-12 16:43 volcan1 阅读(309) 评论(0) 推荐(0)

String类的直接赋值和构造方法赋值的区别
摘要:直接赋值:只开辟一块堆内存空间,而且保存的字符串可以自动入池,以供其他内容相同的字符串对象使用。 构造方法:开辟两块堆内存空间,有一块成为垃圾,并且字符串的内容无法自动入池,但是可以使用String类中的intern()方法手工入池。 String str = new String("Hello") 阅读全文

posted @ 2017-06-12 15:45 volcan1 阅读(221) 评论(0) 推荐(0)

字符串常量是String类的匿名对象
摘要:判断某一个用户输入的字符串内容是否等于指定的字符串内容,若采用 字符串对象.equals("内容") 的方式,如果用户没有输入字符串,会出现NullPointerException警告,可以采用 "字符串".equals(字符串对象) 解决这个问题。 阅读全文

posted @ 2017-06-12 15:37 volcan1 阅读(534) 评论(0) 推荐(0)

Integer和int的区别(转)
摘要:为什么i4和i5比是true,而i6和i7比是false呢?关键就是看valueOf()函数了,这个函数对于-128到127之间的数,会进行缓存, Integer i5 = 127时,会将127进行缓存,下次再写Integer i6 = 127时,就会直接从缓存中取,就不会new了。所以i4和i5比 阅读全文

posted @ 2017-06-10 21:18 volcan1 阅读(537) 评论(0) 推荐(0)

final的好处
摘要:1.final关键字提高了性能。JVM和Java应用都会缓存final变量。 2.final变量可以安全的在多线程下进行共享,而不需要额外的同步开销。 3.使用final关键字,JVM会对方法,变量和类进行优化。 阅读全文

posted @ 2017-06-10 10:40 volcan1 阅读(284) 评论(0) 推荐(0)

数组引用传递
摘要:在java中,所有对象都是通过引用进行操作的。而数组也是一种对象,当把数组作为参数传递给方法时,传递的实际上就是数组对象的引用。在方法中对数组的所有操作,都会映射到原数组中,这也是java面向对象的一个重要特征。而所谓的"引用",就是java对象在堆内存的地址赋给了多个"栈内存"的变量。 阅读全文

posted @ 2017-06-07 09:52 volcan1 阅读(1829) 评论(0) 推荐(0)

构造代码块
摘要:构造代码块就是在类中直接定义的,且没有任何前缀,后缀以及修饰符的代码块。构造代码块和构造方法一样是在对象生成时被调用,但是它的调用时机比构造方法还要早! 对象初始化不用全部都放在构造代码块中。实际上,构造代码块中的初始化是一个类的所有构造方法都共有的"交集"部分,具有个性化特征的初始化还是要放在各自 阅读全文

posted @ 2017-06-06 21:39 volcan1 阅读(200) 评论(0) 推荐(0)

==和equals()的不同点
摘要:两者都可以用于对象的比较。"=="用于比较两个对象的内存地址值(引用值)是否相等,equals()方法用于比较两个对象的内容是否一致。 String str1 = new String("java"); String str2 = new String("java"); String str3 = 阅读全文

posted @ 2017-06-06 10:05 volcan1 阅读(113) 评论(0) 推荐(0)

System.out.println()的含义
摘要:system是java.lang包中定义的一个内置类,在该类中定义了一个静态对象out out是PrintStream类的实例对象 println是PrintStream类中的方法 阅读全文

posted @ 2017-06-06 01:03 volcan1 阅读(558) 评论(0) 推荐(0)

JAVA的引用类型变量(C/C++中叫指针)
摘要:任何变量只要存在内存中,就需要有一个唯一的编号标识这个变量在内存中的位置,而这个唯一的内存编号就是内存地址,内存地址就是所谓的指针! 阅读全文

posted @ 2017-06-05 20:30 volcan1 阅读(262) 评论(0) 推荐(0)

Java面试题
摘要:1.static的理解!为啥静态方法中不能有this,为啥重写的方法不能为静态方法?and so on. 2.this()和super()为啥放在构造函数的第一行? 3.Override和Overload的区别? 阅读全文

posted @ 2017-06-05 11:54 volcan1 阅读(124) 评论(0) 推荐(0)

Java中的super关键字何时使用
摘要:子类的构造函数中不是必须使用super,在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造. 如果父类的构造函数是无 阅读全文

posted @ 2017-06-05 10:08 volcan1 阅读(4053) 评论(0) 推荐(1)

导航