1月24日 Java学习内容

一、集合与面向对象

一维数组
        变量:在iava程序中,当需要存储单个数据内容时,需要声明一个变量,声明变量的本质就是在内存空间中申请块存储单元
        概念:在java程序中,当需要存储多个数据类型相同的内容时,则需要声明一个数组。声明数组的本质,就是在内存中申请一段连续的存储单元。
数组中的名词:
        数据类型变量名=初始值声明变量:
        数组名:数组中变量的名称
        数组的长度:数组名length;
        数组中的元素:数组当中值
        数组角标(下标):数组的下标从0开始ArraylndexOutOfBoundException 数组下标越界异常
声明数组的格式:
        数据类型[]数组名= new 数据类型[ 数组的长度];

        注意:    在数组声明时,如果不给数组直接赋值,那么,byte/short/int/long/的默认值为0,float和double的默认值为0.0,特别需要注意的是布尔类型的默认值为false;

双色球案例:  六个红球,范围1~33;一个蓝球,范围1~17

import java.util.Random;
public class DoubleColorBall {
    public static void main(String[] args) {
        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;
            //去重
            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] + " ");
        }
    }
}

对象语法格式
      1.  new 引用数据类型();

案例://表示创建一个Person类型的对象newPerson);

类:简单来说类就是"分类",是指具有相同特征和行为的多个事物共性的抽象,在java中表现为一种引用数据类型,其中包含描述特征的成员变量和描述行为的成员方法语法格式:
        2.权限修饰符 class 类名类体;
案例:class Personf{类体;}
        3.注意:通常情况下,类名的首字母要大写,当类名由多个单词构成时,每个单词的首字母都要大写;[驼峰命名法]
        4.成员变量(特征、属性)
语法格式:[权限修饰符] 数据类型 成员变量 成员变量值;

其中等号和成员变量值可以省略,通常情况下都省略,分号不可以省略 。

二、面向对象三大特征
        1.this关键字(原理、理解)
        基本概念在构造方法中和成员方法中访问成员变量时,编译器会加上this.的前缀,而this.相当于汉语中我的,当不同的对象调用同一个方法时,由于调用方法的对象不同导致this关键字不同,从而this.方式访问的结果也就随之不同
        2.使用方式
(1)当形参变量名与成员变量名相同时,在方法体中会优先使用形参变量(就近原则),若希望使用成员变量,则需要在成员变量的前面加上this.的前缀,明确要求该变量是成员变量。

(2)在构造方法的第一行可以使用this的方式来调用本类中的其它构造方法(了解)。
        3.封装
基本概念:通常情况下可以在测试类给成员变量赋值一些合法但不合理的数值,无论是编译阶段还是运行阶段都不会报错给出提示,此时与现实生活不符。为了避免上述错误的发生,就需要对成员变量进行密封包装处理,来隐藏成导的细书及保证成员变量数值的合理性.该机制就叫封装。

public class Person {
    private String name;
    private int age;
    public Person(){}
    public Person(String name,int age){
        setName(name);
        setAge(age);
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age > 0 && age < 150){
            this.age = age;
        }else{
            this.age = 18;
            System.out.println("你输入的年龄有误");
        }
    }

    public void show(){
        System.out.println("姓名" + name + "年龄" + age);
    }
}
public class PersonTest {
    @Test
    public void test01(){
        Person person = new Person();
        person.setName("zf");
        person.setAge(-3);
        person.show();
    }
    @Test
    public void test02() {
        Person p = new Person("WRC",-1);
        p.show();
    }
}

 

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值