java----基础篇:object类,Scanner类,String类StringBuffer类及基本数据类型包装类

在这里插入图片描述一:Object类

equals()和==的区别:==是逻辑运算符,既可以比较基本数据类型,也可以比较引用数据类型(比较的是地址值),equals()只能比较引用数据类型,默认比较的是两个对象的地址值
public class ObjectDemo extends Object {
    public static void main(String[] args) {
        Object obj = new Object();
        Object obj2 = new Object();
        System.out.println(obj);
        System.out.println(obj2);
        System.out.println(obj == obj2);
        boolean b = obj.equals(obj2);
        System.out.println(b);
    }
}

运行结果:

java.lang.Object@1540e19d
java.lang.Object@677327b6
false
false

Process finished with exit code 0

注释:==可以比较基本数据类型,也可以比较引用数据类型(比较的是地址值
),equals()只能比较引用数据类型,重写后比较的是内容。

二,Scanner类

nextXXX() 获取各种类型的数据
hasNextxxx() 判断是否录入的是该种数据

例:nextLine()和next()的区别

public class demo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //录入字符串 nextLine();
        //next() 也能录入字符串
        System.out.println("请输入一个整数");
        int i = sc.nextInt();
        System.out.println(i);
        System.out.println("请输入一段字符串");
        String line = sc.nextLine(); //这个方法会把回车换行或者空格都会录入进去
        System.out.println(line);
    }
}

运行结果:

请输入一个整数
123
123
请输入一段字符串


Process finished with exit code 0

注释:先使用next()录入一个整数,再用nextLine()录入一个字符串时键盘录入会把回车换行符当作字符串录入,当使用next()时就没有这种情况,使用时视情况而定。

三,String类

String类的特点是一旦创建就不能被改变,因为他存储于方法区的常量池当中 

例:

public class demo3 {
    public static void main(String[] args) {
        String s = "hello";
        s = "world" + "java";
        System.out.println("-----------------");
        System.out.println(s);
       String s1="abc";
       String s2="abc";
       System.out.println(s1==s2);
        System.out.println(s1.equals(s2));
    }
}

运行结果:

worldjava
true
true

Process finished with exit code 0
注释:
     1.既然String类的值一被创建就不能改变,那为什么s的值为worldJava而不是java呢?因为他改变的只是引用即地址值,而非内容
     2.为什么S1和S2的内容相同而且地址值也相同呢?这是常量池的优化,他在存储时会先查找是否有该内容,如果有则直接将地址值赋予而不存储,如果没有才在常量池中划分区域去存储,这样的好处是大大节省了存储空间,避免了资源的浪费。
常用类有很多的功能,也有很多的方法,这需要我们一一的去练习来熟练掌握,此处就不一一列举了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值