package NeiBuLei; public class OuterClass { //成员变量 private String OuterName; //成员方法 public void display(){ class InnerClass { public void print(){ System.out.println("这是一个局部内部类方法!"); } } InnerClass innerClass = new InnerClass(); innerClass.print(); }
// 主方法 public static void main(String[] args) { OuterClass outerClass = new OuterClass(); outerClass.display(); } }
package Equals; public class Test01 { public static void main(String[] args) { //==: 如果判断的是引用类型,判断的是地址是否相等,即判断是不是同一个对象 A a = new A(); A b = a; A c = b; System.out.println(a==c);// ? true System.out.println(b==c);// true B obj = a; System.out.println(obj==c);// true } }
public boolean equals(Object anObject) { if (this == anObject) { // 如果是同一个对象(地址相同) returntrue; // 返回true } if (anObject instanceof String) { // 判断类型 String anotherString = (String)anObject; // 向下转型 int n = value.length; if (n == anotherString.value.length) { // 如果长度相同 char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { // 比较每一个字符 if (v1[i] != v2[i]) returnfalse; i++; } returntrue; // 如果两个字符串每一个字符都相同,则返回true } } returnfalse; } */
在看个例子
【小练习】
写出输出结果:
package Equals; public class EqualsTest01 { public static void main(String[] args) { Person p1 = new Person(); p1.name = "tom"; Person p2 = new Person(); p2.name = "tom"; System.out.println(p1 == p2);// 引用类型——判断是否为同一个对象(地址) System.out.println(p1.name.equals(p2.name));// p.name是String类型,重写了equals()方法——判断内容是否一样 System.out.println(p1.equals(p2));//p1,p2属于Person类,该类并没有重写equals()方法(继承父类equals()方法,即判断地址)
String s1 = new String("abc"); String s2 = new String("abc");
package hashCode; public class HashCode { public static void main(String[] args) { AA aa = new AA(); AA aa2 = new AA(); AA aa3 = aa; System.out.println("aa.hashCode()="+ aa.hashCode()); System.out.println("aa2.hashCode()="+ aa2.hashCode()); System.out.println("aa3.hashCode()="+ aa3.hashCode()); } }
byte -> Byte short -> Short int -> Integer long -> Long float -> Float double -> Double char -> Character boolean -> Boolean
这些类都在java.lang包
「2.包装类的意义:」
让基本数据类型有面向对象的特征
「封装了字符串转化成基本数据类型的方法(重点)」
3.包装类常用方法:
Integer.parseInt()
Long.paseLong()
Double.parseDouble()
【参考代码】
public class Test { public static void main(String[] args) {
// Integer i = new Integer(10);// 创建包装类对象 // Integer ii = 10; // 自动打包 // System.out.println(i+10); // 在使用上,int 和Integer 其实没有区别,可以互相使用 // System.out.println(ii+10); // int j = ii;// 自动解包 // System.out.println(j+100);
String a = "12"; String b = "34"; System.out.println(a+b); // 1234 // 转型: // 字符串转成int的唯一方案 int c = Integer.parseInt(a); int d = Integer.parseInt(b); System.out.println(c+d); // 46
// 字符串转成double类型 String e = "1.25"; double f = Double.parseDouble(e); System.out.println(f*6); // 7.5
// 转成long类型 long l = Long.parseLong("1234567"); System.out.println(l); } }
import java.util.Date; public class Test { public static void main(String[] args) { Date d = new Date(); System.out.println(d); // 系统时间 //get...()——获取年月日..... System.out.println(d.getYear()+1900); // 从1900年开始算的 System.out.println(d.getMonth()+1); // 月份从0开始计算 System.out.println(d.getDate()); // 天数 System.out.println(d.getHours());// 小时
package date; import java.util.Calendar; public class TestCalendar { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); // System.out.println(cal);
package Simple; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.SimpleFormatter; public class Test { public static void main(String[] args) { Date d = new Date(); System.out.println(d); //Thu Aug 12 08:40:08 CST 2021 不美观
StringBuilder sb = new StringBuilder("猫喜欢吃鱼"); String s = sb.toString();
❞
【参考代码】
package String; public class TestStringBuilder { public static void main(String[] args) { StringBuilder sb = new StringBuilder();// 一个空的字符串"" StringBuilder sb2 = new StringBuilder("猫喜欢吃鱼"); System.out.println(sb2);// 猫喜欢吃鱼
import java.text.DecimalFormat; import java.util.Scanner; public class Test { public static void main(String[] args) { double d= 10/3.0; System.out.println(d);//3.3333333333333335
// . 表示小数点 // 0和#表示数字
// 保留两位小数 格式 DecimalFormat df = new DecimalFormat(".00"); // 或者.## String s = df.format(d); // 把 d 转成上面设置的格式 System.out.println(s);//3.33 } }