我是靠谱客的博主 冷酷钢笔,最近开发中收集的这篇文章主要介绍第九章:常用类(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. String 

    String 继承了Object类,但重写了toString   equals   hashCode  方法。

  2. StringBuffer/StringBuilder

    带有缓冲区的字符串。

    和String的区别在于能重新赋值。

    只能用append方法进行字符串的拼接,不能用“+”。

    StringBuffer线程是安全的,但运行速度慢,StringBuilder的线程是不安全的,所以运行速度更快。

  3. Math类:

    Object的子类,包含各种数字运算的方法,有两个常量,底数E和圆周率PI

  4. 包装类:

    8种基本类型数据对应8种类:

    byte:Byte。

    int:Integer。

    long:Long。

    double:Double。

    short:Short。

    char:Character。

    float:Float。

    boolean:Boolean。

    装箱/拆箱:

    装箱:将一个基本类型转为对应的包装类的过程(系统自动完成)。

    Integer ii=9;Integer  ii=new Integer(i);

    拆箱:将一个包装类的对象转换为对应的基本类型数据的数据。


    int i=ii;

  5. Date类:java.util包下。

    Date类为时间类,精确到毫秒。

    Date()创建的对象是当前计算机的时间。

    Date(long time)构造器创建的对象是一个相对时间,参照时间是1970年1月1日0点0分0秒,转换成中国时间会晚8小时。

  6. Calendar类:日历,万年历类。

    Calendar类是一个抽象类,只能用实例化的子类 GregorianCalendar类。

    setTimegatTime用于Date和Calendar的相互转换。

  7. 判断闰年的方法:  boolean  isLeapYear(int year)

  8. 增加时间的方法:  void add (int field,int x)

  9. 抽象时间格式化(按照一定的格转化时间)

    DateFormat 

SimpleDateFormat  a=new  SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss  E")

String xx=a.format(d);

年只能用y表示,同样:月M,日d,小时h,分钟m,秒s,星期E

parse

将一个指定格式的日期格式转换位Date对象。



作业1.

 创建一个Student类,该有String类型的学号stuNo,String类型的姓名,要求将该类所有的成员变量进行封装,并且提供公共的getter和setter方法,重写equals方法,只要学生的学号相同即返回true,重写toString()方法,toString方法返回值类似”姓名:张三  学号:201301 ”


public class Student {

private String stuNo;

private String name;

public boolean equals(Object obj) {

Student st=(Student)obj;

boolean b=this.stuNo.equals(st.stuNo);

return b;

}

public String toString() {

return "姓名:"+name+"  学号:"+stuNo;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public static void main(String[] args) {

Student zhangsan=new Student();

zhangsan.setStuNo("15091135");

zhangsan.setName("张三");

Student li4=new Student();

li4.setName("li4");

li4.setStuNo("15091133");

System.out.println(li4.equals(zhangsan));

System.out.println(zhangsan.toString());

System.out.println(li4.toString());

}


}


作业2:

 在注册时通常要验证用户名和密码是否合法,运用学习过的知识完成如下操作: 用户名长度大于等于6位,必须包含数字和英文字母密码长度大于等于8位,必须包含特殊符合_或者$,英文字母以及数字 以上两个条件同时成立注册才能成功 

  boolean isLetter(charch)字母 

  boolean isDigit(char ch)数字

 

import java.util.Scanner;


public class Registered {


public static void main(String[] args) {


boolean zzm = false, zsz = false, mzm = false, msz = false;

System.out.println("请输入您想用的用户名");

Scanner sc = new Scanner(System.in);

String id = sc.nextLine();

char[] a = id.toCharArray();


System.out.println("请输入您想用的密码");

Scanner sc2 = new Scanner(System.in);

String pswd = sc2.nextLine();

char[] b = pswd.toCharArray();


for (int i = 0; i < a.length; i++) {

zzm = Character.isLetter(a[i]);


if (zzm == true) {

break;

}

}

for (int i = 0; i < a.length; i++) {


zsz = Character.isDigit(a[i]);

if (zsz == true) {

break;

}

}

for (int i = 0; i < b.length; i++) {


mzm = Character.isLetter(b[i]);

if (mzm == true) {

break;

}

}

for (int i = 0; i < b.length; i++) {


msz = Character.isDigit(b[i]);

if (msz == true) {

break;

}

}

if(id.length()<6&&pswd.length()<8){

System.err.println("用户名长度大于等于6位,密码长度大于等于8位.");

}else if(zzm==true&&zsz==true&&mzm==true&&msz==true&&(pswd.indexOf("_")!=-1)|pswd.indexOf("$")!=-1){

System.out.println("恭喜,账号注册成功");

}else{

System.err.println("账号和密码必须包含数字和英文字母,密码必须包含特殊符合_或者$,英文字母以及数字 ");

}

}

}

最后

以上就是冷酷钢笔为你收集整理的第九章:常用类(二)的全部内容,希望文章能够帮你解决第九章:常用类(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部