2024-1-24 笔记

本文介绍了Java中的数组声明与操作,包括静态和动态数组,二维数组,以及如何使用随机数生成器进行双色球摇号。此外,讲解了面向对象编程中的类、对象、成员变量、构造方法、封装和重载概念,以及单元测试的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组:

java程序中存储多个类型相同的内容,声明数组是在内存申请一段连续的存储单元。

数组长度:数组名.Length

二维数组:数组名.Length(二维数组里的一维数组个数)

数组名[n].length(该行数组的元素个数)

动态声明数组格式:数据类型[ ] 数组名 = new 数据类型 [数组长度] ;

静态:数据类型[ ] 数组名 = new 数据类型 [ ]{元素1、2……} ;

布尔类型的默认值是false

//声明数组
        //int[] arr = new int[]{1,4,2,7,9};//静态声明
        int[] arr = new int[20];//动态声明
        //逐个遍历
        //System.out.println(arr[1]);
        //for循环遍历
        for(int i = 0;i < arr.length; i++){
            System.out.print(arr[i]);
        }

随机数:

//创建一个随机数对象
Random random = new Random();

arr[i] = random.nextInt(33)+1;//括号内数表示0到该数且左闭右开,加一则取到1到33

双色球问题:

//声明一个int类型 长度为7的动态数组
        int[] arr = new int[7];
        //创建一个随机数对象
        Random random = new Random();
        //开始摇号(给数组添加元素),先摇6个红球 范围1~33
        for(int i = 0;i < arr.length-1;i++){
            //红球
            arr[i] = random.nextInt(33)+1;//括号内数表示0到该数且左闭右开,加一则取到1到33
            //去重
            //j的初始值:从第二个数才有可能重复
            //j>=0 会出现多次重复,最少0次重复
            //解决一次重复自减
            for(int j = i-1;j >= 0;j--){
                if(arr[i] == arr[j]){
                    //若号码出现重复,退一需重新摇号
                    i--;
                    break;//解决好重复继续随机摇号
                }
            }
        }
        //蓝球
        arr[arr.length-1] = random.nextInt(17)+1;
        //将数组中双色球遍历
        System.out.println("本期中奖结果:");
        for (int i = 0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }

面向对象(分析事物的特征和行为):

对象:一切可被描述的

类:具有相同特征和行为的多个事物共性的抽象

类名首字母大写,多个单词构成时每个首字母大写(大驼峰命名法)

成员变量首字母小写,多单词构成第二个单词起每个首字母大写(小驼峰命名法)

引用类型的成员变量名:引用数据类型 引用变量名 = new 引用数据类型();

类是对象的抽象,对象是类的实现

通过对象可以调用该类型的变量和方法

成员方法:

返回值:从方法体内向方法体外,传递数据内容

返回值类型

形参列表:

形式参数:从方法体外向方法体内,传递数据内容

形式列表

成员方法体:

实参一一对应形参(类型,位置,数量)

封装:

无参构造:

【权限修饰】构造方法名(){ }

有参构造:

【权限修饰】构造方法名(形参列表){

构造方法体

}

//当用户未写任何形式的构造方法时,系统会自动为程序提供一个无参构造方法

//当用户自己编写了构造方法,系统不会为程序再提供任何形式的构造方法
//用户编号
    private int id;
    //用户姓名
    private String name;
    public User() {
    }
    public User(int id, String name(){
        this.id = id;
        this.name = name;
    }
     public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
 public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

重载:

单元测试:

验证代码,单元测试可以用来验证代码的各个功能是否按照预期工作。通过编写测试用例覆盖

代码的不同路径和逻辑条件,可以确保每个单元都能正确执行其设计的功能。

可以测试多个类

import org.junit.Test;

import static org.junit.Assert.*;

/**、
 * 单元测试
 */
public class PersonTest {
    @Test
    public void Test01(){
         Person person = new Person();
         person.show();
         person.setName("张飞");
         person.setAge(-1);
         person.show();
    }
    @Test
    public void test02(){
        Phone phone = new Phone();
        phone.show();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值