java基础2--数组与方法
2011-01-14 00:46
411 查看
今天开始学习数组与方法。
一、数组的声明和使用
数组是一组相关数据的集合。
一维数组存放的数据类型是完全相同的,要使用java的数组,必须经过 声明数组 和 分配内存空间 给数组两个步骤,这两个步骤的语法结构如下:
数据类型 数组名[] =null; //声明一维数组
数组名=new 数据类型[长度]; //分配内存给数组
例:
int score[]=null;
score=new int[3];
*对数组声明和分配内存的理解:
a、在 int score[]=null; 这一步编译器仅在 栈内存 分配了一个空间,用来保存指向数组实体的 地址名称,也就是说数组实体此时并没有存在,因为没有分配内存给它,而仅仅只是存在一个数组名称,它指向数组实体的内存地址。
b、score=new int[3]; 这一步使用了 new关键字,为数组实体在 堆内存 空间分配了地址,再将堆内存的操作地址给了数组名称score,它作为一个引用数据类型,因此score保存的是数组对内存的操作地址。
*数组元素中元素的访问方法
要访问数组中的元素,可以利用索引(下标)来完成。java的数组索引编号由0开始。
如以score[10]为例,score[0]为第1个元素,score[0]为第2个元素,score[9]为第10个元素。
*为数组中的元素赋值
要为数组中的元素赋值,可以用动态初始化和静态初始化两种。
二维数组的声明方式:
数据类型 数组名[][]=null;
数组名=new 数据类型[长度];
int score[][]=null;
score=new int[3][2];
二、方法的声明和使用
方法就是一段可以重复调用的代码段。
以下是定义一个可以被主方法main()调用的方法,因为在方法声明处加上了 public static 关键字。
public static 返回值类型 方法名(类型 参数名1,类型 参数名2....){
程序语句;
[return 表达式];
}
*方法的重载:
方法的重载 就是方法的名称相同但参数的类型和个数不同,通过传递的参数的个数不通可以完成不同功能的方法调用。
System.out.println() 就是一个重载方法,可打印任何数据。
方法的重载仅限于参数的类型和个数上有所不同,但返回值类型不能不同。
*方法的递归调用
方法的递归调用就是方法本身自己调用自己。注意递归调用时,必须有一个明确的结束条件,然后不断的改变传入的数据。
几道练习题
//1、编写程序求1!+2!+....20!的和并显示,要求使用方法完成。
public class Test4_1{
public static void main(String[] args){
long a = fun(20);
prin(a);
}
public static long fun(int n){
long sum=1,sum1=0;
for(int x=1;x<=n;x++){
sum *= x; //sum用于保存每个数的阶乘
sum1 += sum; //sum1用于保存阶乘的和
}
return sum1;
}
public static void prin(long num){
System.out.println("1到20的阶乘和为:"+num);
}
}
*这道题有个疑问,当计算1-30的阶乘和时,long型的数据溢出了,显示的时候成了负数。后来了解到有大数乘法,还有Math函数
中有提供相关的方法来完成。等以后深入学习再行研究
//2、定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数。
public class Test4_2{
public static void main(String[] args){
int arry[]={3,7,4,6,8,16,64,78,94,31};
int a =0,b=0;
for(int i=0;i<arry.length;i++){
if(arry[i]%2 == 0){
a++;
}
if(arry[i]%2 != 0){
b++;
}
}
System.out.println("数组中偶数的个数为:"+a+",奇数的个数为:"+b);
}
}
今天参加了黑马训练营在线课堂,由蒋涛总裁演讲IT 的行业发展,需要的人才,以及黑马训练营的目标和具体内容。
让我了解到了许多需要知道的内容,受益匪浅!蒋总很平易近人,个人很敬佩!时间关系就先到这了,明天继续做题!
一、数组的声明和使用
数组是一组相关数据的集合。
一维数组存放的数据类型是完全相同的,要使用java的数组,必须经过 声明数组 和 分配内存空间 给数组两个步骤,这两个步骤的语法结构如下:
数据类型 数组名[] =null; //声明一维数组
数组名=new 数据类型[长度]; //分配内存给数组
例:
int score[]=null;
score=new int[3];
*对数组声明和分配内存的理解:
a、在 int score[]=null; 这一步编译器仅在 栈内存 分配了一个空间,用来保存指向数组实体的 地址名称,也就是说数组实体此时并没有存在,因为没有分配内存给它,而仅仅只是存在一个数组名称,它指向数组实体的内存地址。
b、score=new int[3]; 这一步使用了 new关键字,为数组实体在 堆内存 空间分配了地址,再将堆内存的操作地址给了数组名称score,它作为一个引用数据类型,因此score保存的是数组对内存的操作地址。
*数组元素中元素的访问方法
要访问数组中的元素,可以利用索引(下标)来完成。java的数组索引编号由0开始。
如以score[10]为例,score[0]为第1个元素,score[0]为第2个元素,score[9]为第10个元素。
*为数组中的元素赋值
要为数组中的元素赋值,可以用动态初始化和静态初始化两种。
二维数组的声明方式:
数据类型 数组名[][]=null;
数组名=new 数据类型[长度];
int score[][]=null;
score=new int[3][2];
二、方法的声明和使用
方法就是一段可以重复调用的代码段。
以下是定义一个可以被主方法main()调用的方法,因为在方法声明处加上了 public static 关键字。
public static 返回值类型 方法名(类型 参数名1,类型 参数名2....){
程序语句;
[return 表达式];
}
*方法的重载:
方法的重载 就是方法的名称相同但参数的类型和个数不同,通过传递的参数的个数不通可以完成不同功能的方法调用。
System.out.println() 就是一个重载方法,可打印任何数据。
方法的重载仅限于参数的类型和个数上有所不同,但返回值类型不能不同。
*方法的递归调用
方法的递归调用就是方法本身自己调用自己。注意递归调用时,必须有一个明确的结束条件,然后不断的改变传入的数据。
几道练习题
//1、编写程序求1!+2!+....20!的和并显示,要求使用方法完成。
public class Test4_1{
public static void main(String[] args){
long a = fun(20);
prin(a);
}
public static long fun(int n){
long sum=1,sum1=0;
for(int x=1;x<=n;x++){
sum *= x; //sum用于保存每个数的阶乘
sum1 += sum; //sum1用于保存阶乘的和
}
return sum1;
}
public static void prin(long num){
System.out.println("1到20的阶乘和为:"+num);
}
}
*这道题有个疑问,当计算1-30的阶乘和时,long型的数据溢出了,显示的时候成了负数。后来了解到有大数乘法,还有Math函数
中有提供相关的方法来完成。等以后深入学习再行研究
//2、定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数。
public class Test4_2{
public static void main(String[] args){
int arry[]={3,7,4,6,8,16,64,78,94,31};
int a =0,b=0;
for(int i=0;i<arry.length;i++){
if(arry[i]%2 == 0){
a++;
}
if(arry[i]%2 != 0){
b++;
}
}
System.out.println("数组中偶数的个数为:"+a+",奇数的个数为:"+b);
}
}
今天参加了黑马训练营在线课堂,由蒋涛总裁演讲IT 的行业发展,需要的人才,以及黑马训练营的目标和具体内容。
让我了解到了许多需要知道的内容,受益匪浅!蒋总很平易近人,个人很敬佩!时间关系就先到这了,明天继续做题!
相关文章推荐
- 黑马程序员_Java基础(数据类型、Java操作符、数组排序方法)
- Java基础-第四章(方法和数组)
- 01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- java基础学习04(数组与方法)
- java基础知识4--数组的常用方法(Array)
- java基础五(方法;数组)
- JAVA基础1 数组与方法
- Java基础-05总结方法,数组(一维)
- java基础(四)方法和数组
- Java基础(五):数组和Java方法
- 07.java语言基础-java5对数组的支持-方法的可变参数
- 黑马程序员-----java基础------for循环结构----do...while循环----while循环------方法---数组(一维,二维)
- Java基础(2)变量,循环,数组,方法。。。。。。
- 第14、15课Java数组与方法零基础编程实战课堂笔记
- Java基础:数组Array转成List的几种方法
- Java基础之方法、数组、面向对象
- 5 Java基础语法(方法,数组(初级))
- Java基础语法(三)-----方法、数组
- Java基础数组之数组元素前后置换方法(倒序)