java SE教程07

跟数组的概念基本相同 , 也是容器的概念 !

数组中存储的不再是基本数据类型, 而是数组 !

多维数组, 正常在程序中 很少出现三维以上的数组 !

定义的格式1:

数据类型[][] 二维数组名 = new 数据类型[二维数组长度][一维数组长度];

定义的格式2:

数据类型[][] 二维数组名 = new 数据类型[二维长度][];

定义的格式3:

数据类型[][] 二维数组名 = {{数据1,数据2,数据3},{数据1,数据2,数据3},{数据1,数据2,数据3}};

练习:

从如下多维数组中 寻找最大值:

public class Demo2{
piublic static void main(String[] args){
int[][] arrs = {{1,24,33,55,66,23},{2,4,6,8,10},{36,38,42,55},{123,223,333,1234,54321,22},{-1,-20,-50,60,80}};

    /*上面的二维数组中存在五个一维数组
    int max = arrs[0][0];
    int[] arr1 = arrs[0];
    for(int j=0;j<arr1.length;j++){
        if(max<arr1[j]){
            max = arr1[j];
        }
    }

    int[] arr2 = arrs[1];
    for(int j=0;j<arr2.length;j++){
        if(max<arr2[j]){
            max = arr2[j];
        }
    }

    int[] arr2 = arrs[2];
    //----------------
    int max = arrs[0][0];
    for(int i=0;i<arrs.length;i++){
        int[] arr = arrs[i];
        for(int j=0;j<arr.length;j++){
            if(max<arr[j]){
                max = arr[j];
            }
        }

    }
    */

    int max = arrs[0][0];

    for(int i=0;i<arrs.length;i++){
        for(int j=0;j<arrs[i].length;j++){
            if(max<arrs[i][j]){
                max = arrs[i][j];
            }
        }
    }

    System.out.println("这个二维数组中的最大值为:"+max);

}

}
练习:

计算如下二维数组中数据的平均值:

public class Demo3{
piublic static void main(String[] args){
int[][] arrs = {{1,24,33,55,66,23},{2,4,6,8,10},{36,38,42,55},{123,223,333,1234,54321,22},{-1,-20,-50,60,80}};
//在这里补代码

    int sum = 0;
    int length = 0;
    for(int i=0;i<arrs.length;i++){
        length += arrs[i].length;
        for(int j=0;j<arrs[i].length;j++){
            sum += arrs[i][j];
        }
    }
System.out.println("平均值为: "+ sum/length);
}

}
方法

提高代码的复用率 , 尽量不要重复造轮子
定义

是用于封装一段逻辑的代码块 , 在需要使用时, 可以调用;

方法所定义的元素:

方法由{[修饰符]+返回值类型+方法名+[参数列表]+方法体 }组成

修饰符: 修饰这个方法的访问权限和是否依赖于对象等等;

返回值类型声明: 描述这个方法运行完毕后,一定会返回的数据的类型 !

方法名: 给这段代码块 起名称,再一个class中多个方法之间名称不可重复 ! 方便后续调用时, 进行唯一性的区分 !

参数列表: 在使用此方法时, 需要传递到方法内部进行运算处理的数据 !

方法体: 这个方法的代码块 ! 由’{‘和’}’组成
参数列表详解

两种概念:

在定义方法时, 所描述的是   "形式参数列表"

在调用方法时, 所传递的具体的值, 叫做 "实际参数列表";

参数列表练习:
编写一个打印(你好)方法, 根据传递的整型参数,决定打印的次数 !

public static void a(int count){

for(int i =0 ; i<count;i++){
    System.out.println("你好");
}

}
返回值详解:

一个方法执行结束后, 可以返回一个具体的数据, 我们称其为返回值.

在声明方法时, 必须指定返回的类型:

基本数据类型 和 引用数据类型都可以使用 

特殊的: void 表示方法没有返回的值!

返回一个数据的方式:

使用关键字 return ;

格式:

return 要返回的数据;

特别注意:

当一个方法执行了return以后, 表示方法产生了结果, 方法会直接中断并结束 !(写在return后的代码 是无法执行的)

返回值类型声明为void的方法,  也可以写return 

格式为: return; , 表示方法立即结束 !

练习

设计一个方法, 传递两个整型的数字, 计算两个数字的和, 并返回给方法的调用者:

public static int sum(int a,int b){
int s = a+b;
return s;
}
练习:

设计一个方法, 传递三个整型的数字, 计算三个数字相乘的结果, 并返回给调用者

public static int haha(int a,int b,int c){
System.out.println(“正在运算”);
int d = a*b*c;
System.out.println(“运算完毕, 正在返回结果”);
return d;
}
方法的声明:

