二维数组和面向对象基础

1:二维数组(理解)
(1)元素是一维数组的数组。
(2)格式:

  1. 数据类型[][] 数组名 = new 数据类型[m][n];
  2. 数据类型[][] 数组名 = new 数据类型[m][];
  3. 数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
  4. 数据类型[][] 数组名 = {{...},{...},{...}};

(3)案例(掌握):

  1. 二维数组的遍历
  2. 二维数组的求和
  3. 杨辉三角形

杨辉三角:

public class Array2Demo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[][] arr = new int[n][n];
        /*
         * 思路:
         * A:任何一行的第一列和最后一列都是1;
         * B:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列和;
         * C:首先定义一个二维数组,行数如果是n,列数也为n;
         * D:给这个二维数组任何一行的第一列和最后一列赋值为1;
         * E:按照规律给其他元素赋值,从第三行开始,每一个数据是它上一行的前一列
         *   和它上一行的本列之和。
         * F:遍历这个二维数组。
         */
        for(int i=0;i<arr.length;i++){
            arr[i][0] = 1;
            arr[i][i] = 1;
        }
        for(int i=2;i<arr.length;i++){
            for(int j=1;j<i;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();
        }
    }
}

2:两个思考题(理解)
(1)Java中的参数传递问题
Java中只有值传递。

基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
(2)数据加密问题
综合的小案例。

/*
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,
在传递过程中需要加密,加密规则如下:
    首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
    最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,
    然后,把加密后的结果在控制台打印出来。 

题目要求:
    A:数据是小于8位的整数
        定义一个int类型的数据
        int number = 123456;
    B:加密规则
        a:首先将数据倒序
            结果 654321
        b:然后将每位数字都加上5,再用和除以10的余数代替该数字
            结果 109876
        c:最后将第一位和最后一位数字交换
            结果 609871
    C:把加密后的结果输出在控制台
*/
public class JMDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数据:");
        int number = sc.nextInt();
        String result = JM(number);
        System.out.println("加密后:"+result);

    }
    public static String JM(int number){
        int[] arr = new int[8];
        int index = 0;
        while(number > 0){
            arr[index] = number%10;
            index++;
            number/=10;
        }
        for(int i=0;i<index;i++){
            arr[i] = (arr[i]+5)%10;
        }
        int temp;
        temp = arr[0];
         arr[0] = arr[index-1];
        arr[index-1] = temp;

        String s = "";
        for(int i=0;i<index;i++){
            s += arr[i];
        }
        return s;
    }
}

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:特征
  1. 封装
  2. 继承
  3. 多态

原文地址:https://www.cnblogs.com/crazypokerk/p/8999554.html

时间: 2024-10-17 08:07:14

二维数组和面向对象基础的相关文章

Java_Day06(java 基础下与面向对象,二维数组与面向对象基础)

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式: A:数据类型[][] 数组名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数 以下格式也可以表示二维数组:不推荐这样去使用 数据类型 数组名[][] = new 数据类型[m][n]; 数据类型[] 数组名[] = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{..

6、JAVA基础-二维数组 及 面向对象理解

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式: A:数据类型[][] 数组名 = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; D:数据类型[][] 数组名 = {{...},{...},{...}}; (3)案例(掌握): A:二维数组的遍历 B:二维数组的求和 C:杨辉三角形 2:两个思考题(理解) (1)Java中的参数传递

Java基础学习第六天——二维数组与面向对象入门

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.25 lutianfei none 二维数组 格式1(动态初始化) 格式:数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数 举例: int[][] arr = new int[3][2]; 定义了一个二维数组arr 这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2] 每个一维数组有2个元素,可以通过arr[m]

06_二维数组、面向对象

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式:(四种格式) A:数据类型[][] 数组名 = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; D:数据类型[][] 数组名 = {{...},{...},{...}}; (3)案例(掌握): A:二维数组的遍历 B:二维数组的求和 C:杨辉三角形 Array2Demo.java /*

二维数组 面向对象编程的概念、 类、对象以及引用 和成员方法

1.二维数组(熟悉)1.1 基本概念 一维数组本质上就是一段连续的存储单元,用于存放多个类型相同的数据内容. 二维数组本质上就是由多个一维数组组成的数组,也就是说二维数组中的每个元素都是一维数组,而一维数组的每个元素才是具体数据内容. 1.2 二维数组的声明(1)语法格式 数据类型[][] 数组名称 = new 数据类型[行数][列数];如: int[][] arr = new int[2][5]; - 声明一个具有2行5列元素类型为int的二维数组 其中行下标的范围是:0 ~ 1: 其中列下标

环状二维数组最大子数组求和

题目:返回一个二维整数数组中最大子数组的和.要求:输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样. n数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 结对编程要求: 两人结对完成编程任务. 一人主要负责程序分析,代码编程. 一人负责代码复审和代码测试计划. 发表一篇博客文章讲述两人合作中的过程.体会以及如何解决冲突(附结对开发的工作照). 结对开发过程: 这次的编程开发是基于上次的以为数

首尾相连的二维数组最大子数组求和

题目:返回一个二维整数数组中最大子数组的和.要求:输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样. n数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 结对编程要求: 两人结对完成编程任务. 一人主要负责程序分析,代码编程. 一人负责代码复审和代码测试计划. 发表一篇博客文章讲述两人合作中的过程.体会以及如何解决冲突(附结对开发的工作照). 结对开发过程: 这次的编程开发是基于上次的以为数

[java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           

JavaSE7基础 遍历二维数组 for循环

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Demo{ public static void main(String[] args){ //该二维数组有三个不同长度的一维数组. int[][] myArr={ {1,2,3,4}, {4,5,6}, {1,23,45,67,66} }; printArray2(myArr); } public static void printArray2(int[][] myArray)