java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。
方法
方法的含义
定义: 方法就是用来完成解决某件事情或实现某个功能的办法。
方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。
我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。
方法的定义
其格式为:
/*方法的定义如下
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
执行语句
………
return 返回值;
}
*/
示例:
//例如:定义一个方法
public static void methodName(int k,int g){
//publics static 修饰符
//void 返回值类型
//methodName 方法名
//int k参数列表,与局部变量的声明方式一样
//执行语句
return k+b
}
修饰符: 方法的修饰符比较多,有对访问权限进行限定的 。目前默认为public static
返回值类型:用于限定方法返回值的数据类型 ,可以是基本数据类型也可以是引用数据类型
方法名:就是方法的名字,遵照Java的变量(标识符)的语法规则和规范。
参数类型: 用于限定调用方法时传入参数的数据类型 。可以是基本数据类型也可以是引用数据类型。
可以由参数也可以么有参数。
若是有多个参数,中间用,分隔。
方法定义的时候,这个参数都成为形式参数;相当是局部变量,只声明不赋值。
在方法定义的时候,若是声明了参数类型类型,则调用此方法的时候必须赋值(传入参数)。
执行语句:是解决问题的代码。
return:
一是提前结束方法
二是返回最终的结果,返回的结果的数据类型要与返回值数据类型相一致。
方法的调用
有返回值的调用
方法名(实参):执行方法中的代码,共有三种方法可以供调用:
实参:方法调用的时候,传入的参数,其数据类型要与方法定义的时候的形式参数相一致。
直接调用:方法名(实参)
有返回值的方法不建议使用此方法;
一般使用在没有返回值的方法中
赋值调用
赋值调用:数据类型 变量名=方法名(实参);
一般使用在有返回值类型的方法中
输出调用:System.out.println(方法名(实参));
代码如下:
public class TestMethodDemo01{
public static void main(String[] args){
getPI();//直接调用,不建议
double d=getPI();//赋值调用
System.out.println(getPI());//输出调用
}
public static double getPI(){
return 3.1415926;
}
public static double test(char a,int n){
for(i=1;i<=n;i++){
System.out.print()
}
}
没有返回值的调用
就是返回值类型为void;
/*
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
执行语句
………
return 返回值;
}
*/
//例如:定义一个方法
public static void methodName(int k,int g){
//publics static 修饰符
//void 返回值类型,该类型为没有返回值类型
//methodName 方法名
//int k参数列表,与局部变量的声明方式一样
//执行语句
return k+b
}
参数
参数可分为形式参数和实际参数
形式参数(形参):定义方法时候,方法名后面()中的参数。相当于局部变量的声明。
实际参数(实参):调用放到是时候,方法名后面()中的参数。相当于给局部变量赋值。
实际参数和形式参数其数据类型、顺序都要一致。
方法签名:(方法名+参数列表):标识方法的唯一
方法的兼容类型
形参和实参: 形参的类型>=实参的类型返回值的数据类型<=方法返的回值类型<=接收返回值的变量类型:
接收返回值的变量类型:就是接收返回值的数据类型
方法返回值类型:就是方法就是符号后面的 返回值类型
返回值的数据类型:就是return后面的数据的数据类型
return的使用
在有返回值类型中,使用return
提前结束该方法
返回最终结果
在没有返回值类型中
可以不使用return,建议使用该方便
可以使用return,作用提前结束该方法。
出现不可达语句的集中情况的分析
不可达语句:
一定会执行到的return后面的语句;
因为提前结束该方法导致无法执行后面的代码
break后
因为提前结束该循环导致无法执行后面的代码
死循环后面
因为前面的代码用于无法执行完毕,导致无法执行后面的代码。
continue后面
因为提前结束本次循环,导致无法执行后面的代码
while(false){语句}
系统认为判断条件为false的时候,不会执行该语句。
可以采用赋值给变量,利用变量欺瞒系统。
代码如下:
System.out.println();{
//蒙蔽编译器
boolean flag=true;
while(flag){//若是条件直接为false,则系统报错。
System.out.println("循环体");
}
System.out.println("循环后面的代码");
}
使用方法的好处
隐藏方法实现的细节,可以提高安全性
简化代码,可以多次复用代码。
方法的重载
定义:重载就是具有相同函数名,返回类型可以不同,参数个数、顺序、类型不同的函数。
个人理解:就是在同一个类中,只按照函数名相同,参数列表不同来区分是否是重载。
重载的无关因素
跟修饰符、返回值以及参数列表中相同类型中的参数名称无关。
//与public static修饰符无关
//与void返回值类型无关
//与int a中的a参数列表中的 参数名称无关
public static void getSum(int a,int b){
System.out.println("求2个数的和int,int");
System.out.println(a+b);
}
重载的有关因素
与参数列表中的数据类型、顺序以及个数有关
public class OverloadDemo04 {
//主方法
public static void main(String[] args){
getSum(1.0,2);
}
//求2个数的和
public static void getSum(int a,int b){//a与b交换位置,仍是同一个的方法,构成不了重载
System.out.println("求2个数的和int,int");
System.out.println(a+b);
}
public static void getSum(int b,double a){//参数列表数据类型不一致,构成重载
System.out.println("求2个数的和int,double");
System.out.println(a+b);
}
public static void getSum(double a,int b){//参数列表属性不一样,构成重载
System.out.println("求2个数的和double,int");
System.out.println(a+b);
}
//求2个数的和
public static void getSum(int a,int b,int c){//参数个数不一致,构成重载
System.out.println("求3个数的和int,int,int");
System.out.println(a+b+c);
}
}
数组
数组的含义
数组的含义:数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。
数组与变量的区别
变量只能存入一个数据,而数据可以存入多个数据并且是有序排列的。
数组的声明方式(三种)
动态初始化(一种)
第一种声明方式(动态初始化)//先声明并开辟数组空间。
数据类型[] 数组名;
类型数据 数组名[];
数据类型:基本数据类型或引用数据类型。
数组名:就是标识符,完全遵照Java中的规则和规范。
在同一个数组中,只能存放同一种类型的数据, 数据类型可以是任何相同的数据类型 。
备注:若是声明是int变量,只能存储int变量的数组。
静态初始化(两种)
第二种声明方式//声明数组的同时并赋值
数据类型[] 数据名=new 数据类型{};
第三种声明方式//声明数组的同时并赋值
数据类型[] 数据名={};
示例:
public class WhatEver {
public static void main(String[] args) {
//第一种 例:
String[] test1 = new String[6];
test1[0] = "数组0";
test1[1] = "数组1";
//第二种 例:
String[] test3 = new String[]{"数组0","数组1","数组2","...."};
//第三种 例:
String[] test2 = {"数组0","数组1","数组2","...."};
}
}
数组的使用
数组的索引:根据数组的索引可以精确的定位到数组中的每一个的位置,对这个位置上是数据进行增加、删除、修改、查询。
数组的索引默认从0开始,数组的长度可使用数组.length-1得到
数组的遍历(两种方式)
普通for循环
语法格式如下:
for(初始化条件;判断条件;迭代因子){
执行语句;
}
增强for循环|for each
语法格式如下
//for..each|增强for 获取值
for(数据类型 变量名: 数组名){
变量->数组中从前到后的每一个空间的数据值
}
java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。相关推荐
- java中的包如何定义_java中包的定义与使用
包的本质就属于一个文件夹,用来解决类名称重名的问题. 包的定义:在源文件首行使用package包名称: package www.myfile.java; public class Test{ publ ...
- java中抽象类的定义_Java中抽象类的定义和使用
Java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础.指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类是 ...
- 阿里云【名师课堂】Java零基础入门24 ~ 26:方法的定义与使用
阿里云[名师课堂]Java零基础入门24 ~ 26:方法的定义与使用 24:方法的基本定义 无返回值无参数 无返回值有参数 有返回值有参数 25:方法重载(重点) 26:方法递归调用 24:方法的基本 ...
- java获得服务器路径的几中方法
2019独角兽企业重金招聘Python工程师标准>>> java获得服务器路径的几中方法 在JavaBean里可以这样: this.getClass().getClassLoader ...
- java的属性只能在类里面 方法外面定义
java的属性只能在类里面 方法外面定义 区别于python:python 既能在类里面(类属性) 又能在方法里面定义属性(实例属性) 转载于:https://www.cnblogs.com/clas ...
- [OHIF-Viewers]医疗数字阅片-医学影像-Module: Panel-自定义面板-中-es6-Object.defineProperty()定义属性...
[OHIF-Viewers]医疗数字阅片-医学影像-Module: Panel-自定义面板-中-Object.defineProperty()定义属性 Object.defineProperty() ...
- java中方法未定义_java - Java SE中的未定义方法错误 - 堆栈内存溢出
我为该问题写了一个代码http://www.spoj.com/problems/PRIME1/ ,该代码的作用是将输入以字符串形式输入,然后将split()拆分为两个整数,并存储在该数组中.然后返回到 ...
- java数组循环扩容_Java中实现数组动态扩容的两种方法
Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...
- java数组删除元素_java中删除 数组中的指定元素方法
java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子. java的api中,并没有提供删除数组中元素的方法.虽 ...
最新文章
- 整理Silverlight资源列表(四)——Silverlight案例补充
- Ubuntu 14.04更新为国内阿里源解决apt-get install无法执行的问题
- 被困69天后,智利矿工重返人间
- 达梦数据库查看当前执行的查询并杀死session
- 什么是JVM内存模型
- jzoj6065-[NOI2019模拟2019.3.18]One?One!【FFT】
- java linux 调用32位so_Linux上TCP的几个内核参数调优
- 云原生之上,亚马逊云科技发布多项容器与Serverless服务,持续发力现代化应用
- 设计模式:模板方法模式(C++)【喝咖啡还是喝茶】
- 分享一下:推荐一个网站,练习CSS3
- 用 Windows Media Center 免费看大片 (二)
- 解决ps图层不能填充问题
- Java多线程导出Excel表格, 100w数据量
- 2019携程校招笔试题选讲
- 如何用tomcat模拟集群,要求负载均衡(Nginx),并保持session一致性!
- 谷歌 TensorFlow Roadshow 北京站
- 玩转华为ENSP模拟器系列 | 配置设备使用SNMPv2c与网管通信示例
- linux安装perf工具
- win10 uwp 关联文件
- P6578 魔法少女网站
热门文章
- linux查看是否有用户在使用分区,在Linux服务器中有几种查看分区表的方法
- python中进制_python中进制的算法
- 故障模块名称kernelbase.dll_固定资产管理系统_资产分类名称(通讯导航有线电及测量仪器篇)...
- 去掉一个linux的ip,linux – iptables删除除一个IP之外的所有传入ICMP请求
- 据说有大神形容这是三句话学会C语言
- 皮一皮:说了那么多,原来不是馋我的长相?
- 全球第二大浏览器升级!内存/CPU占用暴降
- 面试:GET和POST两种基本请求方法有什么区别
- 一条关于互联网创业公司健康与否的判断法则
- linux 条件语句关键词,Linux中条件语句