方法;
什么是方法:就是对业务的一种封装,封装就是业务的容器,方法也叫函数,叫法不一样,其实是一模一样的内容
如何定义方法:
格式:修饰符 返回值类型 方法名 (){}
位置:方法和方法之间是一种并列关系
修饰符 返回值类型 方法名(参数类型 参数名1,…){
执行语句
…
return 返回值;(如果返回值类型为void就不需要return返回值)
}
*修饰符:方法的修饰符有很多,有对访问权限进行限定的,有静态修饰符static,还可以最终修饰符final等,
*返回值类型:用于限定方法返回值的数据类型,
*参数类型:用于限定调用方法时传入参数的数据类型,
*参数名:是一个变量,用于接收调用方法时传入的数据,
*return关键字:用于结束方法和返回方法指定的类型值,
*返回值:被return语句返回的值,该值会返回给调用者,
方法的调用:
直接调用
方法名();最方便的,没有返回值的方法
输出调用
system.out.println(方法名());
想要第一时间看到方法的计算结果
赋值调用
变量 = 方法名();
使用最繁琐,最灵活的
总结
当我们在定义方法的时候,如果最终的结果值,是被直接输出的话,那返回值必须是void
课堂练习
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class test04 { //利用方法再写一遍
/* int m =0; //求所有三位数中偶数的和
int sum=0;
for(int i =100; i<=999;i++) {
if(i%2==0) {
sum+=i;
m++;
}
}
System.out.println(sum);
System.out.println(m);
*/
/*
public static Map<String,Integer> Cout() { //创建项目 需求分析
Map<String,Integer> map = new HashMap<String,Integer>(); //使用map集合类,可以返回多个方法中的参数结果,
int sum=0;
int m=0; //定义二个变量,为下面的求值做铺垫
for (int i = 100; i <=1000; i++) { //遍历所有的三位数;
if(i%2==0) { //判定是否为偶数
sum+=i;
m++; //做++
}
}
map.put("he", sum);
map.put("ge", m); //在map 中存值
return map;
}
public static void main(String[] args) {
Map<String,Integer> map = Cout(); //在主方法中取值。
System.out.println("和为: " + map.get("he"));
System.out.println("个数为: " + map.get("ge"));
}
*/
//求1-100之间的质数
/* for(int i =2; i<=100;i++) {
if(i==2||i==3||i==5) {
System.out.println(i);
}
if((i%2!=0 && i%3!=0) && (i%5!=0)) {
System.out.println(i);
}
}
*/
/*
//打印质数使用方法写
public static void Zshu() { //新建项目 需求分析
for(int i =2; i<=100;i++) { //循环1-100的之间的质数,1不是质数.所以从2开始循环
if(i==2||i==3||i==5) { //观察数字的特点.除了质数外其他的数都能整数2,3,5,同时2,3,5本身就是质数
System.out.println(i);
}
if((i%2!=0 && i%3!=0) && (i%5!=0)) { //根据数字的构造特点 判定是否为质数
System.out.println(i);
}
}
}
public static void main(String[] args) { //直接调用方法
Zshu();
}
*/
// 使用方法 打印九九乘法表
/*
public static void Nine() { //新建项目 需求分析
for(int i=1;i<10;i++){ //二个循环,外层循环用于循环9行
for(int j=1;j<i+1;j++){ //内层循环用于循环输出每行的 内容表达式
System.out.print(i+" x "+j+"="+i*j+" "); //输出表达式
if(j==i){
System.out.print("\n\r"); // 换行
}
}
}
}
public static void main(String[] args) { //直接调用方法
Nine();
}
*/
/*
//使用方法 求数组中的平均数与和
public static Map<String,Integer> Arrayavg() { //新建项目 需求分析
Map<String,Integer> map = new HashMap<String,Integer>(); //利用集合 来存储我们返回的二个值
Scanner sc = new Scanner(System.in); //键盘输入
int sum =0;
int begin =sc.nextInt(); // 定义数组的长度
int arr [] = new int [begin];
for (int i = 0; i < arr.length; i++) { //循环输入我们要存储数组的值,从键盘进来的
arr[i]=sc.nextInt();
}
for (int j = 0; j < arr.length; j++) { //进行循环累加
sum+=arr[j];
}
//System.out.println(sum);
//System.out.printf("%.2f",sum/(arr.length));
int a =sum; //进行map集合存值
int b =a/arr.length;
map.put("he", a);
map.put("avg", b);
return map;
}
public static void main(String[] args) {
Map<String,Integer> map = Arrayavg(); //在主方法中取值。
System.out.println("和为: " + map.get("he"));
System.out.println("平均数为: " + map.get("avg"));
}
*/
// 用方法,求数组中的最值问题。
/*
public static void MaxArray() { //新建项目 需求分析
Scanner sc = new Scanner(System.in); //键盘输入
int a = sc.nextInt();
int arr [] = new int [a]; //定义数组的长度
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt(); //循环获取数组中存储的值,从键盘进来的
}
int max=arr[0];
for (int j = 1; j < arr.length; j++) { //利用比较替换 来找出最大的值
if(max<arr[j]) {
max=arr[j];
}
}
System.out.println(max);
}
public static void main(String[] args) { //直接调用方法 输出
MaxArray();
}
*/
//用方法写 冒泡排序
/*
public static void sort(int[] arr) { //新建项目 需求分析
int a= arr.length; //给参数数组的长度定义个变量
for (int i = 0; i < arr.length; i++) { //外层循环用于给出数组中的全部数
for (int j = 0; j < arr.length-1; j++) { //内层循环用于比较是否比后一个值大?
if(arr[j]>arr[j+1]) { //条件判定,如果 大 就交换位置
int temp =0;
temp=arr[j]; //引入第三方,用于交换替代
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("排序后的是:");
for (int i = 0; i < arr.length; i++) { //遍历排序后的数组
System.out.println(arr[i]);
}
}
public static void main(String[] args) { //调用方法
int arr[]= {5,9,4,88,7,55}; //定义方法中参数的数组并赋值
sort(arr); //直接调用方法。
}
*/
// 用方法对数组进行奇偶排序
public static void Sort(int arr[]) { //新建项目 需求分析
for (int i = 0; i < arr.length; i++) { //进行前后交换,判断奇偶数即可 ,或者也可以加二
if(i%2!=0) {
int temp =0; //判断偶数,然后和他的后一位进行交换即可。
temp=arr[i];
arr[i]=arr[i-1];
arr[i-1]=temp;
}
}
for (int i = 0; i < arr.length; i++) { //遍历循环出排序后的数组
System.out.println(arr[i]);
}
}
public static void main(String[] args) { //调用方法
int arr []= {11,22,33,44,55,66}; //定义方法中的参数数组并给值
Sort(arr); //直接调用有参的方法
}
}