java5

****************************************************方法*************************************************

【注意】:每做完一道题,回头总结

今日内容:

方法:
1、无参数、无返回值
2、有参数、无返回值
3、无参数、有返回值
4、有参数、有返回值
方法的调用:

方法:就是一段有名称的代码块,(实现独立的功能)
程序中如果要使用这个功能,调用代码块即可,(通过方法名)
好处:
1)代码复用
2)模块化程序,代码结构更清晰
练习1:编写方法:输入两个数,计算这两个数的和
1)无参数无返回值的方法来写

Ex1.java

package cn.qc.java1706.day5;

import java.util.Scanner;

public class Ex1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex1 e=new Ex1();
  //想执行几次就调用几次
  //一处编写,处处调用
//  e.add();
//  e.add();
  //有两个数要计算和
  e.sum(23232,3534);
 }
 public void add(){
  Scanner ip=new Scanner(System.in);
  System.out.println("请输入第一个数:");
  int num1=ip.nextInt();
  System.out.println("请输入第二个数:");
  int num2=ip.nextInt();
  int sum=num1+num2;
  System.out.println("和为:"+sum);
 }
 //声明有参数无返回值的方法
 //计算两个数的和,要计算的两个数需要别人传递过来
 //需要在()里声明两个参数(变量),接收别人传递过来的两个数
 public void sum(int num1,int num2){
  //可以直接使用参数
  int ret=num1+num2;
  System.out.println(ret);
 }
}

 

有参数无返回值的方法:
参数:变量
声明变量:数据类型  变量名
作用:在调用方法时,用来接收用户传入的值,在方法体内部可以直接使用变量里的值
public void sum(数据类型 变量名,数据类型 变量名){
}

Ex2.java

package cn.qc.java1706.day5;

public class Ex2 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex2 e = new Ex2();
  //调用方法时,传递的参数叫做实际参数,简称实参1990,2017
  //调用方法时的要求:实参和形参要一一对应(类型、含义)
  e.year(1990, 2017);
 }
 //声明方法时,声明的参数叫做形式参数,简称形参
 //year1  year2
 public void year(int year1, int year2) {
  int count = 0;
  for (int i = year1; i <= year2; i++) {
   if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
    count++;
   }
  }
  System.out.println(year1+"到"+year2+"闰年个数一共为:" + count+"个");

 }

}


要求:介绍自己  形参(String name,int age)
方法体:我叫+姓名 我今年+年龄
Ex3.java

package cn.qc.java1706.day5;

public class Ex3 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex3 e=new Ex3();
  e.intrduse("小花", 20);
 }
 public void intrduse(String name,int age){
  System.out.println("我叫:"+name+",年龄:"+age);
 }
}


形参的声明可以有无数个,
【注意】实参和形参在个数、顺序、类型以及含义一定要一一对应

练习:

随意输入三个数,
按顺序输出这三个数

Ex4.java

package cn.qc.java1706.day5;

public class Ex4 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex4 e=new Ex4();
  e.num(22, 21, 13);
 }
 public void num(int num1,int num2,int num3){
  if(num1>num2){
   int t=num1;
   num1=num2;
   num2=t;
  }if(num1>num3){
   int t=num1;
   num1=num3;
   num3=t;
  }if(num2>num3){
   int t=num2;
   num2=num3;
   num3=t;
  }
  System.out.println("从小到大的顺序为:"+num1+","+num2+","+num3);
 }
}


要求:声明长度为10的数组,存放任意数,先打印一遍数组里的值,对数组处理,偶数索引的值+5,
再打印一遍数组

Ex5.java

package cn.qc.java1706.day5;

public class Ex5 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int[] nums={12,23,34,45,67,78,89,90,99,88};
  Ex5 e=new Ex5();
  e.num(nums);

 }
 public void num(int[] nums){
  System.out.println("打印数组如下:");
  for(int i=0;i<nums.length;i++){
   System.out.print(nums[i]+" ");
   
  }
  System.out.println("");
  System.out.println("改变后数组如下:");
  for(int i=0;i<nums.length;i++){ 
    if(i%2==0){
    nums[i]+=5;
   }
   System.out.print(nums[i]+" ");
  }
 }

}


有参数有返回值的方法
返回值:数值,方法处理的结果,返回到(传递回)调用处

语法:
public 返回值的类型 方法名(参数列表){
 //方法体代码
 return 返回值;
}

声明两个数组,计算得到两个数组中的最大值
进行处理:求和
分析:
参数:int[] ary
返回值: int

见代码Ex6.java

package cn.qc.java1706.day5;

