JAVA常用的包名称和功能如下:
java.lang包 - 该包是Java语言的核心包,并且该包中的所有内容由Java虚拟机自动导入。 如:System类、String类、...
java.util包 - 该包是Java语言的工具包,里面提供了大量工具类以及集合类等。 如:Scanner类、Random类、List集合、...
java.io包 - 该包是Java语言中的输入输出包,里面提供了大量读写文件相关的类等。 如:FileInputStream类、FileOutputStream类、...
java.net包 - 该包是Java语言中的网络包,里面提供了大量网络编程相关的类等。 如:ServerSocket类、Socket类、...
java.sql 包 - 该包是Java语言中的数据包,里面提供了大量操作数据库的类和接口等。 如:DriverManager类、Connection接口、...
object
特点:
java.lang.Object类是Java语言中类层次结构的根类,也就是说任何一个类都是该类的直接或者间 接子类。
如果定义一个Java类时没有使用extends关键字声明其父类,则其父类为 java.lang.Object 类。
如果定义一个Java类时没有使用extends关键字声明其父类,则其父类为 java.lang.Object 类。
Object类定义了“对象”的基本行为, 被子类默认继承。
常用方法:
code
import java.util.Objects; public class Student extends Object { private int id; // 用于描述学号的成员变量 private String name; // 用于描述姓名的成员变量 public Student() { } public Student(int id, String name) { setId(id); setName(name); } public int getId() { return id; } public void setId(int id) { if (id > 0) { this.id = id; } else { System.out.println("学号不合理哦!!!"); } } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object obj) { if(this == obj) return true; if(null==obj) return false; if(obj instanceof Student){ Student st=(Student) obj; System.out.println(st.id); System.out.println(id); return st.getId()==this.getId(); } return false; } @Override public int hashCode() { return getId(); // 不再代表内存地址的编号了 // final int type = 12; // return type*31 + getName().hashCode(); } @Override public String toString() { return "Student[id = " + getId() + ", name = " + getName() + "]"; } public static void main(String[] args){ Student s1=new Student(102,"zhangsan"); Student s2=new Student(101,"zhangsan"); System.out.println("s1 地址为: " + s1.id); System.out.println("s2 地址为: " + s2.id); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); System.out.println("---------------------------"); Student s3=s1; System.out.println(s1.equals(s3)); System.out.println("---------------------------"); int hs = s1.hashCode(); System.out.println("s1 的hascode:"+hs); String sto=s1.toString(); System.out.println("s1 to string is "+sto); } }
包装类
基本数据类型不是对象,为了使基本类型也是对象,Java提供对基本数据类型进行对象化的类,称作包装类。
在Java5发布之前使用包装类对象进行运算时,需要较为繁琐的“拆箱”和“装箱”操作;即运算前先将 包装类对象拆分为基本类型数据,运算后再将结果封装成包装类对象。
从Java5开始增加了自动拆箱和自动装箱的功能。
Integer
常量有:
public class IntegerTest { public static void main(String[] args) { // 1.打印Integer类中常用的常量数值 System.out.println("最大值是:" + Integer.MAX_VALUE); // 2^31-1 System.out.println("最小值是:" + Integer.MIN_VALUE); // -2^31 System.out.println("所表示二进制的位数是:" + Integer.SIZE); // 32 System.out.println("所占字节的个数是:" + Integer.BYTES); // 4 System.out.println("对应int类型的Class实例是:" + Integer.TYPE); // int } }
常用方法
code
public class IntegerTest { public static void main(String[] args) { // 使用构造方法来构造Integer类型的对象并打印 //Integer it1 = new Integer(123); //System.out.println("it1 = " + it1); // 自动调用toString方法 123 //Integer it2 = new Integer("456"); //System.out.println("it2 = " + it2); // 456 // 上述方法已过时,建议使用valueOf方法取代之,相当于从int类型到Integer类型的转换,叫做装箱 Integer it3 = Integer.valueOf(123); System.out.println("it3 = " + it3); // 123 // 相当于从String类型到Integer类型的转换 Integer it4 = Integer.valueOf("456"); System.out.println("it4 = " + it4); // 456 自动调用toString方法得到的是String类型 // 获取调用对象中的整数数值,相当于从Integer类型到int类型的转换,叫做拆箱 int ia = it4.intValue(); System.out.println("获取到的整数数据是:" + ia); // 456 得到的是int类型 System.out.println("------------------------------------------------------"); // 3.从Java5开始增加了自动装箱和自动拆箱的机制 Integer it5 = 100; // 直接通过赋值运算符实现自动装箱 int ib = it5; // 直接通过赋值运算符实现自动拆箱 System.out.println("------------------------------------------------------"); // 装箱和拆箱的易错点,装箱类似调用valueof(),拆箱类似调用intValue() Integer it6 = 127; //128; Integer it7 = 127; //128; Integer it8 = new Integer(127); //new Integer(128); Integer it9 = new Integer(127); //new Integer(128); System.out.println(it6 == it7); // 比较地址 false true当数值为128时需要创建新的对象,地址也就不一样了 System.out.println(it6.equals(it7)); // 比较内容 true System.out.println(it8 == it9); // 比较地址 false System.out.println(it8.equals(it9)); // 比较内容 true System.out.println("------------------------------------------------------"); // 5.实现静态方法的调用 int ic = Integer.parseInt("200"); //int ic = Integer.parseInt("200a"); // 编译ok,运行发生NumberFormatException数字格式异常,因为有字母 System.out.println("字符串转换为整数的结果是:" + ic); // 200 System.out.println("根据参数指定的整数获取对应的十进制字符串是:" + Integer.toString(200)); System.out.println("根据参数指定的整数获取对应的二进制字符串是:" + Integer.toBinaryString(200)); System.out.println("根据参数指定的整数获取对应的十六进制字符串是:" + Integer.toHexString(200)); System.out.println("根据参数指定的整数获取对应的八进制字符串是:" + Integer.toOctalString(200)); } }
Double
常用的常量类型
public class DoubleTest { public static void main(String[] args) { System.out.println("doubule 二进制字节数:"+Double.BYTES); System.out.println("double 二进制位数:"+Double.SIZE); System.out.println("double 类型:"+Double.TYPE); } }
常用方法
public class DoubleTest { public static void main(String[] args) { // 1.在Java5之前装箱和拆箱的实现 // 实现了从double类型到Double类型的转换,装箱 Double db1 = Double.valueOf(3.14); System.out.println("db1 = " + db1); // 3.14 // 实现了从Double类型到double类型的转换,拆箱 double d1 = db1.doubleValue(); System.out.println("d1 = " + d1); // 3.14 System.out.println("---------------------------------------------"); // 2.从Java5开始实现自动装箱和自动拆箱 Double db2 = 3.14; double d2 = db2; System.out.println("---------------------------------------------"); // 3.实现静态方法和成员方法的调用 double d3 = Double.parseDouble("13.14"); System.out.println("d3 = " + d3); // 13.14 System.out.println("db2对象的判断结果是:" + db2.isNaN()); // false 不是非数字 Double db3 = Double.valueOf(0/0.0); System.out.println("db2对象的判断结果是:" + db3.isNaN()); // true 是非数字 } }
Boolean
常用常量
常用方法
code
public class BooleanTest { public static void main(String[] args) { // 1.在Java5之前采用方法进行装箱和拆箱 // 相当于从boolean类型到Boolean类型的转换,装箱 Boolean bo1 = Boolean.valueOf(true); System.out.println("bo1 = " + bo1); // true boolean b1 = bo1.booleanValue(); System.out.println("b1 = " + b1); // true System.out.println("----------------------------------------------"); // 2.从Java5开始支持自动装箱和拆箱 Boolean bo2 = false; boolean b2 = bo2; System.out.println("b2 = " + b2); // false System.out.println("----------------------------------------------"); // 3.实现从String类型到boolean类型的转换 // boolean b3 = Boolean.parseBoolean("112"); // 该方法的执行原理是:只要参数数值不为true或者TRUE时,则结果就是false,查手册和源码 boolean b4 = Boolean.parseBoolean("TRUE"); System.out.println("b3 = " + b4); // true } }
Character
常用常量
常用方法
code
public class CharacterTest { public static void main(String[] args) { // 1.在Java5之前调用方法实现装箱和拆箱机制 // 相当于从char类型到Character类型的转换,装箱 Character ca1 = Character.valueOf('a'); System.out.println("ca1 = " + ca1); // a // 从Character类型向char类型的转换,拆箱 char c1 = ca1.charValue(); System.out.println("c1 = " + c1); // a System.out.println("----------------------------------------"); // 2.从Java5开始支持自动装箱和拆箱 Character ca2 = 'b'; char c2 = ca2; System.out.println("c2 = " + c2); // b System.out.println("----------------------------------------"); // 3.实现字符类型的判断以及转换 System.out.println(Character.isUpperCase(c2)); // 判断是否为大写字母 false System.out.println(Character.isLowerCase(c2)); // 判断是否为小写字母 true System.out.println(Character.isDigit(c2)); // 判断是否为数字字符 false System.out.println("转换为大写字符是:" + Character.toUpperCase(c2)); // B System.out.println("转换为小写字符是:" + Character.toLowerCase(c2)); // b } }
数学处理类
Math类
常用方法
public class MathTest { public static void main(String[] args) { System.out.println("获取两个整数中最大值的结果是:" + Math.max(10, 20)); // 20 System.out.println("获取两个整数中最小值的结果是:" + Math.min(10, 20)); // 10 System.out.println("获取次方的结果是:" + Math.pow(2, 3)); // 8.0 体现double类型 System.out.println("获取绝对值的结果是:" + Math.abs(-5)); // 5 System.out.println("进行四舍五入的结果是:" + Math.round(3.14)); // 3 System.out.println("该整数的平方根是:" + Math.sqrt(16)); // 4.0 System.out.println("生成的随机数是:" + Math.random()); // 随机数 } }
BigDecimal类
常用方法
public class BigDecimalTest { public static void main(String[] args) { // 1.构造BigDecimal类型的两个对象 BigDecimal bd1 = new BigDecimal("5.2"); BigDecimal bd2 = new BigDecimal("1.3"); // 2.使用构造完毕的对象实现加减乘除运算 System.out.println("实现加法运算的结果是:" + bd1.add(bd2)); // 6.5 System.out.println("实现减法运算的结果是:" + bd1.subtract(bd2)); // 3.9 System.out.println("实现乘法运算的结果是:" + bd1.multiply(bd2)); // 6.76 System.out.println("实现除法运算的结果是:" + bd1.divide(bd2)); // 4 System.out.println("---------------------------------------------------------------"); // 3.实现精确运算 System.out.println(0.1 + 0.2); // 0.30000000000000004 BigDecimal bd3 = new BigDecimal("0.1"); BigDecimal bd4 = new BigDecimal("0.2"); System.out.println("精确计算的结果是:" + bd3.add(bd4)); // 0.3 System.out.println("---------------------------------------------------------------"); // 4.注意事项 BigDecimal bd5 = new BigDecimal("2"); BigDecimal bd6 = new BigDecimal("0.3"); System.out.println("除法运算的结果是:" + bd5.divide(bd6, RoundingMode.HALF_UP)); // 7 } }
BigInteger类常用方法
public class BigIntegerTest { public static void main(String[] args) { // 1.构造两个BigInteger类型的对象并指定初始值 BigInteger bi1 = new BigInteger("20"); BigInteger bi2 = new BigInteger("8"); // 2.实现加减乘除取余操作并打印 System.out.println("实现加法运算的结果是:" + bi1.add(bi2)); // 28 System.out.println("实现减法运算的结果是:" + bi1.subtract(bi2)); // 12 System.out.println("实现乘法运算的结果是:" + bi1.multiply(bi2)); // 160 System.out.println("实现除法运算的结果是:" + bi1.divide(bi2)); // 2 System.out.println("实现取余运算的结果是:" + bi1.remainder(bi2)); // 4 System.out.println("-----------------------------------------------------"); // 3.一次性得到商和余数 BigInteger[] arr = bi1.divideAndRemainder(bi2); for (int i = 0; i < arr.length; i++) { System.out.println("下标为" + i + "的元素是:" + arr[i]); // 2 4 } } }