Java基本语法和知识点(个人笔记)4

Java基础3.0

一.方法

1.方法的定义:

定义方法的语法:修饰符 返回值类型 方法名(参数列表){ 方法体 }

示例.定义一个方法:

public static int max(int num1, int num2){
  int result;
  if(num1>num2)
    result = num1;
  else
    result = num2;
  return result;
}

示例.调用一个方法:

int z = max(x,y);

示例.测试数字max的方法:

public class TestMax{
 public static void main(String[] args){
    int i = 5;
    int j = 2;
    int k = max(i,j);
    System.out.println("The maximum of " + i + "and" + j + "is" +k);
    
 }

 public static int max(int num1, int num2){
    int result;

    if(num1>num2)
       result = num1;
    else
       result = num2;
    return result;
 }
}

值传的分析:
在这里插入图片描述

2.方法的作用:
  • 方法可以用于定义重复使用的代码以及组织
  • 方法可以简化编码。
3.void方法与返回值方法

比较两种代码
代码一

public class TestVoidMethod{
   public static void main(String[] args){
     System.out.print("The grade is");
     printGrade(78.5);

     System.out print("The grade is");
     printGrade(59.5);
   }

   public static void printGrade(double score){  //不同点
     if(score>=90.0){
         System.out.println('A');
     }
     else if (score>=80.0){
         System.out.println('B')
     }
     else if (score>=70.0){
         System.out.println('C')
     }
     else if (score>=60.0){
         System.out.println('D')
     }
     else {
         System.out,println('F');
     }
   }
}

代码二

public class TestReturnGradeMethod{
    public static void main(String[] args){
        System.out.print("The grade is " + getGrade(78.5));
        System.out.print("\nThe grade is " + getGrade(59.5));
    }
    public static char getGrade(double score){  //不同点
       if(score>=90.0){
         return 'A';
     }
     else if (score>=80.0){
         return 'B';
     }
     else if (score>=70.0){
         return 'C';
     }
     else if (score>=60.0){
         return 'D';
     }
     else {
         return 'F';
     }
   }
    }
}
不同点:
  • 代码一中的printGrade()是一个void方法,它不包含返回值,所以对void方法的调用必须是一条语句,因此必须在main里让printGrade()作为一条语句调用,如printGrade(78.5);
  • 代码二中所定义的getGrade()返回的是一个数字,我们可以在在任何出现的地方被调用,如:System.out.print("The grade is " + getGrade(78.5));
  • 注意:return语句对于void方法不是必需的,但是它可以用于终止方法并返回到方法的调用者。语法为:return;
4.按值传参
  • 按值传参其实是通过传值的方式将实参的值传给形参。
    示例.交换数值
public class TestPassValue{
  public static void main(String[] args){
      int num1 = 1;
      int num = 2;
      System.out.println("Before invoking the swap method ,num1 is " + num1 + "and num2 is " + num2);
      swap(num1,num2);
      System.out.println("Before runing the swap method , num is" + num1 + "and num2 is " + num2);
  }
  public static void swap(int n1, int n2){\
    System.out.println("\tInside the swap method");
    System.out.println("\t\tBefore swapping, n1 is" + n1 + "and n2 is" + n2);
    int temp = n1;
    n1 = n2;
    n2 = temp;
    System.out.println("\t\tAfter swapping,n1 is " + n1 + "and n2 is " + n2);
  }
}
  • 在调用swap方法前,num1为1而num2为2.在调用swap方法后仍为1和2 ,这是因为他们的实际的值(即实参)没有因为swap方法而进行调用,num1和num2只是将自己的值传递给n1和n2,但是n1和n2有独立与num1和num2的存储空间,所以,n1和n2的改变并不会影响num1和num2的内容。
5.示例学习.生成随机字符

示例.显示175个随机的小写字母

public class TestRandomCharacter{
   public static void main(String[] args){
     final int NUMBER_OFCHARS = 175;
     final int CHARS_PER_LINE = 25;
     for (int i = 0; i < NUMBER_OF_CHARS; i++){
        char ch = RandomCharacter.getRandomLowerCaseLetter();
        if ((i + 1) % CHARS_PER_LINE ==0)
            System.out.println(ch);
        else 
            System.out.print(ch);
     }
   }
   public class RandomCharacter{
     public static char getRandomCharacter(char ch1, char ch2){
        return (char)(ch1 + Math.random()*(ch2-ch1+1));
     }
     public static char getRandomLowerCaseLetter(){
        return getRandomCharacter('a', 'z');
     }
     public static char getRandomUpperCaseLetter(){
        return  getRandomCharacter('A', 'Z');
     }
     public static char getRandomDigitCharacter(){
        return getRandomCharacter('0', '9');
     }
     public static char getRandomCharacter(){
        return getRandomCharacter('\u0000','\uFFFF');
     }
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值