char类型的默认值是’\u0000’,表现成一个空格.
    boolean 类型的默认值是false.

    方法定义格式:
    public static void main (String[]args){…}
    public - 修饰符
    viod - 返回值类型
    main - 方法名 随便起名字
    ( ) - 参数类型
    { } - 方法体
    通过方法名 + 参数列表 的方式调用方法

    For循环
    外层循环执行1次 (控制轮数)
    内层循环执行多次(每1轮都会执行多次)
    外层控制行
    内层控制列

    制表符(Tab)”\t”

    ==和equals的区别和联系
    “==”是关系运算符,equals()是方法,同时他们的结果都返回布尔值;
    “==”使用情况如下:
    a)基本类型,比较的是值
    b)引用类型,比较的是地址
    c)不能比较没有父子关系的两个对象
    equals()方法使用如下:
    a)系统类一般已经覆盖了equals(),比较的是内容。
    b)用户自定义类如果没有覆盖equals(),将调用父类的equals(比如
    是Object),而Object的equals的比较是地址(return(this==obj);)
    c)用户自定义类需要覆盖父类的equals()
    注意:Object的==和equals比较的都是地址,作用相同

    成员变量用static修饰和不用static修饰有什么区别?
    1、两个变量的生命周期不同。
    成员变量随着对象的创建而存在,随着对象的被回收而释放。
    静态变量随着类的加载而存在,随着类的消失而消失。
    2、调用方式不同。成员变量只能被对象调用。
    成员变量只能被对象调用。
    成员变量只能被对象调用。
    类名调用:Person.country
    3、别名不同。
    成员变量也称为实例变量。
    静态变量称为类变量。
    4、数据存储位置不同。
    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据.
    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数