方法的定义格式:
修饰符 返回值的数据类型 方法名(参数1,参数2,…,参数n){
语句序列;
return 表达式;
}
方法的调用格式:直接调用:方法名(实参);
赋值调用:数据类型 变量名=方法名 (实参);
【特殊的方法的定义格式】
public static void 方法名(){
语句序列;
}
调用格式:方法名();
【注意】1:方法与方法之间是平级关系,不能嵌套定义。
2:方法的编写顺序和执行顺序无关。
3:方法的返回值类型为void (无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
4:return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
5:方法不调用就不执行。
6:方法中的参数称为形式参数,简称形参。当调用方法时用于接受数据,而传递给方法的值称为实际参数,简称实参,形参用于接收实参。
7:Java的基本类型的参数传递:值传递。
8:在传输实参给方法的形参的时候,并不是传输实参变量本身,而是在传输实参变量中的存储的值,这就是值传递。
9:方法的运行区域在栈内存。
10:基本类型和引用类型的参数在传递的时候
相同点:都是值传递。
不同点:基本类型的参数传输存储的数据值。
引用类型的参数传输存储的地址值。
方法重载:同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。与返回值类型无关。
【注意】形参列表不同指的是:形参的个数,类型,顺序不同,不关心形参的名称。
代码练习
1 将数组arr中从索引from(包含from)开始,到索引to(不包含to)的元素复制到新数组中
package com.company;
public class Main {
public static void main(String[] args) {
int []arr={23,56,78,44,11,29,88,87,};
int []copyarr=GetNewArr(arr,3,7);
for(int i=0;i
System.out.print(copyarr[i]+" ");
}
}
public static int[] GetNewArr(int[]arr,int from,int to){
int []newarr=new int[to-from];
int index=0;
for(int i=from;i
newarr[index]=arr[i];
index++;
}
return newarr;
}
}
2 机票价格按照淡季旺季,头等舱和经济舱收费,输入机票原价,月份和头等舱或经济舱。
按照如下规则计算机票价格:旺季(5-10月)头等舱九折,经济舱八点五折,淡季(11月到来年4月)头等舱七折,经济舱六点五折。
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入机票的原价:");
int ticket=sc.nextInt();
System.out.println("请输入月份:");
int month=sc.nextInt();
System.out.println("请输入座位 0 头等舱 1经济舱");
int seat=sc.nextInt();
if(month>=5&&month<=10){
int newticket=getprice(ticket,seat,0.9,0.85);
System.out.println("打折后的机票价钱为"+newticket);
}else if((month>=1&&month<=4)||(month>=11&&month<=12)){
int newticket=getprice(ticket,seat,0.7,0.65);
System.out.println("打折后的机票价钱为"+newticket);
}else {
System.out.println("输入的月份不合理");
}
}
public static int getprice(int ticket,int seat,double v0,double v1){
if(seat==0){
ticket=(int)(ticket*v0);
}else if(seat==1){
ticket=(int)(ticket*v1);
}else{
System.out.println("输入的座位不正确");
}
return ticket;
}
}
3 在唱歌比赛中,有六名评委给选手打分,分数范围是0~100之间的整数。选手的最后得分为:去掉最高分,最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] scoresarr=getscores();
for(int i=0;i
System.out.print(scoresarr[i]+" ");
}
int max=getMax(scoresarr);
int min=getMin(scoresarr);
int sum=getSum(scoresarr);
int avg=(sum-max-min)/(scoresarr.length-2);
System.out.println("选手的最终得分为"+avg);
}
public static int getSum(int[] scoresarr){
int sum=0;
for(int i=0;i
sum=sum+scoresarr[i];
}
return sum;
}
//求数组的大值
public static int getMax(int[] scoresarr){
int max=scoresarr[0];
for(int i=1;i
if(scoresarr[i]>max){
max=scoresarr[i];
}
}
return max;
}
//求数组的最小值
public static int getMin(int[] scoresarr){
int min=scoresarr[0];
for(int i=1;i
if(scoresarr[i]
min=scoresarr[i];
}
}
return min;
}
//定义一个数组
public static int[] getscores(){
int[] scores=new int[6];
Scanner sc=new Scanner(System.in);
for(int i=0;i
System.out.print("请输入评委的打分:");
int score=sc.nextInt();
if(score>=0&&score<=100) {
scores[i] = score;
i++;
}else{
System.out.print("成绩超出了范围,继续录入,当前i的值为"+i);
}
}
return scores;
}
}
4某系统的数字密码(大于0),比如1983,采用加密方式进行传输。 规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
int number=1983;
int temp=number;
int count=0;
while(number!=0){
number=number/10;
count++;
}
int[] arr=new int[count];
int index=arr.length-1;
while(temp!=0){
int ge=temp%10;
temp=temp/10;
arr[index]=ge;
index--;
}
for(int i=0;i
arr[i]=(arr[i]+5)%10;
}
for(int i=0,j=arr.length-1;i
int newtemp=arr[i];
arr[i]=arr[j];
arr[j]=newtemp;
}
int newnumber=0;
for(int i=0;i
newnumber=newnumber*10+arr[i];
}
System.out.println("加密之后的数字为 "+newnumber);
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