Java常用类&字符串&异常处理

13.常用类
错题

1.有如下4条语句:()

有如下4条语句:()

Integer i01=59;
int i02=59;
Integer i03=Integer.valueOf(59);
Integer i04=new Integer(59);

以下输出结果为false的是:      [单选题]

您的回答:A 、System.out.println(i01==i02);

正确答案:

C、System.out.println(i03==i04);

2. Object类中的方法有哪些?分别是什么?

equals():判断两个对象的内容是否相等,此方法需要在子类重写。否则这个方法表示的意思是是否为同一个对象;
toString():将对象转成字符串;当调用System.out.println()时,会自动调用对象的此方法;
hashcode():哈希码;
getClass():返回当前对象的类对象;
clone():克隆出一个新对象;
finalize():垃圾回收前执行的方法;
wait():线程等待;
notify(),notifyAll():呼唤其它线程
【补充笔记】
1.某些类可以重写 toString 方法,改变默认的字符串形式,例如 String 类、 Date 类、一些集合类 println 方法默认调用打印对象的 toString 方法
2.两个对象的 equals 默认比较的是 == 也就是比较的是地址 ,在子类中可以通过重写 equals 方法 描述子类的对象比较什么,例如 ,String 类就重写了 equals 方法,比较的是两个字符串的内容是否相同
3.当垃圾回收器要回收一个对象时,调用对象的 fifinalize 方法完成回收,注意,这个方法时由垃圾
回收器自动调用的,而程序员主动调用这个方法,没有作用。 程序员可以重写 fifinalize 方法,在回收对象时要 执行的代码可以写在重写的方法中

3.equals的作用是什么?Object类的equals方法有哪些协定?

 equals()方法是比较两个对象的内容是否相同,此方法需要在子类中重写;如果不重写,比较的将是地址; 重写equals方法的要求
自反性:即a.equals(a)一定返回true;
对称性:即a.equals(b)与b.equals(a)的结果一定是相同的;
传递性:x.equlas(y)=true,y.equals(z)=true,那么x.equals(z)一定等于true;
一致性:对于x.equals(y)的结果,多次调用,结果相同;
对于一个对象与null比较,结果一定为false;

4.【编程题】有一个字符串,"那车水马龙的人世间,那样地来 那样地去,太匆忙"编程计算出最后一次出现"那"的位置。

public class Test {
    public static void main(String[] args) {
        String str = "那车水马龙的人世间,那样地来 那样地去,太匆忙";
        int ch = str.lastIndexOf("那");
        System.out.println(ch);
    }
}

5.

【编程题】判断输入的字符串是否是 .java 结束,方法如下:

public boolean isJavaFile(String str);

提示:public boolean endsWith(String suffix) 

public class Test5 {
	public static boolean isJavaFile(String str) {
		return str.endsWith(".java");
	}
	public static void main(String[] args) {
		System.out.println(Test5.isJavaFile("Hello.tet.mp3.java"));
	}
}

6. 定义一个方法,根据身份证号来获得性别,方法的定义如下

public String getSex(String idcard);

例如;
getSex(“230101198912112337”); 此时返回的将是"男";
getSex(“230101198912112349”); 此时返回的将是"女";

public class Test6 {
	public static String getSex(String idcard) {
		String s = idcard.substring(idcard.length()-2,idcard.length()-1);
		if((Integer.parseInt(s)&1)==0) {
			return "女";
		}
		return "男";
	}
	public static void main(String[] args) {
		System.out.println(Test6.getSex("230101198912112307"));
	}
}

7.有如下格式的字符串name-age-sex-address,解析出姓名,年龄等信息。
例如:张三丰-19-男-哈尔滨市南岗区

public class Test {
    public static void info(String str){
        String string[] = str.split("-");
         for (int i = 0;i<string.length;i++){
             System.out.println(string[i]);
         }
    }
 
    public static void main(String[] args) {
        String str = "name-age-sex-address";
        info(str);
 
    }
 
}
public class Person{
	private String name;
	private int age;
	private char sex;
	private String addr;
	public Person(String name, int age, char sex, String addr) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.addr = addr;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "姓名:"+name+",年龄:"+age;
	}
}

public class Test7 {
	public static void main(String[] args) {
		String str = "张三丰-19-男-哈尔滨市南岗区东方新天地";
		String[] strs = str.split("-");
		Person p = new Person(strs[0],Integer.parseInt(strs[1]),strs[2].charAt(0),strs[3]);
		System.out.println(p);
	}
}

笔记

API

object类(见第2题)

Math类(略)

包装类
Java 为八个基本类型,提供了对应的八个包装类, 每个包装类中封装了对应的一个基本类型属性
八个包装类: Byte Short Integer Long Float Double Character Boolean
Integer 类的使用
Integer 类中封装了一个 int 属性,要创建一个 Integer 对象,一定要为对象的 int 属性指定一个 int
因此 Integer 类的构造器有两个 :
Integer(int value); 将 value 的值赋给 Integer 对象的 int 属性
Integer(String value); 将value 字符串的值 解析 int 值 赋给 Integer 对象的 int 属性
int 值 包装成 Integer 对象
public static void main(String[] args) { 
//在JDK11不推荐 
Integer integer1 = new Integer(10); 
//在JDK11不推荐 
Integer integer2 = new Integer("10"); 
//推荐使用 
Integer integer3 = Integer.valueOf(10); 
Integer integer4 = Integer.getInteger("10");
 }

获得Integer对象的int

public static void main(String[] args) { 
    Integer integer = Integer.valueOf(10); 
    int i = integer.intValue(); 
    System.out.println(i); }
Integer 类中常用的方法:
1. parseInt(String str) 方法 :返回结果是 int ,将字符串解析为 int
public static void main(String[] args) {
 //将100字符串 解析 为int 
    System.out.println(Integer.parseInt("100")+1); }
2. toBinaryString toHexString toOctalString 方法:转为二进制、八进制、十六进制的字符串形式
自动拆装箱
自动将一个 int 包装为 Integer 对象(装箱),自动将一个 Integer 对象的 int 值获得(拆箱)

 

包装类都重写了 equals 方法,比较的是封装的值

下一篇 14.字符串   15.异常处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值