java基础day11

本文深入讲解Java编程的基础概念,包括类与库的使用,Object类的功能与方法,Scanner类的输入处理,以及String类的特性与操作技巧。通过实例演示,帮助读者掌握核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day11
一、类与库(把java文件编译成.class文件,然后打包成jar
  • 库:1.jdk提供的;2.自己封装的;3.第三方的库(收费)
  • 引入第三方库的步骤:
    1.下载jar(导入到工具类中)
    2.在项目里新建一个文件夹lib,然后jar包放入到lib
    3.添加项目依赖
    4.使用jar包的类
查看源码快捷键:按住Ctrl + 单击  
二、Object类(所有类的直接父类或间接父类)
java.lang包里的类都不用导包  

1.如果这个类没有父类,系统会自动继承Object
2.Object类调用不了父类的super()构造器

  • 常用的基本方法:public int hashCode()返回该对象的哈希码值
  • 如果是同一个对象,两次调用hashCode()返回的哈希码值是一样的
  • 两个对象的哈希值一样并不一定是同一个对象
  • Integer.toHexString(obj.hashCode()) 把哈希值转换成16进制

3.public final Class<?> getClass() 返回此Object运行时的类的对象,描述类的信息(字节码文件)
4.public String toString():toString方法会返回一个“以文本方式表示”此对象的字符串

  • 没有重写之前:toString返回值(getClass().getName()+"@"+Integer.toHexString(hashCode())
  • getClass().getName()返回当前类的完整的包名+类名;Integer.toHexString(hashCode()) 把哈希值转换成16进制
  • 默认toString()返回的没有任何意义,一般重写是得到这个类的成员属性的值(Alt+insert)

5.public boolean equals(Object obj)要与之比较的引用对象(比较的是两个引用数据类型的地址是否一样)

  • 相同点: 都可以做比较(做引用数据类型的比较)
  • 不同点: == 如果是基本数据类型比较的是 具体的值,如果是引用数据类型比较的是内存地址equals() 只能比较引用数据类型的地址值(一般都活进行重写)
三、Scanner

1.导包java.util
2.System.in输入流对象(从键盘中获取你输入的数据)
3.实例化一个对象的步骤:(1)导包;(2)实例化:类名 对象名 = new 类名();(3)对象名.方法名()、对象名.属性
4.常规的方法: nextInt() nextBoolean nextDouble nextByte()…等(基础数据类就没有 nextChar())
5.java.util.InputMismatchException : 错误原因: 因为接收的值与你键盘输入的值不匹配
public boolean hasNextInt() 判断来解决以上的问题
6.接收字符串的两个方法 next() nextLine() 读取的一行的记录
产生的错误 Scanner input = new Scanner(System.in);int num = input.nextInt();System.out.println(num);String num1 = input.nextLine();
System.out.println(num1);

原因是: 把 回车键(\r\n) 当成字符读取,所有直接结束

解决:(1)重新来实例化Scanner类(2)把接收int类型的转换为String类型(String类型比int 类型操作方便)

四、String类

1.它是一个字符串是一个引用数据类型
2.在java.lang下,不需要进行导包
3.字符串字面值 :也就是 String str=“aaaa”
4.字符串字面值 是存在 方法区里的 字符串常量池里
5.符串是常量;它们的值在创建之后不能更改(不能改变的就是具体的值,而引用地址是可以改变)可以实现数据共享

构造方法(3+1):  

(1)空的构造 public String()
(2)public String(byte[] bytes)
(3)public String(char[] value)
(4)String str=“abc”

总结:字符串字面值都是存在方法区里的常量池里,如果新建一个字符串字面值,都会先去常量池里查找是否存在,如果存在,直接把地址指向新建的,不存在重新开辟空间  

6.String常规的方法分为三类:
(1)判断性:equals(Object anObject):判断两个字符串是否相等;
boolean contains(CharSequence s):判断字符串是否包含此字符;
boolean endsWith(String suffix):判断此字符串的后缀结尾;
startsWith(String prefix):判断字符串的前缀;
public boolean equalsIgnoreCase(String anotherString):判断两个字符串忽略大小写;
public boolean isEmpty():进行非null验证 ;
(2)获取性:public char charAt(int index):根据索引来获取字符串相对应的值,索引是0 开始的;
public int length():返回的是字符串的长度;
public int indexOf(int ch):返回字符串第一次出现的索引值(找到返回的是索引值,找不到返回的是-1);
public String substring(int beginIndex,int endIndex):包头不包尾;beginIndex开始的索引,endIndex结束的索引
public String[] split(String regex):根据什么进行拆分;
(3)转化性:public byte[] getBytes():将一个字符串转换成一个字节数组;
public String replace(char oldChar,char newChar):返回一个新的字符, 第一个参数是需要替换的字符,第二参数是插入的字符;
public String toUpperCase(Locale locale):把当前字符串转换成大写;
public String toUpperCase(Locale locale):把字符串转换成小写;
public String trim():去掉前后的空格;
public static String valueOf(int i):把int类型转换成String类型,这是一个静态的方法(基本数据类型之间相互转换);
public char[] toCharArray():把字符串转换成一个char的数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值