【Java】学习笔记一

来源:互联网 发布:java源码中的设计模式 编辑:程序博客网 时间:2024/06/03 19:56

1.Java中,Set<E> add()不能加基本类型,只能添加对象;有返回值,如果集合中已有重复数据,添加失败,返回false.

2.对于数组,null和长度为0的空数组是不一样的。

        if (nums1 == null || nums2 == null)
            return null;
        if (nums1.length == 0 || nums2.length == 0){
            return nums1.length == 0?nums1:nums2;
        }

3.一般操作符只能操作基本类型,除了‘=’,‘==’,‘!=’,它们能操作所有对象。除此以外,Sring类支持‘+’和‘+=’。此时‘+’意味着“字符串连接”,如果必要,它还执行“字符串转换”。当编译器观察到+后面是非String类型时,会尝试将之转换为String.

public class Test {    static char c;//类变量有默认值,局部变量没有    static int i = 1;    public static void main(String[] args) {        //System.getProperties().list(System.out);        //System.out.println(System.getProperty("user.name"));        //System.out.println(System.getProperty("java.library.path"));        System.out.println(Integer.valueOf(c));//        System.out.println("1"+i);//字符串连接,将+后面的i装换成字符串,结果为11        System.out.println(1+i);//数值运算后再转换成字符串,结果为2        String s = "1234";        System.out.println(Integer.parseInt(s));        System.out.println(Integer.valueOf(s));    }}

4."="为对象赋值时,真正操作的是对象的引用,实际是将引用从一个地方复制到另一个地方。一个更改另一个也更改。

5.比较对象要用equals()方法,Java给的类里都已重写,比较内容而不是引用,自己定义的类则需要重写该方法,否则还是比较引用。

public static void show(){    Dog dog1 = new Dog();//Dog类是自定义类    Dog d = dog1;//    System.out.println("d == dog1:" +(d == dog1));//true。上一句是引用赋值,所以==也成立。    System.out.println("d.equals(dog1):"+d.equals(dog1));//true}
6.短路:&& 实现短路功能。(A && B),当能确定A为false时,不会再执行B。

7.编码风格:类名:所有单词首字母大写;其他(变量、方法、引用名称),第一个单词首字母小写,其余大写。

8.直接常量:3L(long),4f(float),5d(double),08(八进制),0x7(十六进制)。前面字母可以大小写。没有二进制直接常量表示法,可以以二进制形式显示结果。Integer.toBinaryString()

9.运算时,操作数都比Int小,则结果转化为int;有比int大的,结果类型就是大的类型。

10.编译器在类方法中暗自把“所操作对象的引用”作为第一个参数传给方噶,在方法内部用this可以得到。

11.Array.toString(),产生一维数组的可打印版本:

int[] a;

sout(Array.toString(a));



0 0