java面向对象使用字符串_JAVA基础之字符串和面向对象

* [String 类]

* 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入。

*

* 2.拿到一个字符串对象:

* ①字面量声明:String s="真辛苦";

* ② new关键字声明: String s1=new String("校长");

*

*

* s.length(): 返回字符串的长度,length()是一个方法,使用时注意()

*

* String s1="123"; 位于静态常量区

* s1.equals(s2):判断字符串是否相等;

* .equals()比对原理,是判断两个字符串的每一个字符是否相等;

* ==的比对原理,是判断两个字符串中存储的地址是否相等。

*

* s.equalsIgnoreCase(s1):忽略大小写比对;

* s.toLowerCase() :将所有字符转化为小写

* s.toUpperCase():将所有字符转化为大写

*

* 连接字符串:

* ① 使用+连接

* ② 使用s1.concat(s2)连接,将s2连接到s1后面,并返回一个新字符串

*

* .indexOf(): 在字符串中查找指定的字符或子串第一次出现的位置,并返回其下标,没有找到返回-1;

* 可以接受字符串、字符、整数类型的参数,如果传入整数,将根据ASCII码自动转换为字符(A-65 a-97;

*

* .lastIndexOf(): 在字符串中查找指定的字符或子串最后一次出现的位置,并返回其下标,没有找到返回-1

*

* s.substring(3, 5) :截取字符串的指定位置,返回一个新的子串

* ①传入一个参数,表示起始下标,将从此下标开始,一直截取到字符串最后;

* ②传入两个参数,表示起始下标和结束下标,为左闭右开区间

*

* .trim(): 去掉字符串两端的空格。

*

* .s.replace("a", "*") 将字符串指定区域,用新的字符串替换掉。

*

*

* s.split(""); 传入指定字符,将字符串分割为多个子串,返回一个字符串类型的数组;

*

* 如果传入一个空字符串,则将原字符串的每一个字符都进行分割。

* s.split("" ,5); 第二个参数,可以传入一个整数,表示将当前字符串分为几部分;

* 如果传入的整数,小于原来分隔总部分,则剩余的区域不再分隔

charAt(i) : 返回char指定索引处的值。 指数范围为0至length() - 1 。 该序列的第一个char值在索引0 ,下一个索引为1 ,依此类推,与数组索引一样。

[StringBuffer 类]

* 1.StringBuffer 是String的增强版,位于java.lang包中;

* 2.StringBuffer 与String的最大区别在于:StringBuffer 是可变可追加的,而String一旦声明不可改变,不能插入;

*

*

* .toString():将StringBuffer 类型,转成String类型,但在输出时,可以不用转换,将自动进行转换。

*

* .append(); 在原字符串的最后追加新的字符

* ① 原字符串会被直接改变;同时还会将追加之后的字符串返回

* ② append可以接受各种类型的参数,会自动转成字符串后追加到原字符串最后。

*

* delete():传入两个下标,表示删除这两个下标之间的区间,左闭右开

* .deleteCharAt(1); 传入一个下标,删除指定位置的一个字符

*

* indexOf(String str, int fromIndex)

返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。

.insert(3,"厉害"); 在原字符串的指定下标位置,插入新的子串,新的子串可以是任何数据 类型,其他数据类型将会自动转化为字符串

一、面向对象 & 面向过程

面向过程:专注于如何去解决一个问题的过程。特点:每一个功能都出现了函数,也就是由一个个函数实现解决问题的一系列步骤。(C语言)

面向对象:专注于由哪个对象来解决问题,而调用者无需关注对象实现的细节。特点:出现了一个个类,从类中拿到对象,通过对象解决问题。(java、php、c++、c#、Python)

面向机器: 汇编语言。

面向对象的三大特征: 继承,封装,多态。

二:类 & 对象

类:具有相同属性和行为的个体的集合就是类。类是一个抽象的概念,只能说类具有那些属性,而不能对属性赋值,因此对象的抽象化是类,类的具体化就是对象。

类具有属性,对象的属性,用成员变量来描述,通过封装数据实现。

类具有行为,对象的行为,用方法来描述。

对象:从类中拿出具有属性值的个体,称为对象。 对象是从类中拿出的一个具体的个体,需要对属性进行具体的赋值。

类和对象的关系: 对象的抽象化是类,类的具体化就是对象。

类是对象的描述,对象是类的个体。

程序中由类产生对象。

声明一个类:[修饰符]  class   类名{

[修饰符] 属性类型 属性名

[修饰符] 返回值类型 方法名

}

步骤:

(1):声明一个类,并且声明类中的属性和方法。

(2):实例化一个类,在主函数中使用new关键字实例化。

(3):使用类中的属性、方法。

3e46841f2cef4ba56a40c404d2d21ea3.png

e9c05f91728ac3a0cf955bb1bab80eeb.png

定义类的注意:

(1):如果类使用了public修饰符,必须保证当前文件名称和当前类名相同.

(2):类名使用名称表示,类表示某一类事物,首字母大写,如果是多个单词组成使用驼峰表示法.

(3):在面向对象的过程中,各位定义类的时候,专门为描述对象提供一个类,该类不需要main方法.

构造函数:

(1):构造函数与类名相同。

(2):构造函数没有返回值(void都没有),不需要使用return语句。

(3):构造函数分为有参构造函数和无参构造函数。

构造函数的作用:在实例化对象的时候,赋初始值。

473cb0f0085195d8549b85bd084b1971.png

构造函数无需手动调用,在实例化对象的时候会自动调用。

注意:如果没有写构造函数,那么系统会自动创建一个缺省的构造函数;如果写了带参构造函数,那么会覆盖掉缺省的构造函数。

【方法的返回值】

(1)如果方法有返回值,可以使用return返回结构;

(2) 如果方法没有返回值,需要设置返回值void,而且方法中必须没有return

(3) 有返回值的方法,调用时不一定必须接受返回值

(4)没有返回值的方法,调用时一定不能接收返回值

[方法的调用]

(1)声明的方法,只有在调用的时候才能执行方法体中的代码

(2)在本类的其他方法中调用:使用方法名(); 或者使用 this.方法名();

调用其他类中的方法,首先应该实例化拿到对象,在通关对象名调用方法,即 :对象名.方法();

[方法的参数]

(1)声明方法时,可以在()中设置调用方法时需要传入的参数列表,多个参数之间用逗号分离;

public void eat( String food,int count){

}

声明方法时的参数列表,称为形参列表;

(2) 调用方法时,必须按照形参列表的要求,一一传入对应的参数值

d.eat("牛奶", 12);

调用方法时的参数列表,称为实参列表

[成员变量与局部变量]

(1)成员变量:写在方法体外 面,直接在类中声明的属相,称为成员变量。

成员变量的作用范围在整个类中可以使用

(2)局部变量:在方法体里面声明的变量,叫做局部变量;

局部变量只有在当前方法体中有效,方法的形参列表,都属于局部变量。

(3) 成员变量和局部变量的区别:

作用域不同;

初始值不同,java中成员变量会默认赋初识值,局部变量没有默认初始值;

优先级不同:当成员变量与局部变量重名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值