皮卡丘的皮的Javase 0726---(==与equals,String类,Scanner类)

Javase 0724

常用类续讲—(==与equals,String类,Scanner类及其它)

API applicattion programming Interface 
Java  API :
      就是Java提供的类,这些类将底层实现封装起来
常见对象:object 常用类,是所有类的顶层父类,所有的类都是直接或简介继承自他
       (1):hashcode
       public int hashcode()  返回该对象的哈希码值,默认情况下该方法会根据对象的地址计算,当然,不同对象的地址不相同,可以理解为逻辑地址值
       (2):getclass 
       public final class getclass() 返回运行时类,可以获取对象的真实类的全名称
       (3):toString  
       就是打印该对象地址值,类名+@+十六进制 hashcode 以字符串形式返回,所以可以在sout()返回地址,加toString然后 override,同样的如果不满意可以自己重写
       (4):Scanner 默认重写父类的toString
       (5):equals  默认比较两个对象的地址值,是否相同,但是可以根据需求重写,比较两个对象的成员变量是否相同。举例
         @Override
         public boolean equals(Object obj) {
         if (this==obj){
           return true;
        }
        if(!obj instanceof Student){
           return false;
        }
        student stu =(student) obj;
           return this.age==obj.age&&this.name.equals(stu.name);
    }

== 与 equals 的区别
==运算符比的是值,引用类型比地址值是否相等
equals方法,比较引用类型,默认比较地址值,可以重写,自定义类会比较成员变量值是否相等
       (6):clone  一个接口中没有任何抽象方法,我们称之为标记接口,目的是给一个类打一个标记,让JVM支持,没有任何方法
               浅克隆:克隆一个对象是,如果克隆对象维护了另外对象时,只克隆这另外一个对象的地址,不克隆对象本身,也不会掉调用构造方法
               深克隆:留存
Scanner 输入和判断
Scanner sc = new Scanner(System.in);
        if(sc.hasNextInt()){
            int i=sc.nextInt();
        }else{
            System.out.println("error");
        }
当你先录入整数,使用nextline();会发现字符串没让你录入,原因就是回车换行默认为字符串,解决方法:
   (1)可以在录字符串时new一个新对象
   (2)可以使用next()来录入对象 String s=sc.next(); String 类 字符串就是由一个或多个字符组成的数列 
判断 equals  boolean a = "abc".equals("abc");
    equalsIgnoreCase 不区分大小写 
    isempty 
    startWith()   张三姓不姓张    endsWith()
    contains()  张三里有没有三     
举例:三次登录
    public class demo4 {
    public static void main(String[] args) {
       String name="张三";
       String password ="123456";
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入姓名:");
        for (int i = 2; i > 0; i--) {
            String s1=sc.next();
            if(s1.equals(name)){
                System.out.println("请输入密码");
                String s2=sc.next();
                if(s2.equals(password)){
                    System.out.println("输入正确");
                }else{
                    System.out.println("输入错误,还剩"+i+"次机会");
                }
            }else{
                System.out.println("输入错误,还剩"+i+"次机会");
            }
        }
    }
}
String 类的获取功能:
    public int length():				获取字符串的长度。
	public char charAt(int index):		获取指定索引位置的字符
	public int indexOf(int ch):			返回指定字符在此字符串中第一次出现处的索引。
	public int indexOf(String str):		返回指定字符串在此字符串中第一次出现处的索引。
	public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
	public int indexOf(String str,int fromIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
	public String substring(int start):	   从指定位置开始截取字符串,默认到末尾。
	public String substring(int start,int end):	从指定位置开始到指定位置结束截取字符串。

String 类的转换功能:
    public byte[] getBytes():			把字符串转换为字节数组。
	public char[] toCharArray():		把字符串转换为字符数组。
	public static String valueOf(char[] chs):			
    把字符数组转成字符串。
	public static String valueOf(int i):int类型的数据转成字符串。
		注意:String类的valueOf方法可以把任意类型的数据转成字符串。
	public String toLowerCase():		把字符串转成小写。
	public String toUpperCase():		把字符串转成大写。
	public String concat(String str):   把字符串拼接。

String 类的其他功能
    public String replace(char old,char new)			
    将指定字符进行互换
	public String replace(String old,String new)		
    将指定字符串进行互换
	public String trim()							
    去除两端空格
  
String 按字典顺序比较两个字符串
	public int compareTo(String str)    
    会对照ASCII 码表,从第一个字母进行减法运算 返回的就是这个减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果
	public int compareToIgnoreCase(String str) 
    忽略大小写的比较    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值