ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-07-05 23:34:26  阅读:165  来源: 互联网

标签:java Scanner int ArrayList System public 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,Scanner,int,ArrayList,System,public,JAVA,仅供参考
来源: https://blog.csdn.net/m0_48346020/article/details/118497813

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有