java⼆维数组string_Java基础学习(⼆)--⼆维数组、String、
Strin。。。
⼀、String类
String类在java.lang包中,不需要导包,⾃动导⼊,字符串变量属于对象。java把String类声明的final类,不能被继承。
String类对象创建后不能修改,由0个或多个字符组成,包含在⼀对双引号之间。
写法:
⾃变量声明:String s = " 数据 ";
使⽤new关键字声明: String s = new String("数据");
⼆、String类常⽤⽅法
1、求字符串的长度 (String.length())
String s = newString(abcdefg"); intslength = str.length();
2、字符串⽐较 (String.equals())
s.equals()的⽐对原理是判断两个字符串的每⼀个字符是否相等。
== ⽐较的是两个字符串中存储的地址是否想等。
s.equalsIgnoreCase(s):忽略⼤⼩写进⾏⽐对。
3、字符串中字符的⼤⼩写转换
4、连接字符串
①使⽤+连接
②使⽤concat连接,需要返回⼀个新的字符串。
String s = "a".concat("b").concat("c"); 相当于String s = "a"+"b"+"c";
5、字符串的查
s.indexOf():⽤于查当前字符串中字符或⼦串,返回字符或⼦串在当前字符串中从左边起⾸次出现的位置。从0开始,若没有出现则返回-1。
可以接受字符串,字符,整数类型的参数,如果参⼊整数,将根据ASCII码⾃动转换字符(A=65,a=97)。
s.lastIndexOf():与indexOf()类似,但是查的是字符串最后出现的位置。从0开始,若没有出现则返回-1。
6、截取字符串
s.substring(int a):从a所在的字符串的位置开始进⾏截取,截取到字符串到最后,并返回⼀个新的字符串。
s.substring(int a,int b):表⽰从a截取到b,为左闭右开区间,包含起点不包含终点。
7、去空格
8、替换
9、字符串分割 (返回的是字符串数组类型)
s.split(regex):传⼊指定字符,将字符串分割为多个⼦串,返回⼀个字符串类型的数组,如果传⼊⼀个空字符串,则对原字符串全部分割。
s.split(regex, limit):表⽰将当前字符串分割成⼏部分,如果传⼊的数字少于分割的总部分,那么分割limit后多余的字符串将不会分割。
三、StringBuffer
1.StringBuffer是String的增强版,位于java.long包中,不需要导包可直接使⽤,它与String最⼤的区别在于:StringBuffer在声明后是可以改变可以追加的。⽽String⼀旦声明,不可改变,不可追加。
写法:
StringBuffer sb = new StringBuffer("abc");
需要注意的是,StringBuffer和String属于不同的类型,也不能直接进⾏强制类型转换
String转换为StringBuffer: StringBuffer sb2 = new StringBuffer(s);
StringBuffer转换为String: String s1 = String();
2.常⽤的⽅法:
(a)、sb.toString():将StringBuffer转换成String进⾏输出,在输出时可以不⽤转换,系统会⾃动转换。
(b)、sb.append() :在原字符串之后追加新的字符,原字符串会直接改变,同时还会追加之后的字符串返回。append()可以接受各种类型的参数,会⾃动转成字符串追加到原字符串最后。
(c)、sb.delete(int start,int end):传⼊两个下标,表⽰删除这两个下标之间的字符。(左闭右开区间)
(d)、sb.deleteCharAt(index) : 传⼊⼀个下标,表⽰删除指定位置的⼀个字符。
(e)、sb.insert(index,b):该⽅法的作⽤是在StringBuffer对象中的指定位置插⼊内容,然后形成新的字符串。新的⼦串可以是任何数据类型,其他数据类型会⾃动转换成字符串。
(f)、sb.reverse(): 字符串反转,将sb的字符串翻转后形成新的字符串。
⼀、⾯向对象 & ⾯向过程
⾯向过程:专注于如何去解决⼀个问题的过程。特点:每⼀个功能都出现了函数,也就是由⼀个个函
数实现解决问题的⼀系列步骤。(C语⾔)
⾯向对象:专注于由哪个对象来解决问题,⽽调⽤者⽆需关注对象实现的细节。特点:出现了⼀个个类,从类中拿到对象,通过对象解决问题。(java、php、c++、c#、Python)
⾯向机器:汇编语⾔。
⾯向对象的三⼤特征:继承,封装,多态。
⼆:类 & 对象
类:具有相同属性和⾏为的个体的集合就是类。类是⼀个抽象的概念,只能说类具有那些属性,⽽不能对属性赋值,因此对象的抽象化是类,类的具体化就是对象。
类具有属性,对象的属性,⽤成员变量来描述,通过封装数据实现。
类具有⾏为,对象的⾏为,⽤⽅法来描述。
对象:从类中拿出具有属性值的个体,称为对象。 对象是从类中拿出的⼀个具体的个体,需要对属性进⾏具体的赋值。
类和对象的关系:对象的抽象化是类,类的具体化就是对象。
类是对象的描述,对象是类的个体。
程序中由类产⽣对象。
声明⼀个类:[修饰符] class 类名{
[修饰符] 属性类型 属性名
学习java的学习方法[修饰符] 返回值类型 ⽅法名
}
步骤:
(1):声明⼀个类,并且声明类中的属性和⽅法。
(2):实例化⼀个类,在主函数中使⽤new关键字实例化。
(3):使⽤类中的属性、⽅法。
定义类的注意:
(1):如果类使⽤了public修饰符,必须保证当前⽂件名称和当前类名相同.
(2):类名使⽤名称表⽰,类表⽰某⼀类事物,⾸字母⼤写,如果是多个单词组成使⽤驼峰表⽰法.
(3):在⾯向对象的过程中,各位定义类的时候,专门为描述对象提供⼀个类,该类不需要main⽅法.
构造函数:
(1):构造函数与类名相同。
(2):构造函数没有返回值(void都没有),不需要使⽤return语句。
(3):构造函数分为有参构造函数和⽆参构造函数。
构造函数的作⽤:在实例化对象的时候,赋初始值。
构造函数⽆需⼿动调⽤,在实例化对象的时候会⾃动调⽤。
注意:如果没有写构造函数,那么系统会⾃动创建⼀个缺省的构造函数;如果写了带参构造函数,那么会覆盖掉缺省的构造函数。
三、⽅法
⽅法定义格式:
[修饰符] 返回值的类型 ⽅法名称([形式参数,....])
{
⽅法体
[return 值];
}
⽅法的返回值:
(1):如果⽅法没有返回值,不能使⽤return,并且⽅法的返回值类型使⽤的void。
(2):如果⽅法有返回值,使⽤return返回相应的返回值类型。
(3):有返回值的⽅法不⼀定需要接收返回值。
(4):没有返回值的⽅法⼀定不能接受返回值。
什么时候使⽤返回值? 如果需要返回⼀个结果数据,我们就把该结果数据的类型作为该⽅法的返回值类型.
⽅法的调⽤:
(1):声明的⽅法,只有在调⽤的时候才能执⾏⽅法体中的代码。
(2):在本类中调⽤其他⽅法直接使⽤⽅法名();或者使⽤this.⽅法名();
(3):调⽤其他类中的⽅法,需要先实例化对象,然后通过对象名调⽤⽅法。即:对象名.⽅法();
⽅法的参数:
声明⽅法时可以在⽅法圆括号中的进⾏定义,仅仅只是占位⽽已,参数的名称其实⽆所谓,形式参数可以有多个,⽤逗号分隔。声明⽅法时的参数列表,称为形参列表。
调⽤⽅法时,必须按照形参列表的顺序进⾏赋值,此时的参数称为实参列表。
什么时候使⽤参数? 该⽅法在完成该功能的过程之中,是否有未知的因素参与,如果有请作为参数传递,如果没有则没有形参.
四、成员变量 & 局部变量:
成员变量:直接在类中声明的属性称为成员变量。成员变量的作⽤范围在整个类中可以使⽤。
局部变量:在⽅法体⾥⾯声明的变量称为局部变量。局部变量只在当前⽅法体中有效,⽅法的形参都输⼊局部变量。
区别:(1):作⽤域不同。成员变量作⽤于整个类中,局部变量作⽤于⽅法中。
(2):初始值不同。成员变量会默认赋初始值,局部变量没有默认初始值。
(3):优先级不同。当成员变量与局部变量重名时,⽅法中优先使⽤局部变量,如果需要使⽤成员变量需要使⽤this关键字。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论