1.定义方法
为什么要定义方法: 避免重复造轮子
方法的重载:
一个类中可以定义多个名字相同的方法,但是必须保证参数的个数或类型不同,与返回值无关
练习: 定义下列方法并在main方法中进行测试
- 定义一个方法:传入一个名字a,打印 "a,我想你“
public class Test{
public static void main(String[] args) {
printName("安红");
}
//定义一个方法:传入一个名字a,打印 "a,我想你“
public static void printName(String name){ //无返回值方法的定义
System.out.println(name + ",我想你");
}
}
- 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型
public class Test{
public static void main(String[] args) {
ifEqual((byte)3,(byte)4);
ifEqual((short)3,(short)4);
ifEqual(3,4);
ifEqual(3l,4l);
}
//比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型
public static void ifEqual(byte a ,byte b){
if(a==b){
System.out.println(a+"与"+b+"相等");
}else{
System.out.println(a+"与"+b+"相等");
}
}
public static void ifEqual(short a ,short b){
if(a==b){
System.out.println(a+"与"+b+"相等");
}else{
System.out.println(a+"与"+b+"相等");
}
}
public static void ifEqual(int a ,int b){
if(a==b){
System.out.println(a+"与"+b+"相等");
}else{
System.out.println(a+"与"+b+"相等");
}
}
public static void ifEqual(long a ,long b){
if(a==b){
System.out.println(a+"与"+b+"相等");
}else{
System.out.println(a+"与"+b+"相等");
}
}
}
- 定义一个求1-100之间所有的偶数和的方法 然后将偶数的和返回 返回之后 在去做乘法运算 乘以2
public class Test{
public static void main(String[] args) {
System.out.println(getOuSum()*2);
}
//定义一个求1-100之间所有的偶数和的方法 然后将偶数的和返回 返回之后 在去做乘法运算 乘以2
public static int getOuSum(){ //有返回值方法的定义
int sum=0;
for(int i = 0;i <=100;i++){
if(i%2==0){ //(i&1) != -1;
sum+=i;
}
}
return sum;
}
}
- 定义一个方法打印两个double类型的值的差
public class Test{
public static void main(String[] args) {
getCha(12.4, 12.1);
}
//定义一个方法打印两个double类型的值的差
public static void getCha(double a ,double b){
System.out.println(a-b);
}
}
- 定义一个方法打印长方形的面积和周长
public class Test{
public static void main(String[] args) {
getSquare(3, 4);
}
//定义一个方法打印长方形的面积和周长
public static void getSquare(double a ,double b){
System.out.println("长为"+a+",宽为"+b+"的长方形的面积为"+a*b+",周长为"+(a+b)*2);
}
}
- 定义一个方法,传入一个行数和列数, 输出对应的星星图案(x行n列)
public class Test{
public static void main(String[] args) {
getStar(3, 6);
}
//定义一个方法,传入一个行数和列数, 输出对应的星星图案(x行n列)
public static void getStar(int a,int b){
for(int i = 0 ; i < a;i++){
for(int j = 0 ; j < b;j++){
System.out.print("*");
}
System.out.println();
}
}
}
- 定义一个方法,传入一个整数,并判断这个整数是不是偶数,如果是,返回true,如果不是返回false
public class Test{
public static void main(String[] args) {
System.out.println(isOu(12));
}
//定义一个方法,传入一个整数,并判断这个整数是不是偶数,如果是,返回true,如果不是返回false
public static boolean isOu(int a ){
return (a&1)!=1; //很高深,值得仔细推敲 判断一个数是不是偶数时用到,让别人大吃一惊
};
- 定义一个方法,传入三个float类型的值,返回三个数中的最大值
public class Test{
public static void main(String[] args) {
System.out.println(getMax(2,3,4));
System.out.println(getMax(12, (float)22.4, (float)13));
}
//定义一个方法,传入三个float类型的值,返回三个数中的最大值
public static float getMax(float a ,float b,float c){
return a>b?a>c?a:c:b>c?b:c;
}
}
- 定义一个方法,传入两个整数,分别输出这两个数的和,差、积、商
public class Test{
public static void main(String[] args) {
getCal(12, 4);
}
//定义一个方法,传入两个整数,分别输出这两个数的和,差、积、商
public static void getCal(int a , int b){
System.out.println(a+"+" + b+ "="+ (a+b));
System.out.println(a+"-" + b+ "="+ (a-b));
System.out.println(a+"*" + b+ "="+ a*b);
System.out.println(a+"/" + b+ "="+ a/b);
}
}
- 定义一个方法,传入两个int 参数a,b 打印b个a
public class Test{
public static void main(String[] args) {
getPrint(5, 6);
}
//定义一个方法,传入两个int 参数a,b 打印b个a
public static void getPrint(int a , int b){
String output="";
for(int i = 1 ; i <=b;i++){
output+=a //字符串连接
}
System.out.println(output);
}
public static int getPrint(int a,int b){ //返回值为int
String output="";
for(int i = 1 ; i <=b;i++){
output+=a;
}
return Integer.parseInt(output); //int a = Integer.parseInt(str) 将字符串转为int
}
}
自动售货机 *******************
屏幕显示:请选择您要购买的商品编号1:雪碧(3元) 2:矿泉水(2元) 3:红牛(6元)
用户输入编号后,屏幕显示请输入金额,用户输入金额
结果:
如果购买成功输出:您购买的商品*,价格*,实收*,找零*,谢谢惠顾!
如果购买失败输出:对不起您的金额不足!
import java.util.Scanner;
public class ZIdongshouhuoji {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请选择您要购买的商品编号1:雪碧(3元) 2:矿泉水(2元) 3:红牛(6元)");
int proNo= sc.nextInt();
if(proNo >3 | proNo <1){
System.out.println("输入有误");
return; //结束方法
}
System.out.println("请付钱");
double money = sc.nextDouble();
//写一个方法,选择商品,计算差价,从而打印不同内容
getResult(money, proNo);
}
//选择商品;
public static String proName(int proNo){
if(proNo ==1){
return "雪碧";
}else if(proNo ==2){
return "矿泉水" ;
}else{
return "红牛";
}
}
//饮料的价格
public static double getPrice(int proNo){
if(proNo ==1){
return 3;
}else if(proNo ==2){
return 2;
}else {
return 6;
}
}
//计算差价
public static double getCha(double money,int proNo){
return money- getPrice(proNo);
}
//输出结果
public static void getResult(double money,int proNo){
if (getCha(money,proNo)>=0){
System.out.println("您购买的商品"+ proName(proNo)+",价格"+getPrice(proNo) +",实收" +money + ",找零" + getCha(money,proNo)+ ",谢谢惠顾!");
}else{
System.out.println("对不起您的金额不足!");
}
}
}