day06总结

来源:互联网 发布:js 二维数组匹配 编辑:程序博客网 时间:2024/04/26 22:51
1:二维数组(理解)
(1)元素是一维数组的数组。
(2)格式:
A:数据类型[][] 数组名 = new 数据类型[m][n];
B:数据类型[][] 数组名 = new 数据类型[m][];
C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
D:数据类型[][] 数组名 = {{...},{...},{...}};
(3)案例(掌握):
A:二维数组的遍历
        //定义
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
for(int x=0; x<arr[0].length; x++) {
System.out.println(arr[0][x]);
}
System.out.println("---------------");
for(int x=0; x<arr[1].length; x++) {
System.out.println(arr[1][x]);
}
System.out.println("---------------");
for(int x=0; x<arr[2].length; x++) {
System.out.println(arr[2][x]);
}
System.out.println("---------------");
//循环
for(int x=0; x<3; x++) {
for(int y=0; y<arr[2].length; y++) {
System.out.print(arr[x][y]+" ");
}
System.out.println();
B:二维数组的求和
              int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
int sum = 0;
for(int x=0; x<arr.length;x++) {
for(int y=0; y<arr[x].length; y++) {
//元素累计/
sum += arr[x][y];
}
}
System.out.println("一年的销售额:"+sum+"万元");
C:杨辉三角形
            Scanner sc = new Scanner(System.in);
System.out.println("请输出第一个数据:");
int n = sc.nextInt();
//定义二维数组
int[][] arr =new int[n][n];
for(int x=0; x<arr.length; x++) {
arr[x][0] =1;
arr[x][x] =1;
}

for(int x=2; x<arr.length; x++) {
for(int y=1; y<=x-1; y++) {
arr[x][y] = arr[x-1][y-1] + arr[x-1][y];
//System.out.print(arr[x][y]+" ");
}
System.out.println();
}
//遍历 二维数组
/*
for(int x=0; x<arr.length; x++) {
for(int y=0; y<arr[x].length; y++) {
System.out.print(arr[x][y]+" ");
}
System.out.println();
*/
}
//内循环必须要和99乘法类似
for(int x=0; x<arr.length; x++) {
for(int y=0; y<=x; y++) {
System.out.print(arr[x][y]+" ");
}
System.out.println();


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

基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
(2)数据加密问题
综合的小案例。
         面向对象:强调对象
3:面向对象(掌握)  面向过程:强调每一步功能的步骤
(1)面向对象
         面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)


面向对象是基于面向过程的编程思想
(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:学生类的定义和使用
                  //  格式:类名 对象名 = new 类名();
Student s = new Student();
//输出成员变量值
//System.out.println(s.name);
//System.out.println(s.age);
//System.out.println(s.address);
System.out.println(s.name+"----"+s.age+"----"+s.address+"----");
//成员赋值
s.name = "王乙茜";
s.age = 21;
s.address = "成都";
//赋值后的输出
System.out.println(s.name+"----"+s.age+"----"+s.address+"----");

//调用方法
s.study();
s.eat();
s.sleep();
B:手机类的定义和使用
           String brand;
int price;
String color;
//call
public void call(String name) {
System.out.println("给"+name+"打电话");
}
//message
public void sendMessage() {
System.out.println("群发短信");
}
//game
public void playGame() {
System.out.println("玩游戏");
}
}
class PhoneDemo {
public static void main(String[] args) {
Phone p = new Phone();
System.out.println(p.brand+"----"+p.price+"----"+p.color);
p.brand = "nubia";
p.price = 100;
p.color = "灰色";
System.out.println(p.brand+"----"+p.price+"----"+p.color);
//调用方法
p.call("林青霞");
p.sendMessage();
p.playGame();
(7)内存图
A:一个对象的内存图
B:二个对象的内存图
C:三个对象的内存图
(8)Java程序的开发,设计和特征
A:开发:就是不断的创建对象,通过对象调用功能
B:设计:就是管理和维护对象间的关系
C:特征
a:封装
b:继承
c:多态
0 0