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 ...
随机推荐
- Qt 学习之路 2(8):添加动作
Home / Qt 学习之路 2 / Qt 学习之路 2(8):添加动作 [在WINDOWS10 QTCREATOR MENU添加无效] Qt 学习之路 2(8):添加动作 豆子 ...
- Charles使用方法简介
Charles是一个web代理器,用来记录和展示你所发出和接收到的所有数据. 主要特性: SSL Proxying——易清晰地文本展示SSL请求和响应Bandwidth Throttling是用来模拟 ...
- Redis学习笔记(4)—— Jedis入门
一.Jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如Java.C.C#.C++.php.Node.js.Go等. 在官方网站里列的一些Java客户端,有jedi ...
- 分页插件PageHelper
一.PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,Po ...
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
结论:执行的大致顺序如下, (1) 在一个不存在继承的类中:初始化static变量,执行static初始化块-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法 (2 ...
- Python语言、编译解释、动态库静态库、编译过程、头文件
学习Python这门语言首先要了解 什么是编译与解释,什么是连接,什么是动态库与静态库, 什么是编译: 编译就是先把高级语言设计的程序翻译成二进制的机器语言,然后CPU直接执行机器码就可以了.一把翻译 ...
- sharepoint_study_目录学习笔记(长期更新)
1. _catalogs/masterpage:这个是SharePoint网站的母版页样式库页面,这里放了网站上所有的母版页(网站设置--Web设计器库--母版页和页面布局). 2. 15\TEMP ...
- 洛谷1026(字符串dp)
常规dp.看到数据很小就直接暴力了,没有预处理.kmp好像过分了-- #include <cstdio> #include <cstring> #include <ios ...
- CHUCK手把手带你搞定OPENSTACK
一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初重要 ...
- python 中is和= = 的区别
Python中的对象包含三要素:id.type.value,其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是b对象,是通过id来判断的: ==判 ...