六、JAVA基础语法(4)

标签: java

方法

方法:将一团功能完整的代码组织成一个方法,在需要使用该代码组织的地方进行调用。减少了重复的代码。

方法定义格式

定义之前要考虑两件事情,方法有没有返回值,方法有没有参数
返回值:方法执行完毕之后,返回给你的数据,当不需要的时候使用void
参数:方法执行时需要外部传进来的数据
修饰符:用来声明类、接口,或者方法的标识符,如public,private等,就是不同的权限,理解起来就像是公共厕所public和你自己家的厕所private
修饰符 返回值类型 方法名(参数类型 参数名){
方法体,执行语句
return 返回值
}
演示:

//方法练习类
public class SimpleMethod {
    //程序主入口方法
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }
    //定义无参数无返回值的方法
    public void sayHello() {
        System.out.println("你好,JAVA");
    }
    //定义返回整数的方法
    public int getAge() {
        return 10;
    }
    //定义一个有一个参数且返回一个整数的方法
    public int getSum(int number) {
        return 10+number;
    }
}

方法的重载

当你遇到多个参数且方法的内部结构一致的时候,可将这个方法定义成同名方法,只是这个同名的方法的参数不同。这两个方法具有相同的名称但是不同参数,这样我们称之为方法的重载

    //定义一个有一个参数且返回一个整数的方法
    public int getSum(int number) {
        return 10+number;
    }
    //同名方法参数个数不同进行重载
    public int getSum(int a,int b) {
        return a+b;
    }
方法重载特点:
  1. 参数个数不同
  2. 参数类型不同
  3. 参数顺序不同

注意:方法的返回值类型不同不能构成重载

方法的调用

有返回值:返回值数据类型 返回值 =方法名(方法需要的数据)
无返回值:方法名(方法需要的数据)

//方法练习类
public class SimpleMethod {
    //程序主入口方法
    public static void main(String[] args) {
        //调用无参有返回值方法
        int age =getAge();
        //调用无参数无返回值的方法
        sayHello();

    }
    //定义无参数无返回值的方法
    public static void sayHello() {
        System.out.println("你好,JAVA");
    }
    //定义返回整数的方法
    public static int getAge() {
        return 10;
    }
    //定义一个有一个参数且返回一个整数的方法
    public static int getSum(int number) {
        return 10+number;
    }
    //同名方法参数个数不同进行重载
    public static int getSum(int a,int b) {
        return a+b;
    }
}

经常使用的方法,控制台输出方法:System.out.println();

数组

程序的基本功能就是处理数据的能力,在处理数据之前程序应该先持有数据,在对数据进行处理,程序中临时存储数据的部分叫做容器。数组是程序中最基本的存储数据的容器。数组是引用类型,所以要创建实例
数组的定义格式:数据类型[] 数组名称 =new 数据类型[数组长度]
其他定义格式:int[] arr =new int[]{1,2,3,4,5}, int arr[] =new int[10], int[] arr ={1,2,3,4,5}
索引:数组在内存中是一块连续的存储空间,所以数组是线性的,数组的底层依次对数据进行编号,然后通过编码进行访问,索引从0开始计数
访问:两种含义,一种是赋值,一种是获取值
数组在内存的表现:
数组在内存中的表现
数组的特点

  1. 数组效率高
  2. 数组中只能存储一种数据类型
  3. 数组的长度是固定的

数组常见的错误

  1. 空指针异常:当数组被赋值为null时,试图访问该数组将会产生空指针异常NullPointerException
  2. 数组角标越界异常:当试图访问数组索引外的空间的时候,将会引发角标越界异常ArrayIndexOutOfBoundsException,

数组操作实例:

//数组练习类
public class SimpleArr {
    //程序的主入口
    public static void main(String[] args) {
        int [] arr ={1,2,3,4,5,7};
        //使用循环进行遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        //通过索引获取数组中的数据,获取索引为1的元素,值为2
        System.out.println(arr[1]);
        //将索引为3的元素的值由4改成22
        arr[3]=22;
        System.out.println(arr[3]);

    }
}
版权声明:本文为guanshen129原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/guanshen129/article/details/74999166

智能推荐

Reflect反射的基础知识

