day11 学习java

day11笔记

一.打包

第一步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cEDXela8-1642421656403)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117173743420.png)]

第二步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzLrzjuu-1642421656404)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117173932078.png)]

第三步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dQGKCuvz-1642421656405)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174013966.png)]

第四步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOpFtloa-1642421656405)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174144260.png)]

第五步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r5595Us2-1642421656406)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174154701.png)]

二.导包

第一步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7RNcYzVj-1642421656407)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174413732.png)]

将包导入需要到的文件夹里,一般新项目里面创建一个lib文件夹,导入的包放入此文件夹里面

第二步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LYIy3has-1642421656407)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174648958.png)]

第三步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ee6y5bcm-1642421656408)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174717100.png)]

第四步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yD5nRuSN-1642421656408)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117174920724.png)]

三.删除包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMhSveLc-1642421656409)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117183730463.png)]

在删除包就行了

四.API
1概念:API:应用程序接口编程,提供一些类和接口的使用
作用:jdk提供一些常用的方法以及类的使用,简化开发
1.查看API

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjcHVfNI-1642421656409)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117185805142.png)]

通过类名来进行类的搜索

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4CgnX8oS-1642421656410)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117185849857.png)]

2.注意事项:
A.查看类需要关注类的描述
B.类是是否有构造方法,是否可以实例化对象
C.查看类是否有普通方法,方法的描述,方法的参数以及方法的返回值
D.查看类中的静态方法 static 静态方法是可以通过类名来进行调用的
五.生成帮助文档
1.帮助文档中的常有的注解
@version 版本
@author 作者
@since 描述
@方法的参数
@return 方法的返回值
2.生成帮助文档

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7DZOAl1T-1642421656410)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117190852869.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JS8uNuYt-1642421656411)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220117191216711.png)]

六.tostring(重点)
方法名方法的描述
public string tostring()该对象的字符串形式
1.tostring:默认返回的是对象的地址值
2.getClass.getName +@ +地址符		
	getClass==>表示为包名  getName==>类名
3.如果是自定义的类,tostring()方法的返回的是地址值,没有实际意义,一般建议重写
4.重写的规则:一般返回的是对象的属性值,快捷键:Alt +insert
5.注意点:一个类名直接打印对像名,一般默认调用toString()方法,如果没有重写,会默认调用父类的toString()方法

调试:

package com.qf.lt.oop01;

import java.util.Objects;

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //重写equals方法
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age && name.equals(student.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    //重写tostring
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age
                '}';
    }
}

测试类:

package com.qf.lt.oop01;

public class Test {
    public static void main(String[] args) {
        Student stu = new Student();
        //在没有重写toString方法时,打印的是包名+类名+地址符
        System.out.println(stu);
        //重写tostring方法
        Student st = new Student("张三",147);
        System.out.println(st);

        //在没有重写equals方法之前,判断的时两个对象的地址值是不是指向同一个堆内存,那么equals返回的时false

        //在重写equals方法后,判断两个对象的属性值是相等时,equals返回的时true
        Student st1 = new Student("张三",147);
        Student st2 = new Student("张三",14);
        System.out.println(st.equals(st1));

        //在重写equals方法后,判断两个对象的属性值不相等
        // 时,equals返回的时false
        System.out.println(st.equals(st2));
    }
}

七.equals()(重点)
方法的名称方法的描述
public boolean equals(Object obj)用于判断两个对象是否相等
1.equals()
		对于任何非空引用值,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true
		 两个对象的地址值是一样则返回true 两个栈内存的引用指定同一一个堆内存
2.自定义:默认使用equals()方法是没有意义的,一般使用重写
3.重写的规则:当对象的属性值一样时,表示同一个对象 快捷键:Alt+insert

4.equals()与 == 的比较:

  • 相同点 :都是用来做比较的
  • 不同点:
    • equals()只能用来比较引用数据类型;== 可以使用来比较引用数据类型,也可以使用来比较基本数据类型
    • equa
      s() 用来比较引用数据类,在没有重写之前,是比较两个对象的地址值,重写之后,比较的是对象的属性值; == 比较基本数据类型,比较的是数值,比较引用数据类型时也是对象的地址值
八.String
1.简述
1.string代表的是字符串
2.存储:字符串是先将字符串转换为字符数组后,将字符数组转换为字节,以字节来进行存储的
2.构造方法(3+1)
构造方法的名称构造方法的描述
String s =“a”(这种场景)(重点)底层是调用String的构造方法
public String()(重点)初始化一个新创建的 String 对象,使其表示一个空字符序列
public String(byte[] bytes)(重点)将字节数组转换成一个字符串
public String(byte[] bytes, int offset, intlength)将字节数组指定的长度内容转换为字符串
public String(char[] value)(重点)将字符数组构建成一个字符串
public String(char[] value, int offset, intcount)将字符数组的指定的长度内容转换为字符串
3.判断性方法
判断性方法的名称方法的描述
public boolean contains(CharSequence s)判断字符串中是否包含此字符
public boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束
public boolean startsWith(String prefix)测试此字符串是否以指定的前缀开始
public boolean equals(Object anObject)将此字符串与指定的对象比较
public boolean equalsIgnoreCase(StringanotherString)将此 String 与另一个 String 比较,不考虑大小写
public boolean isEmpty()当且仅当 length() 为 0 时返回 true
public int length()返回此字符串的长度
4.案例

