六、类的无参方法
1.定义类的方法:
语法:返回修饰符 返回值类型 方法名(){
//具体实现方法的操作
}
比如:
public void sayHello(){
//具体实现方法的操作
System.out.println(“你好”);
}
1、访问修饰符(在哪些地方能够使用这个方法),public公共的,最高级别
2、返回值类型,执行完方法后能够得到什么数据
void,表示没有返回值,也就是没有任何数据返回
如果有数据返回,那么就需要使用return关键字返回一个数据,并且返回的数据类型
和返回值的数据类型一致
3、方法名(),方法名表示方法的名字
4、方法体:具体实现方法的操作
2.编写类的方法步骤:
1、先定义方法的访问修饰符,先写没有返回值类型,定义方法名,方法名的命名采用见
文识意的方式
2、定义方法体,也就是写具体实现方法的操作
3、判断方法是否有返回值,如果有,添加return关键字返回该数据,并修改返回值类型
方法是怎么去实现,方法是怎么实现的只需要在定义方法的关心,使用的时候只要知道是哪一个方
法是什么作用就可以了
3.方法的调用:
1、在同一个类调用同一类中的方法,只需要通过方法名()就可以指直接调用
2、在不同类中调用方法,需要先new一个需要调用方法的类的对象,然后通过对象名.方
法名的方式去调用方法
调用方法的时候,实际上就是去执行方法体中的代码
4.常见错误:
1、返回值数据类型必须和返回值类型一致
2、不可以返回多个值,也不能写多个返回值类型
3、定义方法不能够相互嵌套
4、程序逻辑代码(顺序、选择、循环结构)只能写在方法体中
5.面向对象的编程:
类的方法实现某个特定的功能,其他类不需要知道它如何实现,只需要知道它是用来干什
么的
6.全局变量:(成员变量)它是指定义在类中的变量,它在类中的任意位置都可以被识别
比如:类的属性
1、作用域:作用在类中任意位置
2、初始值不同:如果没有给它赋值,系统会默认给它一个初始值,int类型为0,double
为0.0,String为null
3、在同一个类中不允许同名存在
7.局部变量:它是指定义在方法体中变量,它只能在该方法中被识别
1、作用域:作用在定义该变量的方法体中
2、初始值不同:必须给它赋值后才能去使用,系统不会给它赋初始值
3、在同一个类中,不同的方法中可以存在相同的命名,同名的两个变量没有任何关系
在同一个类中,允许局部变量和成员变量命名相同,如果两个命名一样,在使用时,局部变量有
更高优先级
七、类的有参方法
1.带参数的方法:
无参方法:在方法名()的括号中没有参数的方法
有参方法:在方法名()的括号中有参数的方法
2.定义有参方法的语法:
访问修饰符 返回值类型 方法名(参数1、参数2、参数3…参数n){
方法体(具体实现方法的过程)
}
3.参数:实际就是声明的一个变量,声明的变量使用“,”隔开
在定义方法的时候,方法中的参数只是进行了声明,并没有赋值,这个参数就叫做形式参
数,也就是形参;
在调用方法的时候,对方法中参数进行赋值,这个参数就叫作实际参数,也就是实参
4.调用带参数的方法:
同一类中调用同一类中的方法,直接方法名()调用
不同类中调用不同类中的方法,先new一个对象,再通过对象名.方法名()的方式调用
必须和定义方法的参数个数相同,并且数据类型必须一致,顺序也要和定义的位置一致
5.二次传递:在调用方法的时候,传递一个参数值给该方法,然后在该方法中去调用了另外的方法,
再将这个参数值传递给在该方法中调用的这个方法
F5:单步跳入,遇到方法的时候回进入方法体中,逐方法体的代码一行一行的执行
F6:单步跳过,遇到方法的时候直接执行完方法,获得结果,不进入方法体
6.对象数组:就是自己定义的类型的数组
自己定义类型,如果没有new一个对象,那么它的初始就为null
7.包:在windows中以文件夹的方式存在
1)将类分为几个类似于文件夹的单元
2)防止命名冲突,在同一个包不允许重复命名,不同包可以重复
3)可以对类中数据中进行一个保护作用
声明包,语法:package 包名; 必须为java源文件中第一条非注释语句
包名:1、通常由小写的英文字母组成,不能以圆点开头或结尾
2、开头一般是一个顶级域名cn,com,org,net
3、后续部分一般由公司名称、部门名称、小组名称、项目名称
导入包:语法:import 包名;
导入包,可以将在这个包中的所有类导入到我们这个类中,导入后才能使用该包中的类
通过ctrl+鼠标左键点击进入定义方法的位置
八、字符串
1.字符串:就是一个或多个字符组成
2.声明字符串:
1、直接声明,比如:String name = “张三”;
2、使用对象的方式,new一个String类的对象,
比如:String name = new String(“张三”);
3.栈:用来存储较小的数据,离访问位置比较近,比如:int,double,short。。
堆:用来存储较大的数据,离访问位置比较远,比如:String,数组,自己定义的类型
4.引用数据类型:通过在栈中的地址去引用存储在堆中数据的数据类型
只要使用了new关键字,就表示在堆中新开了一个空间,然后在栈中留下一个地址
String类型中的值是不可变的
5.比较字符串:
使用比较的是存储的地址,引用类型地址不相同,不能使用比较
.equals比较的是存储的数据,将数据一一比较,字符串使用.equals比较是否相等
.equals()比较字符串是否相等
.equalsIgnoreCase()忽略大小写比较字符串是否相等
.toLowerCase()将字符串中所有字符转化为小写
.toUpperCase()将字符串中所有字符转化为大写
6.获得字符串长度:
字符串名.length,获得字符串长度,每个字符就是一个长度
7.字符串的拼接:
1、使用拼接符+进行拼接
2、使用.concat()方法进行拼接
8.字符串的查询和提取
indexOf("@qq")、indexOf(’@’),查询第一个字符出现的位置
.lastIndexOf(‘7’)、.lastIndexOf(“77”),查询最后一个字符出现的位置
查询:字符串名.indexOf(需要查找字符串名),返回一个int类型的数据,第一个数从0
开始,返回字符串第一个字符所在位置,找不到指定的字符串返回-1
9.提取:
.substring(8)提取第9个字符串后面的所有字符串
.substring(8,12)提取从第8个字符到第11个字符,开始的位置从0开始数起,结束的位置
从1开始数起
忽略字符串前后的空格
.trim()忽略字符串前后的空格,中间不能忽略
10.字符串的分割
.split(以什么为分割的字符),返回一个String的数组,将分割的每个字符串放到这个数
组中
11.字符串的替换
.replaceAll(表示替换前的字符,表示替换后的字符),返回一个String的数据
StringBuffer类,是一个可变的字符串类型
语法:StringBuffer sb = new StringBuffer(“小林”);
StringBuffer的拼接:
.append(“需要追加的字符串”);追加的时候不会新开辟空间
StringBuffer的插入字符:
.insert(插入的位置,要插入的字符);
————————————————
版权声明:本文为优快云博主「丿林」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_44490662/article/details/103005559