修饰符 返回值类型 方法名(参数列表){
//方法的代码块

}

例如:

public static void main(String[] args){

}

练习:

public static void main(String[] args){
//调用方法:
System.out.println(“开始将故事”);
tellStory();

}

public static void tellStory(){
System.out.println(“董飞开着砖机 , 带着200万 ,要去见丈母娘 ~ “);
System.out.println(“丈母娘家比较远 ~ 需要经过一段山路 ~ “);
System.out.println(“董飞开着砖机, 吃着火锅唱着歌 , 突然就遇到了悍匪 ~ “);
System.out.println(“悍匪不但劫财 . 他还劫色 !”);
System.out.println(“董飞很害怕 , 董飞就跟悍匪沟通 ~ “);
System.out.println(“最终呢, 因为董飞的口活好 ~ 悍匪不但把200万还给了他 , 还给了他200万小费 ~ “);
}
面向过程 与 面向对象 对比

问: 如何将一头大象, 装进冰箱里 ~ \

面向过程:

    1.  打开冰箱门
    2.  把大象放进去
    3.  关上冰箱门

面向对象:

    1.  创造一个听指挥 会装东西的冰箱 ~

    告诉冰箱, 把大象装进去 ~

面向对象

从概念上分为如下三种:

1.  面向对象分析 : OOA思想 (Object Oriented Analysis)

2.  面向对象设计 : OOD思想 (Object Oriented Design)

3.  面向对象程序 : OOP思想 (Object Oriented Programming)

面向对象三大特征:

-   封装性: 对象中所有的特征,内容对外部不可见 !
-   继承性: 可以将一个对象的功能继承下来继续发展 !
-   多态性: 一个事物 可以具备多种形态 !

类与对象的关系 ;

就像生活中 图纸与具体的实物的关系 ,

我们通过类去描述对象具备的特征与行为, 交由JVM来根据这个类去创建对象 !

类表示的是一个共性的产物 ,是一个综合的特征 , 而对象是一个个性的产物 ,是一个个体所具备的特征 !

类由属性(特征)和 方法(行为) 组成

属性: 相当于特征 , 例如: 人类的特征: 有姓名, 年龄 等等

属性: 就是直接定义在一个类中的变量 , 我们称其为类的成员变量 , 定义在方法中的变量 我们称其为局部变量;

方法: 相当于行为, 功能, 例如: 冰箱具备装东西的功能

在类中定义的方法, 我们称其为成员方法!

常说的function(函数) 与 method(方法)

只是不同编程语言 对于方法的称呼而已 ~
如何定义一个类

格式:

class 类名{
    属性1;
    属性2;
    ...
    属性n;

    方法1(){}
    方法2(){}
    ...
    方法n(){}
}

String

表示的是字符串,

如何定义
String 变量名;
如何进行赋值:
变量名= “具体的文本”;
练习:

设计一个人类 , 具备一些人的特征(属性)与行为(方法)

人具备的特征: 

    姓名 
    年龄
    性别

人具备的行为:

    说话

class Person{
String name;
int age;
char sex;

void say(){
    System.out.println("我叫:"+name+",我今年"+age+"岁了,我的性别:"+sex);
}

}
如何创建对象

回忆变量的声明格式:

数据类型 变量名 = 初始化值;

回忆数组的声明格式:

数据类型[] 数组名 = new 数据类型[长度];

通过关键字new 去开辟内存空间, 创建对象

创建对象的格式:

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

案例:

Person p = new Person();

如何给属性赋值

格式:

对象名.属性名=值;

例如:

Person p = new Person();
p.name="董飞";
p.age=18;
p.sex='妖';

如何获取属性的值

格式:

对象名.属性名;

例如:
Person p = new Person();
String haha = p.name;
int heihei = p.age;
System.out.println(p.name);
如何调用对象的方法

格式:

对象名.方法名([实际参数列表]);

例如:

Person p = new Person();
p.say();

练习:

设计一个类:

类名: Student

具备的特征: 姓名name(String), 年龄age(int) ,学号id(int)

具备的行为: 学习learn (只需要打印出, ‘我正在学习’ 即可)

将上述的类, 创建一个对象, 并给它的属性进行赋值, 然后调用它的学习方法

class Student{
//学生的姓名
String name;
//学生的年龄
int age;
//学生的编号
int id;

void learn(){
    System.out.println("我正在学习~!我是"+name+",我今年"+age+"岁了,我的学号是:"+id);
}

}

public class Demo9{
public static void main(String[] args){
//创建对象
Student s = new Student();
s.name=”高帆”;
s.age=8;
s.id=110;
s.learn();
}
}
作业:

自行设计 5 个类 , 并使用其进行对象的创建, 属性的赋值, 方法的调用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值