Java语言基础六
A.二维数组
由二维数组实现螺旋矩阵
import java.util.Scanner;
public class Matrix{
public static void main(String[] args){
//定义矩阵输入的初值
int cnt=1;
int i=0;
int j=0;
//输入矩阵的列和行
Scanner scan=new Scanner(System.in);
//定义存储单元接收输入的值
System.out.println("请输入矩阵的行列");
int a=scan.nextInt();
//定义一个二维数组
int[][] arr=new int[a][a];
int c=a-1;
int loop=a/2;
int p=0;
//建立一个while循环实现数组的存储
while(loop>0){
for(;j<c-p;j++)
arr[i][j]=cnt++;
for(;i<c-p;i++)
arr[i][j]=cnt++;
for(;j>p ;j--)
arr[i][j]=cnt++;
for(;i>p;i--)
arr[i][j]=cnt++;
i++;
j++;
p++;
loop--;
}
//判断矩阵是否为奇矩阵是则给矩阵中心点赋值
if(a%2==1){
arr[a/2][a/2]=a*a;
}
//输出矩阵
for(i=0;i<a;i++){
for(j=0;j<a;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
输出结果:当矩阵为偶矩阵时;
*******************************************************
请输入矩阵的行列6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
********************************************************
当矩阵为奇矩阵时:
请输入矩阵的行列7
1 2 3 4 5 6 7
24 25 26 27 28 29 8
23 40 41 42 43 30 9
22 39 48 49 44 31 10
21 38 47 46 45 32 11
20 37 36 35 34 33 12
19 18 17 16 15 14 13
************************************************************
java的面向对象
A.面向对象是基于面向过程的编程思想
B.面向对象思想特点
是一种更符合我们思想习惯的思想
可以将复杂的事情简单化
将我们从执行者变成了指挥者
角色发生了转换
C.面向对象的开发:就是不断地创建对象,使用对象指挥对象做事;
举例:面向对象和面向过程;
比如洗衣服
面向过程:将脏衣服放进盆里->倒洗衣粉->放水->揉搓->漂洗->晾衣服->过程完毕
面向对象:将脏衣服给老婆->完毕
D.面向对象的特征:
封装
继承
多态
E.java语言最基本的单位:类
类:一组相关属性和行为的集合
对象:该类的具体实现
举例:
类:学生
对象:班长
类:老师
对象:班主任
类:人
对象:高圆圆
类:java中用class描述类;
成员变量:就是事物的属性;
成员方法:就是事物的行为;
F.如何创建对象:
类名 对象名=new 类名();
类的成员变量和成员方法的调用:
对象名.成员变量;
对象名.成员方法;
G.成员变量和局部变量的区别:
1)位置不同:
成员变量:在类中方法外
局部变量:在方法中
2)在内存中位置不同
成员变量:堆内存中;
局部变量:堆内存中;
3)生命周期不同:
成员变量:随着对象的存在而存在,随着对象的消失而消失;
局部变量:随着方法的调用而存在,随着方法的消失而消失;
4)初始化值不同:
成员变量:有系统默认的初始化值;
局部变量:没有默认的初始化值必须先定义,赋值然后再使用;