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 ...
随机推荐
- Drop user 报ORA-00600 [KTSSDRP1]
一客户删除一个数据库用户THH时报错: 说明在获取seg$时没有找到相应的条目,先来解释下这个600错误的参数含义: Arg [a] Tablespace number Arg [b] File nu ...
- Linux中***配置
Ubuntu系统下: 1.执行如下命令 sudo apt install shadowsocks polipo 2.创建 shadowsocks.json 配置文件,放在你想放的位置 { " ...
- git学习--更新本地仓库单独文件
命令: git checkout origin/dev .gitignore 从远端 dev 仓库,更新本地签出分支的 .gitignore 文件
- 无限期使用WebStorm方式
http://blog.csdn.net/DorAction/article/details/79332421 1.下载补丁:JetbrainsCrack-2.7-release-str.jar ht ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(一)
[概念] 编译器直接支持的数据类型 [C#基元类型与对应的 FCL 类型] C#基元类型 FCL 类型 说明 sbyte System.Sbyte 有符号8位值 byte System.Byte 无符 ...
- Codeforces-B-Divisors of Two Integers(思维技巧)
Recently you have received two positive integer numbers xx and yy. You forgot them, but you remember ...
- java 数据库连接
一.JDBC(Java Database Connectivity) JDBC是Java语言中访问数据库的应用程序接口,可以为多种关系数据库提供统一访问. jdbc.properties jdbc.d ...
- 基于Visual Studio .NET2015的单元测试 OpenCover
https://www.cnblogs.com/XiaoRuLiang/p/10095723.html 基于Visual Studio .NET2015的单元测试 1. 在Visual Stud ...
- getElementsByTagName() 兼容性
写东西的时候用到了getElementsByTagName(),我一直以为js 写的东西是不会有兼容性的,这次在ie8下,getElementsByTagName()就不支持了,那怎么办呢,我就查到一 ...
- Java日志组件2---Log4j(org.apache.log4j.Logger)
如果我们在项目中,需要记录的东西并不多,而且也不需要有太多区分,使用jdk的自带Log完全可以解决问题.但是,在开发的过程中,大多数项目都比较大,为方便找到程序的bug,都是需要系统的记录日志的.这里 ...