Android开发学习——Day8(Java基础知识二&实战:扑
学习目的
1.学习数组的定义和输出
2.理解类、对象、成员变量和方法的概念
3.了解类的封装
4.实战:扑克游戏
学习过程
尝试数组的几种定义方法,通过重写C语言学习中的猜数字游戏理解了Java写代码的新思想。实战学习,写一个扑克游戏的代码,让自己对学到的知识有更深入的理解。
技术
1.数组定义和输出:有静态和动态两种方式定义一个数组;有三种方式输出一个数组。
1)静态定义数组:给数组确定的初始值
eg:int[ ] score = {1,2,3};
2)动态定义数组:数组内容动态添加
eg:float[ ] height =new float[5];
height[0] =181.5f;
height[1] =165.5f;
注意:定义数组时要为其分配好内存;数组一旦被定义,大小就确定了,无法更改。
3)数组的输出方式:

2.重要概念:
1)类:抽象的,不实际存在的,描述同一类事物(具有共同的属性和方法)的一种概括。
定义一个类,通常情况下,一个文件对应一个类。修饰有,public static private final。
eg:
修饰符 class 类名{
这个类的一些属性:成员变量
这个类的一些功能:方法}
Tips:Java中的类类似于C语言中的函数,但又比C语言中函数作用更大。
2)对象:Java语言是面向对象的编程语言,即OOP(Object oriented programming)。
1>对象是具体的、实际存在的某一类的实例化。都是又new出来的,可以完成具体的事情,因为其有内存空间。
2>使用“.”访问成员变量和方法。对象一旦创建属性变量就有初值。
char -> ' '
int long short -> 0
float double -> 0.0
byte -> 0
boolean -> false
引用数据类型:对象类型的变量 -> null
3>同一个类可以创建多个对象
4>每个对象的内存空间都是独立的(对象之间没有任何关系)
3)方法:即实现相关功能的代码块
方法的使用:
1>调用谁的(哪个对象)方法
2>在一个类里面可以直接调用自己的方法,在外部必须通过对象来调用
4)封装:将一些成员变量、方法等打包在一起
把私有的东西封装起来,不让外部使用,若是需要给外部使用,就暴露出来。
Tips:访问权限:public private protected
1>public:公共的 想用就用(内部可以用,外部也可以用)
2>private:私有 只能自己使用,外部无法访问
3>protected:受保护的 外部(同一个包中)可以访问
3.实战:扑克游戏
我的思路很简单,首先将两个玩家所需要用到的成员变量和方法一并归入一个类中,方便使用。

然后按照一以贯之的思路,先生成界面,纸牌;接着给玩家的属性赋值;进而玩家操作;最后决出胜负。整个过程两个玩家都是等地位的,故很多操作重叠了可以归一,这也是我编写代码需要改进的地方。

(代码十分冗杂且可读性、可移植性都不强)
感悟
Java的学习和C语言有所不同,虽然语法方面很容易就上手了,但在考虑问题时不再是像C语言中一样从头至尾,而是会利用类、对象、方法,并借助系统提供的方法来解决问题。刚开始还是有点不太习惯,万事开头难,稍加练习就会好的。还有自己在做实际项目时依旧摆脱不了C语言的思维方式,在代码的结构方面还可以继续进步。