第十四届蓝桥杯集训——自定义函数+static+return
前言
在前面几个章节中我们经常使用到 【System.out.println()】,那么它是什么呢?
println() 是一个方法。
System 是系统类。
out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
那么什么是方法呢?
Java方法是语句的集合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
方法的优点
1. 使程序变得更简短而清晰。
2. 有利于程序维护。
3. 可以提高程序开发的效率。
4. 提高了代码的重用性。
自定义函数
修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }
方法的命名规则
1、方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:getInfo。这种命名方法是小驼峰是,但是很多人也喜欢通用大驼峰式,也是可以的。
2、下划线分割法:例如:get_info
自定义函数的结构
自定义函数示例
无返回值,无参数。
public void Fun() { System.out.println("无参数,无返回值。"); }
无返回值,有1个参数。
public void Fun(int num) { System.out.println("有一参数,无返回值。"); }
无返回值,有2个参数
public void Fun(int num,String str) { System.out.println("有俩参数,无返回值。"); }
函数重载
函数名称相同,传递的参数的类型或参数不同,不去管什么返回值,没有关系的。有了這個方法可以剩下不少函数命名的麻烦。
Fun();
Fun(1);
Fun(1,"有参");
对象
我们需要使用自定义函数,那么我们就需要学会对象的使用,在面向对象中有一句话,叫做万物皆对象,咱们在蓝桥杯中对象使用到也就是在一个类中操作,因为题目上传答案的要求就是在一个class中提交。
类
我们一直使用的class就是类,例如:public class Demo(){},其中Demo就是类名。
package com.item.action;//包 public class Demo {//类 }
内部类
内部类无法使用修饰符,只能直接写class 类名。
package com.item.action; public class Demo { public static void main(String[] args) { } //内部类无法使用修饰符,只能直接写class 类名 class Main{ } }
创建自己类的对象
我们需要使用【new】这个关键字来声明自身后才能使用。
对象 标识符=new 对象();
修饰符
修饰符 | 同一个类 | 同一个包 | 子类 | 直接调用 |
public(公共的) | Y | Y | Y | Y |
protected(受保护的) | Y | Y | Y | |
default(默认的) | Y | Y | ||
private(私有的) | Y |
自定义函数调用
这里通过对象的方式进行自定义函数的调用。下面是实例:
package com.item.action; public class Demo { public static void main(String[] args) { /** * 自定义函数<br/> * 访问修饰符 返回值 函数名称(参数1,参数2,...){ * 函数体; * return 返回值类型的对象; * } * public 公共的<br/> * private 私有的<br/> * static 不需要new直接调用<br/> * return 返回值<br/> */ /** * 自定义函数重载 */ Demo d = new Demo(); d.Fun(); d.Fun(1); d.Fun(1,"有参"); } public void Fun() { System.out.println("无参数,无返回值。"); } public void Fun(int num) { System.out.println("有一参数,无返回值。"); } public void Fun(int num,String str) { System.out.println("有俩参数,无返回值。"); } }
static修饰符
有了静态修饰符我们就可以直接访问自定义函数了,new着真的很麻烦。
在一个类中,我们使用static修饰了自定义函数后,我们就能在主函数中直接调用,因为主函数也是static修饰的。看完示例代码后我们来看看static的特点。
package com.item.action; public class Demo { public static void main(String[] args) { Fun(); Fun(1); Fun(1,"有参"); } public static void Fun() { System.out.println("无参数,无返回值。"); } public static void Fun(int num) { System.out.println("有一参数,无返回值。"); } public static void Fun(int num,String str) { System.out.println("有俩参数,无返回值。"); } }
static的特点
我把整个static的特点都做了一个罗列,咱们蓝桥杯中暂时用不到这么多。
1、静态随着类的加载而加载
2、静态优先于对象存在
3、类创建的所有对象都可以访问这个静态成员
4、可以通过对象调用,也可以通过类名调用
5、static方法中没有this
6、同一个类中静态方法
a、只能访问静态成员变量
b、只能访问静态方法
7、同一个类中非静态方法
a、可以访问静态成员变量,也可以访问非静态成员变量
b、可以访问静态成员方法,也可以访问静态成员方法
8、static可以修饰成员变量、成员方法、内部类(被修饰的内部类就相当于普通类)
9、被static修饰的成员变量有什么特点,当有一个对象改变了成员变量的值时,其他对象调用的成员变量只也随之改变。
10、public static final 可以修饰静态常量。
retuen特点
在一个函数中,如果遇到return,则跳出函数。
另外两个循环控制语句
循环中,如果遇到continue,则跳出当前循环,进入下一次循环,跟函数无关。
如果遇到break,则直接跳出循环,也可以结束switch开关。