Java中的方法和数组

方法

注意事项:

1.方法的声明必须在类中声明,在main主函数的外面

2.方法的调用必须再main主函数中调用。使用方法是的额名字来调用

3.方法的名字的命名和变量命名是一样的!!!

无参无返回值的方法

语法格式:

public static void 方法的名字(){

方法体;

}

相关代码

package com.qf.b_method;
public class Demo3 {
public static void main(String[] args) {
//通过方法 的名字来调用
printEat();//就会去执行printEat()后面大括号中的代码
}
//声明一个方法 打印5遍的中午吃黄焖鸡
//printEat  和main 是统一级别的!!!不能相互嵌套!!
//声明好一个方法就放在这个类中,并没有调用
//因为main主函数是程序入口,代码的执行都在main方法中
//现在printEat 写在main中了么?没有
public static void printEat () {
for (int i = 0; i < 5; i++) {
System.out.println("中午吃黄焖鸡");
}
}
}

有参无返回值的方法

语法格式:

public static void 方法的名字(数据类型 变量1,数据类型 变量2,...){

方法体;

}

相关代码

package com.qf.b_method;
public class Demo5 {
public static void main(String[] args) {
//在main主函数中调用这个方法
//声明的时候带了参数,调用的时候也得带一个参数
//main主函数中 这个34 叫实参 实际的参数
//方法的声明处 int num  叫形参 形式参数  只是一个形式而已
//将实参赋值给形参 将34 赋值 给 int num 这个变量
printNum(34);// int num  = 34;
sum(3, 4);
}
/**
 * 无返回值  void
 * 有参  方法的后面的小括号里有数据类型和变量
 * num  是一个声明的int 类型的变量而已
 * 是一个int类型的参数
 */
public static void printNum (int num) {
System.out.println(num + 2);
}
//求两个数的和一个方法
public static void sum (int a, int b) {
System.out.println(a + b);
}
}

无参有返回值的方法

语法格式:

public static 数据类型 方法的名字(){

方法体;

return 返回的数据;

}

相关代码

package com.qf.b_method;
public class Demo6 {
public static void main(String[] args) {
//调用 一个有返回值的方法的时候,要用一个变量接收一下
//在main主函数中调用 giveNum的时候 会返回一个值出来
//giveNum返回的值赋值给了 i这个变量
int i = giveNum();
System.out.println(i);
}
/**
 * 无参 : 方法后面的小括号里面没有东西
 * 有返回值的方法:  不能使用void 关键字,使用return关键字返回值
 * 没有返回值的,只是打印一下而已
 * 有返回值的,在调用方法的时候,会返回出来一个值
 * 
 * 就好比我口袋里面有一万块钱。
 * 我让你看看。这个操作就是没有返回值的
 * 我给你1万块钱让你话,这个叫有返回值的
 */
public static int giveNum () {
int a = 23;
//return 是返回的意思
return a;
}
}

有参有返回值的方法

语法格式:

public static 数据类型 方法的名字(数据类型 变量1,数据类型 变量2,...){

方法体;

return 返回的数据;

}

相关代码

package com.qf.b_method;
public class Demo7 {
public static void main(String[] args) {
int i = sum(10, 20, 30);
System.out.println(i);
String str1 = compareDouble(89.7, 98.3);
System.out.println(str1);
}
/**
 * 有参有返回值的方法
 * 有参: 方法的后面的小括号中有一个变量  暂时不用赋值
 * 有返回值:  在声明方法的时候告知此时返回的值是什么数据类型的
 * 
 */
//让求 三个int类型数的和  的值是int类型的数据
public  static int  sum (int a, int b, int c) {
//This method must return a result of type int
return  a + b + c;
}
//判断两个数double类型的数据谁大 谁小?这个方法咋写?
/**
 * 需要参数不?需要 传两个参数  double类型的
 * 返回值是啥?  能不能字符串类型的数据?
 */
public static String compareDouble (double d1, double d2) {
if (d1 > d2) {
return d1 + "大";
} else {
return d2 + "大";
}
//一个方法中能不能有两个return关键字,不可以!!!
//通过业务逻辑的判断 只能出现一个return
}
}

数组

数组在Java中的定义

变量定义:

数据类型 变量名字 = 值;

数组定义:

数据类型[] 数组名字 = 数组的值;

数组详细的语法格式:

第一种命名格式:

数据类型 [] 数组的名字= {值1,值2,值3,...};

数据类型 数组的名字 [] = {值1,值2,值3,...};

第二种命名方式:

数据类型 [] 数组的名字 = new 数据类型[容量];

数据类型 数组的名字 [] = new 数据类型[容量];

第三种命名方式【不常用】

数据类型 [] 数组的名字 = new 数据类型 [] {值1,值2,值3,...};

第二中数组命名是空的数组,其赋值方式:

package com.qf.test;
import java.util.Arrays;
public class Demo7 {
public static void main(String[] args) {
//第二种数组的声明方式
int[] arr = new int[3];//arr = {0,0,0};
//对这个空的数组进行的的赋值
arr[0] = 23;//将23d赋值给 下标为0 的arr这个数组  arr = [23, 0, 0]
//System.out.println(Arrays.toString(arr));
arr[1] = 45;
//System.out.println(Arrays.toString(arr));//arr = [23, 45, 0]
arr[2] = 678;
System.out.println(Arrays.toString(arr));//arr = [23, 45, 678]
//arr[3] = 250;  这个下标越界
//ArrayIndexOutOfBoundsException   数组下标越界
//System.out.println(Arrays.toString(arr));
System.out.println("=========");//arr = [23, 45, 678]
/**
 * i=0  0<3  true   arr[0] = 89   arr = [89, 45, 678] i++
 * i=1 1<3  true  arr[1] = 90 arr=[89, 90, 678] i++
 * i=2 2<3  true  arr[2]= 91  arr =[89, 90, 91] i++
 * i=3 3<3 false  循环结束以后  arr =[89, 90, 91]
 */
for (int i = 0; i < 3; i++) {
arr[i] = 89 + i;
}
System.out.println(Arrays.toString(arr));//[89, 90, 91]
}
}

对数组的取值(通过下标进行取值)

package com.qf.test;
public class Demo8 {
public static void main(String[] args) {
int[] arr = {32, 45, 89, 12, 999, 5667};
//获取数组中的值
System.out.println(arr[0]);//32
System.out.println(arr[1]);//45
System.out.println(arr[2]);//89
System.out.println(arr[3]);//12
System.out.println("==============");
for (int i = 0; i < 4; i++) {
//i的循环的值 刚好作为数组的下标
System.out.println(arr[i]);
}
//数组.length    数组的长度
System.out.println(arr.length);//  arr的长度    4
System.out.println("---------------");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
String[] strs = {"张三", "狗蛋", "麻子", "嘻嘻"};
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
}

二维数组

语法格式:

数据类型[][] 数组名字 = new 数据类型[容量][容量];

package com.qf.test;
import java.util.Arrays;

public class Demo9 {
    public static void main(String[] args) {
        int[][] arr = new int[2][3];
        
        arr[0][0] = 78;
        arr[0][1] = 89;
        arr[0][2] = 100;
        arr[1][0] = 250;
        arr[1][1] = 101;
        arr[1][2] = 99;
        
        //第一个[]  是行  第二个[] s是列
        //取数据  使用循环来取
        for (int i = 0; i < 2; i++) {//控制行
            for (int j = 0; j < 3; j++) {//控制列
                
                System.out.println(arr[i][j]);
            }
        }
        
        
        
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值