Object
在Java中,object是所有类的父类,而可以理解为是所有类的基础类,是所有类都是在这个类的基础上发散构建出来的,所以每个类都有object所拥有的一些公共方法。
object没有父类,object就是最基础的类
hashcode
当对同一个对象使用‘hashcode’方法时,其‘hashcode’的值是一样的。
直接输出一类,那么会显示这个类的地址,可以使用如下替代
假设我的类对象名字为 ‘person24’
System.out.println(person24);
System.out.println(person24.getClass().getName()+"@"+
Integer.toHexString(person24.hashCode()));
Scanner类
翻译过来为扫描仪类。
默认关联输入为键盘输入,测试用。
三个例子和注释如下
Scanner reader = new Scanner(System.in); //默认到键盘
System.out.println("ssss:");
int i = reader.nextInt();
Scanner reader2 = new Scanner("hello."); //读入字符串 char 代替
System.out.println(reader2.next());
//扫描文件
Scanner reader3 = new Scanner(new File("scanner.txt"));
//文件放到项目文件夹下与包同等级别,放到包内不行
System.out.println(reader3.next());
scanner中的几个方法的实例
// Scanner reader = new Scanner(System.in);
// System.out.println("Start test Scanner: ");
// System.out.println(reader.nextByte()); //先执行输入,后输出语句
// System.out.println(reader.nextShort());
// System.out.println(reader.nextInt());
// System.out.println(reader.nextLong());
// System.out.println(reader.nextFloat());
// System.out.println(reader.nextDouble());
// System.out.println(reader.nextBoolean());
// System.out.println(reader.next());
// System.out.println(reader.next()); //读入分隔开的字符
// System.out.println(reader.next());
// System.out.println(reader.next()); //输入四个字段后nextline也可以获取
// System.out.println(reader.nextLine());
String类
字符串类型,用于存储一些字符串的类。
需要注意的是,使用 + 拼接字符串的时候,产生的是一个新的String对象。
简单的例子
String s1 = new String("aaccacac"); //创建
System.out.println(s1+"mkmk"); //拼接后的结果
再来看几个
//输出的是ASC码值对应的字符
String s2 = new String(new byte[] {48,65,66,67,68,69,126});
System.out.println(s2);
//从下标第几个开始,从开始的地方
//到第几个为止转为String
String s3 = new String(new byte[{48,65,66,67,68,69,127},2,3);
System.out.println(s3);
String s4 = new String(new char[] {'a','b','c','d','e'});
System.out.println(s4);
//String中的这种使用方法在文件中常用,从下标2开始一共取三个
String s5 = new String(new char[] {'a','b','c','d','e'},2,3);
System.out.println(s5);
需要注意的点
== 用于基本类型的比较 。其他的如类,引用类型用 equals 比较
来个简单的密码验证程序
//用户名 密码判断
int cishu = 3;
Scanner reader = new Scanner(System.in);
while(true){ //或使用for 定义循环三次 符合则跳出
System.out.print("Input your account: ");
String account = reader.next();
System.out.print("Input your password: ");
int password = reader.nextInt(); //建议换用字符串类型 采用next()
if (account.equals("admin") && password == 123) {
System.out.println("successfuly login.");
break;
}else {
cishu--;
if (cishu == 2) {
System.out.println("you have two times left.");
continue;
}
if (cishu == 1) {
System.out.println("you have the last chance.");
continue;
}else {
System.out.println("you have no chance.");
break;
}
}
}