二维数组

1:二维数组(理解)

(1)元素是一维数组的数组。

(2)格式:

A:数据类型[][] 数组名 = new 数据类型[m][n];

B:数据类型[][] 数组名 = new 数据类型[m][];

C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};

D:数据类型[][] 数组名 = {{...},{...},{...}};

(3)案例(掌握):

A:二维数组的遍历

B:二维数组的求和

C:杨辉三角形


2:两个思考题(理解)

(1)Java中的参数传递问题

Java中只有值传递。

基本类型:形式参数的改变不影响实际参数

引用类型:形式参数的改变直接影响实际参数

(2)数据加密问题

综合的小案例。

3:面向对象(掌握)

(1)面向对象

面向对象是基于面向过程的编程思想

(2)面向对象的思想特点

A:是一种更符合我们思考习惯的思想

B:把复杂的事情简单化

C:让我们从执行者变成了指挥者

举例:

买电脑

洗衣服

做饭

...

万事万物皆对象

(3)把大象装进冰箱(理解)

A:面向过程实现

B:面向对象实现

注意:如何让我们的操作更符合面向对象思想呢?

A:有哪些类

B:每个类有哪些成员

C:类与类的关系

(4)类与对象

A:现实世界的事物

属性事物的基本描述

行为事物的功能

B:Java语言中最基本的单位是类。所以,我们要用类来体现事物

C:类

成员变量事物属性

成员方法事物行为

D:类:是一组相关的属性和行为的集合。是一个抽象的概念。

 对象:是该类事物的具体存在,是一个具体的实例。(对象)

 

 举例:

学生:类

班长:对象

(5)类的定义及使用

A:类的定义

成员变量定义格式和以前一样,就是位置不同,在类中,方法外。

成员方法定义格式和以前一样,就是去掉了static。

B:使用类的内容

a:创建对象? 格式

类名 对象名 =  new 类名();

b:如何使用成员变量和成员方法呢

对象名.成员变量

对象名.成员方法()

(6)案例:

A:学生类的定义和使用

B:手机类的定义和使用

(7)内存图

A:一个对象的内存图

B:二个对象的内存图

C:三个对象的内存图

(8)Java程序的开发,设计和特征

A:开发:就是不断的创建对象,通过对象调用功能

B:设计:就是管理和维护对象间的关系

C:特征

a:封装

b:继承

c:多态



########################################################################################


A:二维数组遍历

int num[][]={{1,2,3},{4,5,6},{7,8,9}};
		for(int i=0;i<num.length;i++){
			for(int j=0;j<num[i].length;j++){
				System.out.print(num[i][j]+"\t");
			}
			System.out.println();
		}

输出:

123

456

789


B:公司年销售额求和

某公司按照季度和月份统计的数据如下:单位(万元)

第一季度:22,66,44

第二季度:77,33,88

第三季度:25,45,65

第四季度:11,66,99

int num[][]={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
		int sum=0;
		for(int i=0;i<num.length;i++){
			for(int j=0;j<num[i].length;j++){
				sum+=num[i][j];
			}
		}
		System.out.print("总和为:"+sum);

输出:   总和为:641


C:打印杨辉三角形(行数可以键盘录入)

package bao_02;
import java.util.Scanner;
public class ZuoYe {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("输入一个数字");
		int n=sc.nextInt();
		//将数组定义为给定数字的界限
		int[][] arr=new int[n][n];		
		//将二维数组每一维第一和最后的元素设为1
		for(int i=0;i<arr.length;i++){
			arr[i][0]=arr[i][i]=1;
		}
		//从第三行开始特殊化,
		for(int i=2;i<arr.length;i++){
			//每一列从第二个元素开始修改
			for(int j=1;j<=i-1;j++){
				//每个元素为上一行本位与前一位的和
				arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
			}
		}
		//遍历
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<=i;j++){
				System.out.print(arr[i][j]+"\t");
			}
			System.out.println();
		}		
	}		
}

输出:

输入一个数字

5

1

11

121

1331

14641


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值