20200731_String类常用API以及修饰符比如static

1、作业解析

1.定义一个学生类(Student),他有三个属性(全局变量) 姓名name和年龄age和性别gender,定义三个函数分别打印出姓名、年龄和性别

 -- 全局变量和局部变量同名,赋值的时候加上this

2.基于面向对象的思想写一个简单的计算器类Calculator,定义四个函数,实现两个int类型数据的加减乘除,通过创建对象,调用函数,完成两个整数3与4的加减乘除运算

 

public class Calculator {
    public int add(int x, int y){
        return x+y;
    }

    public int sub(int x, int y){
        return x-y;
    }

    public int multi(int x, int y){
        return x*y;
    }

    public int div(int x, int y){
        //处理当被除数为0的时候
        if(y == 0){
            System.out.println("被除数不能为0");
            return -1;
        }
        return x/y;
    }
}

 

public class CalculatorTest {
    public static void main(String[] args) {
        //1、创建Calculator对象
        Calculator calculator = new Calculator();
        System.out.println(calculator.add(10,20));
        System.out.println(calculator.sub(10,20));
        System.out.println(calculator.multi(10,20));
        System.out.println(calculator.div(10,20));

    }
}

 

2、String类常用API

  • 字符串比较-equals(区分大小写)-equalsIgnoreCase(不区分大小写)
  • 字符串拆分- split  (注意特殊字符,比如说|分割时,要\| 才能分割)
String a = "hello|lemon|Python|Java";
String[] arr = a.split("\|");
  • 字符串截取-substring(索引值切割)
  • 替换-replace
  • 字符串包含-contains
  • 判断是否以指定字符串开头或结尾-startsWith-endWith 
  • 字符串拼接-concat
  • 判空-isEmpty
  • 去掉左右空格-trim(只能去掉左右的空格,不能去掉中间的空格)
  • 字符串长度-length
  • 字符串转数组-toCharArray
  • 转大小写-toUpperCase-toLowerCase
public class StringApiTest {
    public static void main(String[] args) {

        //String a = "hello";
        //String b = "HELLa";
        //1、equals 比较字符串是否相等  区分大小写
        //System.out.println(a.equals(b));
        //2、equalsIgnoreCase  比较字符串是否相等  不区分大小写
        //System.out.println(a.equalsIgnoreCase(b));

        //3、split 分割/拆分字符串  参数为正则表达式
        /*String a = "hello|lemon|Python|Java";
        String[] arr = a.split("\|");
        for(int i=0; i<arr.length; i++){
            System.out.println(arr[i]);
        }*/

        //特别注意:字符串变量的值不能被改变的

        //4、substring 截取字符串
       /* String a ="hellolemon";
        String b = a.substring(5,8);
        System.out.println(b);*/

        //5、replace  替换
        /*String a = "pythonbesot";
        //替换单个字符
        //String b = a.replace('o', 'a');
        //替换连续的字符
        String b = a.replace("besot","another");
        System.out.println(b);*/

        //6、contains  包含
        //String a = "pythonbest";
        //System.out.println(a.contains("java"));

        //7、startsWith  endsWith  以。。开头或者结尾
        /*String a ="lemon-123456";
        System.out.println(a.startsWith("lemon"));
        System.out.println(a.endsWith("123456"));*/

        //8、concat  拼接
       /* String a = "Java";
        String b = "Python";
        System.out.println(a.concat(b));
        System.out.println(a+b);*/

        //9、trim 去掉空格
        /*String a = "   He llo   ";
        System.out.println(a.trim().length());*/

        //10、toCharArray  字符数组
        /*String a ="PythonJava";
        char[] arr = a.toCharArray();
        //增强式for循环 foreach
        /*for(char data : arr){
            System.out.println(data);
        }
        for(int i=0; i<arr.length; i++){
            System.out.println(arr[i]);
        }*/

        //11、toUpperCase  toLowerCase 转成大写/小写
        //String a = "Lemon";
        //System.out.println(a.toUpperCase());
        //System.out.println(a.toLowerCase());

        //12、isEmpty 判空
        //String a ="    ";
        //System.out.println(a.isEmpty());

        //空格 、 null、 空的字符串
        //int b = null;
        /*String b = null;
        Father father = null;
        father = new Father();*/


        // ==  和equals的区别
        //int a = 10;
        //int b = 10;
        /*System.out.println(a==b);
        System.out.println(a.equals(b));
        Vivo vivo1 = new Vivo();
        System.out.println("vivo1地址:"+vivo1);
        Vivo vivo2 = new Vivo();
        System.out.println("vivo2地址:"+vivo2);
        System.out.println(vivo1 == vivo2);*/
        String a="hello";
        String b="hello";
        System.out.println(a==b);
    }


}

3、== 和 equals 区别

  • == 基本数据类型比较的是值,引用数据类型比较的是地址值。
  • equals 是Object类中的方法,基本数据类型无法调用。
  • equals默认使用==号,重写之后一般比较的是内容(String)。

4、修饰符

4.1 访问修饰符

分为public,protected,默认修饰符(不写),private,从左向右权限逐步降低

 4.2 非访问修饰符

static 静态(共享)--相当于类属性或者类方法,引用的时候必须加上static,被引用的也要有static

  • 静态属性/方法在程序刚开始执行的时候就会加载进内存
  • 静态方法调用方法/属性的时候 ,那么被调用的属性或者方法必须要加static
  • 静态方法/静态属性好处:不需要去创建对象,直接通过类名. 占用内存
  • 方法用的次数比较频繁 工具方法 加static
  • 成员变量
  • 方法

final--相当于常量,不能修改或者赋值,所以写入的时候尽量全大写,比如说网址,固定账号和固定密码可以用常量表示的变量

  • 修饰成员变量(属性)-->常量
  • 修饰方法-->不能被重写(继承,父类和子类出现了相同的方法,子类中的方法重写父类的方法)
  • 最终类(不能被继承,被绝育了)
原文地址:https://www.cnblogs.com/shishibuwan/p/13762746.html