Java教程

JAVA重点笔记整理一java基础(三)(针对个人而言仅供参考)

本文主要是介绍JAVA重点笔记整理一java基础(三)(针对个人而言仅供参考),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

面对对象思想:Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 

:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
public class ClassName {   //成员变量   //成员方法  }
 

对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性 和行为。

类名 对象名 = new 类名();
 

类和对象的关系:

类是对一类事物的描述,是抽象的。 

对象是一类事物的实例,是具体的。

类是对象的模板,对象是类的实体。

封装

面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。 

private关键字的含义 
1. private是一个权限修饰符,代表最小权限。

2. 可以修饰成员变量和成员方法。

3. 被private修饰后的成员变量和成员方法,只在本类中才能访问。 

提供 get* 方法 / set*方法,可以访问成员变量,生成toString方法方便输出打印

package main.java.com.riverside;

public class Demo01 {
    private String name;
    private int age;

    public Demo01() {
    }

    public Demo01(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Demo01{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

this关键字

上面代码如果把this关键字去掉,也就是set*和get*方法的形参和变量名一样,在修改了 set*() 的形参变量名后,方 法并没有给成员变量赋值!这是由于形参变量名与成员变量名重名,导致成员变量名被隐藏,方法中的变量名,无 法访问到成员变量,从而赋值失败。get*同理,所以,我们只能使用this关键字,来解决这个重名问题。

this代表所在类的当前对象的引用(地址值),即对象自己的引用。

构造方法:当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
有有参构造和无参构造方法;注意:无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法, 一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效

public Demo01() {
    }

    public Demo01(String name, int age) {
        this.name = name;
        this.age = age;
    }

标准JavaBean:上面写的就是标准JavaBean,下面我们来运行一下

package main.java.com.riverside;

public class Demo02 {
    public static void main(String[] args) {
        Demo01 demo01 = new Demo01();
        demo01.setName("赵丽颖");
        demo01.setAge(28);
        System.out.println(demo01.getName()+"的年龄为"+demo01.getAge()+"岁");
    }
}

结果:

javaAPI 

处理java.lang包下的不需要导包,其他均需要导包

1.Scanner类:一个可以解析基本类型和字符串的简单文本扫描器。在java.util包下 

Scanner sc = new Scanner(System.in); int i = sc.nextInt();

System.in表示从键盘输入数据,使用Scanner类需要导包,导包使用import,例如import java.util.Scanner

构造方法:public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。

成员方法:public Scanner(InputStream source) : 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。

案例:结合前面的Demo1,使用Scanner对象从键盘输入传递姓名年龄,并使用toString输出打印
 

package main.java.com.riverside;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//创建Scanner对象
        Demo01 demo01 = new Demo01();//new一个Demo01的javaBean对象
        System.out.println("请输入您的姓名:");
        String name= sc.next();
        demo01.setName(name);//将键盘输入的数据传给setName方法
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();
        demo01.setAge(age);
        System.out.println(demo01.toString());
    }
}

Random类

这个类的一个实例是用于生成伪随机数流

构造方法:Random() 创建一个新的随机数发生器

成员方法:public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n (不包括)之间的 int 值。 

案例:使用Random完成一个1-100猜数字大小的游戏

package main.java.com.riverside;

import java.util.Random;
import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Random random = new Random();
        int count = random.nextInt(100) + 1;
        while (true) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您所猜的数字:");
            int i = sc.nextInt();
            if (i > count) {
                System.out.println("猜大了请再猜猜");

            } else if (i < count) {
                System.out.println("猜小了请再猜猜");
            } else {
                System.out.println("恭喜您猜对了");
                break;//跳出循环
            }

        }
    }
}

ArrayList 类

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

 

成员方法:public boolean add(E e) : 将指定的元素添加到此集合的尾部。 参数 E e ,在构造ArrayList对象时, <E> 指定了什么数据类型,那么 add(E e) 方法中,只能添加什么数据 类型的对象。

对于元素的操作,基本体现在——增、删、查。

常用的方法有: public boolean add(E e) :将指定的元素添加到此集合的尾部。 
public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。  public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

 

package main.java.com.riverside;

import java.util.ArrayList;

public class Demo05 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        System.out.println("get="+list.get(0));// public E get(int index)返回指定索引位置的元素
        System.out.println("get="+list.get(1));
        System.out.println("get="+list.get(2));
        System.out.println("----------------");
        System.out.println("size="+list.size());//返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界
        System.out.println("----------------");
        System.out.println("remove="+list.remove(0));//删除指定索引的元素,返回被删除的元素
        for (int i = 0; i <list.size() ; i++) {
            System.out.println(list.get(i));//遍历输出
        }
    }
}

如何存储基本数据类型

ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的 包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写

练习:把产生的随机偶数并添加到一个集合中

package main.java.com.riverside;

import java.util.ArrayList;
import java.util.Random;

public class Demo06 {
    public static void main(String[] args) {

        Random random = new Random();// 创建Random 对象
        ArrayList<Integer> list = new ArrayList<>(); // 创建ArrayList 对象
        for (int i = 0; i < 20; i++) { // 添加随机数到集合     
            int r = random.nextInt(1000) + 1;
            list.add(r);
        }
        ArrayList<Integer> arrayList = getArrayList(list);// 调用偶数集合的方法
        System.out.println(arrayList);
    }

    public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) {
        ArrayList<Integer> smallList = new ArrayList<>(); // 创建小集合,来保存偶数
        for (int i = 0; i < list.size(); i++) {// 遍历list
            Integer num = list.get(i);// 获取元素
            if (num % 2 == 0) { // 判断为偶数,添加到小集合中
                smallList.add(num);
            }
        }
        return smallList; //  返回小集合    
    }
}

这篇关于JAVA重点笔记整理一java基础(三)(针对个人而言仅供参考)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!