public class Ex6 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex6 e=new Ex6();
  int[] ary1={66,76,88,77,99,100};
  int[] ary2={66,76,88,77,89,77};
  //调用有返回值的方法时,最好声明一个变量来接收返回值
  int ret1=e.findMax(ary1);
  System.out.println("第一个数组中最大值为:"+ret1);
  int ret2=e.findMax(ary2);
  System.out.println("第二个数组中最大值为:"+ret2);
 }
 //寻找数组中的最大值
 //void和return不能同时存在
 public int findMax(int[] ary){
  int max=0;
  for(int i=0;i<ary.length;i++){
   if(ary[i]>max){
    max=ary[i];
   }
  }
  //return   返回
  //return后面的值的类型一定要和方法的返回值类型一致
  return max;
 }
}

Ex7.java

package cn.qc.java1706.day5;

public class Ex7 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Ex7 e=new Ex7();
  int[] ary1={66,77,88,93,97};
  float ret1=e.findAvg(ary1);
  System.out.println("5个成绩的平均分为:"+ret1);

 }
 public float findAvg(int[] ary){
  int sum=0;
  for(int i=0;i<ary.length;i++){
    sum+=ary[i];
  }
  float avg=sum/ary.length;
  return avg;
 }
}


Ex8.java

package cn.qc.java1706.day5;

import java.util.Scanner;

public class Ex8 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner ip=new Scanner(System.in);
  System.out.println("请输入第一个数:");
  int num1=ip.nextInt();
  System.out.println("请输入第二个数:");
  int num2=ip.nextInt();
  Ex8 e=new Ex8();
  int ret1=e.max(num1, num2);
  System.out.println("最大公约数为:"+ret1);
  int ret2=e.min(num1, num2);
  System.out.println("最小公倍数为"+ret2);
  int ret=ret1+ret2;
  System.out.println("最大公约数和最小公倍数的和为"+ret);

 }
 public int max(int num1,int num2){
  int min=num1<num2?num1:num2;
  int sum=0;
  for(int i=min;i>0;i--){
   if(num1%i==0&&num2%i==0){
     sum=i;
    break;
   }
  }
  return sum;
 }
 public int min(int num1,int num2){
  int sum=0;
  int max=num1>num2?num1:num2;
  for(int i=max;;i++){
   if(i%num1==0&&i%num2==0){
    sum=i;
    break;
   }
  }
  return sum;
 }
}

 

【注意点】
1)有返回值类型,在方法体中一定要有return
2)return 后面的类型一定要和方法返回值的类型一致
3)void和return在同一方法中不能同时出现
4)return值 一定是方法体中最后一条语句

练习:有参数有返回值类型的方法
数组里存放5个成绩,调用方法来计算成绩的平均分,返回平均分


随意接受两个数,获取这两个数的最大公约数和最小公倍数,求和

 

*****************************************一周总结:*************************************************

记住且理解内容

1、数据类型 及长度 8种
int 4字节 double 8字节  boolean 1字节1/8字节  short2字节  long  8字节  char 2字节 float 4字节 byte 1字节

   自动转:小的往大的转,同类型之间转换
   强制转:大的往小的转,会失去精度
   double dpi=3.14;
   float  fpi=(float)dpi;

2、运算符的使用  理解

   运算符的优先级别:算术(+ - * / %)、比较(> >= < <= == !=)、逻辑(&& || !)、赋值(= += -= *= /= %=)

   重点:三目运算符
  表达式1?表达式2:表达式3;
   重点:单目运算符
  ++   --

3、选择结构

   if  switch用法及注意点:
  
  

4、循环结构

   哪些循环  语法  执行过程(重点)

   循环的特点
   循环两要素:条件 循环体
   注意点:死循环   for三个表达式是否必须有
5、数组
   什么是数组?
   概念、特点、好处
   索引 索引范围 数组元素
   如何访问数组元素  数组遍历(三种遍历方式for while do)
   二维数组  重点:存储结构、如何遍历
6、方法
   概念、好处
   语法:声明的语法(各种方法)
         调用的语法

灵活运用:
1、利用循环我们的各种算法
   斐波那契数列
   最小公倍数、最大公约数
   素数之和
   打印回文数(水仙花数)
   与7相关的数(包括各位7十位7、7的倍数)
   数的反转(降位)
   打印图形(直角三角形,等腰三角形,菱形,对角线)
2、数组的
   数组值的复制
   数组元素的倒转
   排序
   元素重复的个数
   元素出现个数
   二维数组:横向计算  纵向计算等
3、方法的应用
4、讲解过的作业题
  
下周:面向对象

 

 

 

 

 

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值