Java—数组和方法
- 数组
- 声明数组 数组类型[] 数组名;or 数据类型 数组名[]; 如:int[] scores;
- 分配空间 数组名 = new 数据类型[数组长度];如:scores = new int[5];
以上两步合并:int[] scores = new int[5];
3. 赋值 scores[0] = 76;
以上三步合并:int[] scores = {76, 80, 81, 82, 99};
等价于int[] scores = new int[]{76, 80, 81, 82, 99};
数组名.length:获取数组的长度
- 使用Arrays类操作java中的数组
Arrays类是java提供的一个工具类,在java.util包中。
- Arrays.sort(数组名); 对数组进行排序,按升序排列
- Arrays.toString(数组名);将一个数组转换成字符串,把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开。
- 使用foreach操作数组
foreach 并不是java中的关键字,是for语句的特殊简化版本。
for (元素类型 元素变量:遍历对象) {
执行代码;
}
String[] subjects = new String[5];
subjects[0] = "Oricle";
subjects[1] = "PHP";
subjects[2] = "Linux";
subjects[3] = "Java";
subjects[4] = "Html";
//System.out.println("数组中第4个科目为:" + subjects[3]);
Arrays.sort(subjects);
for (int i = 0; i < subjects.length; i++) {
System.out.println(subjects[i]);
}
System.out.println("输出数组中的元素:" + Arrays.toString(subjects));
for (String subject : subjects) {
System.out.println(subject);
}
- 二维数组
- 声明数组并分配空间:数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];or 数据类型[][] 数组名;数组名 = new 数据类型[行的个数][列的个数];如:int[][] num = new int[2][3];
- 赋值:数组名[行的索引][列的索引] = 值; 如:int[1][2] = 12;
在定义二维数组时,可以至指定行的个数,然后再为每一行分别指定列的个数,如果每行的列数不同,则创建的是不规则的二维数组。
String[][] names = {{"tom", "jack", "mike"}, {"zhangsan", "lisi", "wangwu"}};
for (int i= 0; i < names.length; i++) {
for (int j = 0; j < names[i].length; j++) {
System.out.println(names[i][j]);
}
}
- 方法
定义方法:访问修饰符 返回值类型 方法名(参数列表) {
方法体
}
- 访问修饰符:public、protected、private甚至可以省略。
- 返回值类型:如果方法不返回任何值,则返回值类型指的是void;如果方法有返回值,则需要指定返回值的类型,并在方法体中使用return语句返回值。
- 参数列表:每个参数由参数类型和参数名组成,参数之间用逗号隔开。
- 如果方法的返回类型为void,则方法中不能使用return。
- 方法的返回值最多只有一个,不能返回多个值。
- 方法返回值的类型必须兼容,如果返回值类型为int,则不能返回String型值。
package com.test; public class Demo4 {
public static void main(String[] args) {
Demo4 demo = new Demo4();
demo.show();
double avg = demo.calcAvg();
System.out.println("平均成绩为:" + avg);
} public void show() {
System.out.println("Welcome to java!");
} public double calcAvg() {
double java = 92.5;
double php = 83.0;
double avg = (java + php) / 2;
return avg;
}
}
返回值为:
Welcome to java!
平均成绩为:87.75
- 带参方法的使用
把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
- 调用带参数方法时,必须保证实参的数量、类型和顺序与形参一一对应
- 方法的参数可以是基本数据类型,也可以是引用数据类型。
public static void main(String[] args) {
Demo4 demo= new Demo4();
demo.calcAvg(94, 81);
} public void calcAvg(double score1, double score2) {
double avg = (score1 + score2) / 2;
System.out.println("平均分:"+avg);
}
- 方法的重载
定义:如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,称为方法的重载,也可称为该方法被重载了。
方法的重载与方法的修饰符或返回值没有关系
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello = new HelloWorld(); // 调用无参的方法
hello.print(); // 调用带有一个字符串参数的方法
hello.print("java"); // 调用带有一个整型参数的方法
hello.print(18);
} public void print() {
System.out.println("无参的print方法");
} public void print(String name) {
System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
} public void print(int age) {
System.out.println("带有一个整型参数的print方法,参数值为:" + age);
}
}
返回值为:
无参的print方法
带有一个字符串参数的print方法,参数值为:java
带有一个整型参数的print方法,参数值为:18
Java—数组和方法的更多相关文章
- Java 数组拷贝方法 System.arraycopy
System类提供的数组拷贝方法: public static native void arraycopy(Object src, int srcPos, Object dest, int destP ...
- Java数组合并方法学习。
参考博客: https://blog.csdn.net/liu_005/article/details/72760392 https://blog.csdn.net/jaycee110905/arti ...
- JAVA 数组作为方法返回值—返回地址
package Code411;/*一个方法可以有0,1,多个 参数,但只能有0和1个返回值希望一个方法产生多个结果数据进行返回 数组作为方法的参数,传递进去的是数组的地址值. */public cl ...
- JAVA 数组作为方法参数—传递地址
package Code411;//数组作为方法参数—传递地址public class DodeArrayParam { public static void main(String[] args) ...
- Java数组和方法
1. 数组可以作为方法的参数 package cn.itcast.day05.demo04; /* 数组可以作为方法的参数. 当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值. ...
- 083、Java数组之方法返回数组
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- java 数组声明方法
//数组 public class Test16{ public static void main(String args[]){ //声明一: int [] x; x = new int[3];// ...
- java基础学习04(数组与方法)
数组与方法 一.完成的目标 1. 掌握数组的定义.使用方法.引用传递 2. 掌握方法及其方法的重载 3. 使用方法接收和返回一个数组 4. java新特性对数组的操作支持 二.数组的定义和使用 数组是 ...
- java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解
public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...
随机推荐
- [转]Groovy Goodness
http://mrhaki.blogspot.com/2014/12/gradle-goodness-continue-build-even.html 介绍了不少使用Groovy编写脚本的好例子,可以 ...
- restframework CBV试图的4种方式
day100 上节回顾 1 APIView流程 2 序列化组件(restframework) 1 # 自定义序列化组件 class BookSerializers(serializers.Serial ...
- my.ini /etc/my.cnf jdbc url
[client] default-character-set = utf8mb4 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4 [mysq ...
- 在U盘打造个性化PE工具箱+KALI(Persistence)+存储的工作站
基本工具: kali-linux-2018.2-amd64 原版镜像:https://www.kali.org/downloadsWin32DiskImager yunfile 下载较慢,建议自行百度 ...
- KS光盘制作 for rhel6.5 and rhel7.2
############################## RHEL6.5 KS光盘制作--1.复制光盘到本地mkdir -p /opt/rhel6mount /dev/cdrom /mediacp ...
- Alibaba Java Coding Guidelines 安装(eclipse)并简单使用
源码地址:https://github.com/alibaba/p3c 1.安装 第1步.help >> Instakll New Software... 第2步.在Work with中输 ...
- Python-Anaconda练习candy算子用于边缘提取,再用hough变换检测直线边缘
img: 待检测的图像. threshold: 阈值,可先项,默认为10 line_length: 检测的最短线条长度,默认为50 line_gap: 线条间的最大间隙.增大这个值可以合并破碎的线条. ...
- Redis未授权访问攻击过程与防范
一.Redis未授权访问攻击过程 攻击主机:kali 目标主机:centos6.8(10.104.11.178) Redis版本:2.8 攻击条件:默认配置,未进行认证 攻击步骤详解: 1.Kali攻 ...
- 7-----Scrapy框架中Download Middleware用法
这篇文章中写了常用的下载中间件的用法和例子.Downloader Middleware处理的过程主要在调度器发送 requests请求的时候以及网页将 response结果返回给 spiders的时候 ...
- 信息检索和自然语言处理 IR&NLP howto
课程: 6.891 (Fall 2003): Machine Learning Approaches for Natural Language Processing http://www.ai.mit ...