day06

作者: 姗婷 | 来源:发表于2020-11-08 15:35 被阅读0次

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

    /*
    需求:杨辉三角形
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1
    JAVA中的参数传递问题:
    基本类型:形式参数的改变对实际参数没有影响。基本数据类型仅仅传值
    1、基本数据类型
    基本数据类型只有8种,可按照如下分类
    ①整数类型:long、int、short、byte
    ②浮点类型:float、double
    ③字符类型:char
    ④布尔类型:boolean
    引用类型:形式参数的改变直接影响实际参数。引用类型传的是地址值。
    引用数据类型
    引用数据类型非常多,大致包括:
    类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
     */
    import java.util.Scanner;
    public class Array2Test3 {
        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];
    
            for (int i = 0; i <arr.length ; i++) {
                arr[i][0] = 1;//任何一行第1列
                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();
            }
        }
    }
    

    2:两个思考题(理解)
    (1)Java中的参数传递问题
    Java中只有值传递。
    基本类型:形式参数的改变不影响实际参数
    引用类型:形式参数的改变直接影响实际参数
    (2)数据加密问题
    综合的小案例。

    /*
        某公司采用共用电话船体数据信息,数据是小于8位的整数,为了安全,
        在传递过程中需要加密,加密规则如下:
        首先将数据倒序,然后将每位数字都加上5,再用和初一10的余数代替该数字,
        最后将第一位和最后一位数字交换,请任意给定一个小于8位的整数,
        然后把加密后的结果在控制台打印出来。
    知识点:变量、数据类型、运算符、键盘录入、语句、方法、数组
     */
    import java.util.Scanner;
    public class JiaMiDemo {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个8位的整数");
    
            int num = sc.nextInt();
    
            String result = jiaMi(num);
    
            System.out.println("加密后的结果是:"+result);
        }
        /*
        需求:加密
        两个明确:返回值类型String 做一个字符串的拼接,参数个数:1
         */
        public static String jiaMi(int num){
    //        定义一个数组
            int[] arr = new int[8];
    
            int index = 0;
    //      把number中的数据想办法放到数组中
            while (num>0){
                arr[index] = num%10;
                index++;
                num /= 10;
            }
    //        数据加5,然后对10取余数
            for (int i = 0; i <arr.length ; i++) {
                arr[i] += 5;
                arr[i] %= 10;
            }
    
    //        把第一位和最后一位交换
            int temp = arr[0];
            arr[0] = arr[index-1];
            arr[index-1] = temp;
    
            String s = "";
    
            for (int i = 0; i <index ; i++) {
    
                s+=index;
            }
            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:手机类的定义和使用

    public class PhoneDemo {
        public static void main(String[] args) {
    
            Phone p = new Phone();
            //调用成员变量
            System.out.println(p.brand+"----"+p.red+"----"+p.price);
            p.brand="诺基亚";
            p.red = "红色";
            p.price = 1000;
            System.out.println(p.brand+"----"+p.red+"----"+p.price);
    
            //调用成员方法
            p.call("林青霞");
            p.play();
            p.sendMassage();
    
        }
    }
    /*
    定义一个手机类
    手机成员变量(属性),就是在类中方法外:品牌(brand),价格(price),red(颜色)
    手机成员方法(行为),定义在类中:打电话(call)、发短信(sendMassage)、玩游戏(play)
     */
    class Phone{
        String brand;
        int price;
        String red;
    
        public void call(String name)
        {
            System.out.println("给"+name+"打电话");
        }
        public void sendMassage()
        {
            System.out.println("发短信");
        }
        public void play()
        {
            System.out.println("玩游戏");
        }
    }
    
    **(7)内存图**
        A:一个对象的内存图
        B:二个对象的内存图
        C:三个对象的内存图
    **(8)Java程序的开发,设计和特征**
        A:开发:就是不断的创建对象,通过对象调用功能
        B:设计:就是管理和维护对象间的关系
        C:特征
            a:封装
            b:继承
            c:多态

    相关文章

      网友评论

          本文标题:day06

          本文链接:https://www.haomeiwen.com/subject/imzwvktx.html