写个父类: 写个子类: 利用反射获得该子类中的属性,方法,构造,父类及接口: 运行结果:...

spring cloud netflix (07) 服务的消费者(feign)

前言 完整知识点:spring cloud netflix 系列技术栈 Feign (同步通信 HTTP通信) feign是基于接口完成服务与服务之间的通信的 搭建Feign服务 项目结构 项目搭建 pom.xml application类 application.yml 使用feign完成服务与服务之间的通信 feign是基于接口完成服务与服务之间的通信的...

AtCoder Beginner Contest 174 E.Logs

AtCoder Beginner Contest 174 E.Logs 题目链接 到最后才发现是二分,菜菜的我/(ㄒoㄒ)/~~ 我们直接二分 [1,max{a[i]}][1,max\lbrace a[i]\rbrace][1,max{a[i]}] 即可,对每一个 midmidmid,每个数 a[i]a[i]a[i] 只需要切 a[i]−1mid\frac{a[i]-1}{mid}mi...

小程序基础与实战案例

小程序开发工具与基础 小程序开发准备: 申请小程序账号( appid ) 下载并安装微信开发者工具 具体步骤如下: 先进入 微信公众平台 ,下拉页面,把鼠标悬浮在小程序图标上 然后点击 小程序开发文档 照着里面给的步骤,就可以申请到小程序账号了。 然后就可以下载 开发者工具 了 下载完打开后的界面就是这个样子 下面让我们来新建一个小程序开发项目: 在AppID输入自己刚刚注册的AppID就可以,或...

VMware centOS7 下通过minikube部署Kubernetes

1、环境准备: VMware CentOS-7-x86_64 CPU:2*2core 内存:8G 宿主机和虚拟机需网络互通,虚拟机外网访问正常 Centos发行版版本查看:cat /etc/centos-release root用户操作 2、禁用swap分区 Kubernetes 1.8开始要求关闭系统的Swap,可暂时关闭或永久禁用, 使用 $ free -m 确认swap是否为开启状态 $ s...

猜你喜欢

逻辑回归与scikit-learn

欢迎关注本人的微信公众号AI_Engine LogisticRegression 算法原理 一句话概括:逻辑回归假设数据服从伯努利分布,通过极大化似然函数(损失函数)的方法,运用梯度下降或其他优化算法来求解参数,来达到将数据二分类的目的。 定义:逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性(不是概率)。比如某用户...

指针OR数组?用他们来表达字符串又有何不同?

cocowy的编程之旅 在学习C语言的过程中我们经常可以看到或者听到这样一句话:数组其实等价于指针,例如: 在这里可以轻松的看出输出后他们的值相等,其实在计算机内存里面,p为本地变量,有着他自己的作用域。而指针变量q保存着这个数组的首地址,通过*号指向这个地址保存的变量值。 然而我们再看一个例子: 这个时候计算机报错,这是为什么呢? 其实原因很简单,指针说指向的这个字符串的地址是位于计算机代码段地...

广度搜索

广度搜索的基本使用方法 广度搜索不同于深度搜索,是一种一步一步进行的过程,每一个点只记录一遍。需要用到队列记录每一步可以走到的位置,找到目标位置输出步数即可。 用到的知识:结构体、队列 如图 首先我们需要定义一个结构体来存储每个遍历到的点和步数 广搜不会用到递归,所以可以直接在主函数里写,这里需要定义一个结构体队列 初始化队列并将起始点入列 遍历 完整代码...

NIO Socket 编程实现tcp通信入门(二)

1、NIO简介 NIO面向通道和缓冲区进行工作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。可以双向传输数据,是同步非阻塞式IO。NIO还引入了选择器机制,从而实现了一个选择器监听多个底层通道,减少了线程并发数。用NIO实现socket的Tcp通信需要掌握下面三个知识点: Buffer 缓冲区 Channel 通道 Selector 选择器   2、java.nio.Buff...

[字节码系列]ObjectWeb ASM构建Method Monitor

      在前面的篇章中,我们看到Java Instrutment的强大能力,本篇,我们将介绍如何使用ObjectWeb ASM的字节码增强能力构建Method Monitor       1.什么是ObjectWeb ASM      ObjectWeb ...