装拆箱


Sting类









StringBuffer 类


Arrays类

public class A04 {
   
	public static void main(String[] args) {
   
		//参数数组
		Book[] books = new Book[4];
		books[0] = new Book("红楼梦", 100);
		books[1] = new Book("金瓶梅新", 90);
		books[2] = new Book("青年文摘20年", 5);
		books[3] = new Book("java从入门到放弃~", 300);
		
// (1)price从小到大
		Arrays.sort(books, new Comparator<Object>() {
   
			@Override
			public int compare(Object o1, Object o2) {
   
				Book book1 = (Book) o1;
				Book book2 = (Book) o2;
// int priceVal = book1.getPrice() - book2.getPrice(); //price从小到大
// int priceVal = book2.getPrice() - book1.getPrice(); //price从大到小
				int priceVal = book1.getName().length() - book2.getName().length();//书名长度从小到大
				//进行转换(如果发现输出的结果不一致,正负数交换就可以了)
				if(priceVal > 0){
   
					return 1;
				}else if(priceVal < 0){
   
					return -1;
				}else{
   
					return 0;
				}
			}
		});
				
		System.out.println(Arrays.toString(books));
	}
}

class Book{
   
	private String name;
	private int price;
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	public int getPrice() {
   
		return price;
	}
	public void setPrice(int price) {
   
		this.price = price;
	}
	
	public Book(String name, int price) {
   
		super();
		this.name = name;
		this.price = price;
	}
	
	@Override
	public String toString() {
   
		return "Book [name=" + name + ", price=" + price + "]" + "\n";
	}			
}

作业

public class A05 {
   
	public static String reverse(String str, int start, int end){
   	
		//对输入的参数做一个验证
		//重要的编程技巧!!!!
		//(1)写出正确的情况,然后取反即可
		if(!(str != null && start >= 0 && end > start && end < str.length())){
   
			throw new RuntimeException("参数不正确"); //throw new 运行时异常
		}
				
		char[] chars = str.toCharArray();
		for(int i = start, j = end; i < j; i++,j--){
   
			char temp = chars[i];
			chars[i] =chars[j];
			chars[j] = temp;
		}
		return new String(chars);
		
	}
	public static void main(String[] args) {
   
		try {
   
			System.out.println(A05.reverse("abcdef", 1, 42));
		} catch (Exception e) {
   
			System.out.println(e.getMessage());
		}
	}
}

public class A06 {
   
	public static void main(String[] args) {
   

		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String userName = scanner.next();
		System.out.println("请输入密码:");
		String password = scanner.next();
		System.out.println("请输入邮箱:");
		String email = scanner.next();
	
		try {
   
			userRegister(userName, password, email);
			System.out.println("注册成功!");
		} catch (Exception e) {
   
			System.out.println(e.getMessage());
		}
		scanner.close();
	}
	
	public static void userRegister(String userName, String password, String email){
   
		//校验输入是否正确
		if(!(userName.length() >=2 && userName.length() <= 4)){
   
			throw new RuntimeException("用户名长度不正确(2-4)");
		}
		if(!(password.length() == 6 && isDigital(password))){
   
			throw new RuntimeException("密码不正确(6位数字)");
		}
		
		int i = email.indexOf('@');
		int j = email.indexOf('.');
		if(!(i > 0 && j < email.length()-1 && i < j)){
   
			throw new RuntimeException("邮箱不正确,邮箱中包含@和. [@在.前]");
		}
	}
	
	//判断 密码是否全部是数字字符
	public static boolean isDigital(String str){
   
		// 转换为字符数组
		char[] chars = str.toCharArray();
		for(int i = 0; i < chars.length; i++){
   
			if(chars[i] < '0' || chars[i] > '9'){
   
				return false;
			}
		}
		return true;		
	}
}

public class A07 {
   
	public static void main(String[] args) {
   
		System.out.println(printName("Yu Er Lan"));
	}
	
	public static String printName(String str){
   
		if(str == null){
   
			System.out.println("姓名不能为空");
		}
		String[] names = str.split(" "); //对字符串进行分割(返回的是数组)
		if(names.length != 3){
   
			System.out.println("姓名格式不正确: XX XX XX");
		}
		
		String format = String.format("%s,%s .%c", names[2],names[0],names[1].toUpperCase().charAt(0));
		
		return format;		
	}
}

public class A08 {
   
	public static void main(String[] args) {
   
		judge("asAS12@#");
	}
	
	public static void judge(String str){
   
		if(str == null){
   
			System.out.println("字符串不能为空");
			return;
		}
		
		int numCount = 0;
		int lowerCount = 0;
		int upperCount = 0;
		int otherCount = 0;
		
		for(int i = 0 ; i < str.length(); i++){
   
			if(str.charAt(i) >= '0' && str.charAt(i) <= '9'){
   
				numCount++;
			}else if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z'){
   
				lowerCount++;
			}else if(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z'){
   
				upperCount++;
			}else{
   
				otherCount++;
			}
		}
		System.out.println("数字有:" +numCount + "个");
		System.out.println("小写字母有:" +lowerCount + "个");
		System.out.println("大写字母有:" +upperCount + "个");
		System.out.println("其他字符有:" +otherCount + "个");
	}
}


equals比较两个对象

  • 特殊的类:String, File,Data 值
  • 一般类:地址