JAVA随堂笔记课【二】:语言基础

数据的表示和存储模式:

  1. 基本类型和数组
  2. 结构体
  3. 带方法的结构体(类)

假定有一java类cat。
Java中开辟空间:

Cat c = new Cat();

数组的使用:

int[]a = new int[3];
int[][]b = new int[2][3];

随便模拟一个教科书式的类

/** * */
package stu355.off003.listen;

/** * 一个模拟两个枪手互相设计的小游戏类 * @author Moso31 * */

class Shooter{
    String mName;
    int mHP;
    int mAmmo;

    /** * 枪手的构造函数 * @param name 枪手的姓名 * @param ammo 枪手的弹药数量 */

    Shooter(String name, int ammo){
        mName = name;
        mHP = 100;
        mAmmo = ammo;
    }

    /** * 枪手向敌人射击时的触发函数 * @param eName 敌人的名称 */
    void shoot(Shooter eName){
        //如果没有生命值或弹药,则跳出开枪函数
        if (!checkAmmo(true)) return;

        int damage = (int) (Math.random() * 100);
        System.out.println(mName + " 向 " + eName.mName + " 开了一枪,对其造成伤害 " + damage);
        mAmmo -= 1;
        eName.mHP -= damage;
        eName.checkHP(true);
    }

    /** * 检查枪手是否还有生命值 * @param 是否在控制台打印系统消息 * @return true 枪手还能存活 */
    boolean checkHP(boolean vol){
        if (mHP <= 0 && vol) System.out.println("枪手 " + mName + " 不慎挂掉了...");
        return mHP > 0;
    }

    /** * 检查枪手是否还有子弹 * @param 是否在控制台打印系统消息 * @return true 枪手还有子弹 */
    boolean checkAmmo(boolean vol){
        if (mAmmo <= 0 && vol) System.out.println("枪手 " + mName + " 弹夹空了...");
        return mAmmo > 0;
    }
}

public class HomeWorkShooter {

    /** * @param args */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Shooter a = new Shooter("James", 2);
        Shooter b = new Shooter("Eoviya", 3);
        while(a.checkHP(false) && b.checkHP(false) && (a.checkAmmo(false) || b.checkAmmo(false))){
            if (a.checkHP(false)) a.shoot(b);
            if (b.checkHP(false)) b.shoot(a);
        }
    }

}

模拟彩票抽奖36选7的函数

package stu355.off003.listen;

/** * 记录每组36选7的类。 * @author Moso31 * */
class NumberArray{
    int len = 36;
    int a[] = new int[len];
    int b[] = new int[7];

    NumberArray(){
        for(int i=0;i<len;i++) a[i] = i;
    }

    /** * 从剩余的数中抽取x个数 * @param x 抽取的数的数量 */
    void ChooseNumber(int x){
        for(int i=0;i<x;i++){
            int n = (int) (Math.random() * len);
            b[i] = a[n] + 1;
            deleteInArray(n);
        }
    }

    /** * 从数列中删除数x,数列抽取出一个数的时候调用 * @param x 被删除的数 */
    void deleteInArray(int x){
        len--;
        for(int i=x;i<len;i++) a[i] = a[i+1];
    }

    /** * 打印随机出来的36进7的数字 */
    void print7Num(){
        for(int i=0;i<7;i++) System.out.print(b[i] + " ");
        System.out.println();
    }

    /** * 打印a数组,仅作测试之用 */
    void print36Num(){
        for(int i=0;i<len;i++) System.out.print(a[i] + " ");
        System.out.println();
    }
}

/** * 36选7函数主类。 * @author Moso31 * */
public class HomeWork7in36 {

    /** * 承载随机数列的主函数。 * @param args */
    public static void main(String args[]){
        NumberArray a = new NumberArray();
        a.ChooseNumber(7);
        a.print7Num();
    }
}

你可能感兴趣的:(java)