需求 键盘录入一个邮箱判断是否合法( 后缀 com 包含 @) 键盘录入一个图片名称 判断是否合法

package com.qf.lt.oop02;

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        //录入一个邮箱,判断是否合法:以”com“结尾 蕴含“@”
        Scanner sca = new Scanner(System.in);
        System.out.println("录入一个邮箱");
        String s1 = sca.next();
        System.out.println(s1);

        if (s1.endsWith("com") || s1.contains("@")){
            System.out.println("合法");
        }else {System.out.println("不合法");}


        //输入一张图片的名字判断河
        System.out.println("录入一个图片");
        String s2 =sca.next();
        if (s2.endsWith("jpg") &&s2.endsWith("jped") || s2.endsWith("gnp")){
            System.out.println("合法");
        }
        else {System.out.println("不合法");}

    }
}

五.等到性方法
方法名称方法简述
public char charAt(int index)返回指定索引处的 char 值
public String concat(Stringstr)将指定字符串连接到此字符串的结尾
public int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引(从前往后开始查找)
public int indexOf(int ch, intfromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
public int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引
public int lastIndexOf(int ch,int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索(从后往前进行查找)
public String substring(intbeginIndex)截取字符 从指定的位置开始截取
public String substring(intbeginIndex, int endIndex)该子字符串从指定的 beginIndex 处开始,直到索引 endIndex- 1 处的字符(包头不包尾)
案例一:

需求 键盘录入一个字符串 abddddsaawsassdferredfdf 统计字符串中a的个数

代码:

package com.qf.lt.oop02;

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        Scanner sca =new Scanner(System.in);
        System.out.println("请输入一串字符串:");
        String s1 = sca.next();

        //使用数组来存放
         String [] arrys = new String[s1.length()];
        for (int i=0;i< arrys.length;i++){
            arrys[i]=s1.charAt(i)+"";
        }

        int num = 0;
        for (int i=0;i< arrys.length;i++ ){
            if (arrys[i].equals("a")){
                num++;
            }
        }
        System.out.println(num);
    }
}

案例二:

需求:张奇喜银行卡余额 12345678 ==> 12,345,678

package com.qf.lt.oop02;

import java.util.Arrays;
import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        Scanner sca = new Scanner(System.in);
        System.out.println("输入你银行的存款:");
        String s1 = sca.next();
        //使用数组来进行字符串的存放
        String [] arrys = new String[s1.length()];
        for (int i=0;i<arrys.length;i++){
            //把字符串转为一个个的字符来使用数组存放
            arrys[i]=s1.charAt(i)+"";
        }


        //在加 ,
        //定义一个数组来拼接
        String s2="";
        for (int i= arrys.length-1;i>=0;i--){
            if (i%3==0 && i!=0){
                s2+=arrys[arrys.length-1-i]+",";
            }else {
            s2+=arrys[arrys.length-1-i];
            }
        }

        System.out.println(s2);
    }
}

六.转化性方法
方法名方法描述
public byte[] getBytes()将字符串转换为字节数组
public char[] toCharArray()将此字符串转换为一个新的字符数组
public String toLowerCase()将字符转换为小写
public String toUpperCase()将字符转换为大写
public String trim()去除前后两端的空格
public static String valueOf(boolean b)将各种数据类型转换为String类型
public String replace(char oldChar, char newChar替换指定的字符
public String[] split(String regex)根据字符来进行拆分
案例:

1.需求 键盘录入一串字符 abc234DE ==>ABC***de

2.分析:

1.将字符串拆分成一个字符数组 ==>toCharArray()
2.遍历数组 根据ascll码来判断范围 进行转换
3.定义一个拼接新的数据

代码:

package com.qf.lt.oop02;

import java.util.Locale;
import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        //实例化scnner
        Scanner sca = new Scanner(System.in);
        System.out.println("输入一串字符:");
        String s1 = sca.next();

        //将字符串转化为字符数组
        char[] array = s1.toCharArray();

        //定义一个数组来存放新数组
        String s3 ="";
        //遍历数组进行转换
        for (int i=0;i< array.length;i++){
            if (array[i]>='a' && array[i]<='z'){
                s3+=(array[i]+"").toUpperCase();
            }else if (array[i]>='A' && array[i]<='Z'){
                s3+=(array[i]+"").toLowerCase();
            }else if (array[i]>='0' && array[i]<='9'){
                s3+="*";
            }else {
                s3+=array[i];
            }
        }
        System.out.println(s3);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个胖小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值