Java_Day6 构造方法、匿名对象、Scanner、Random、ArrayList

构造方法

当一个对象创建时,构造方法用来初始化对象,给对象的成员变量赋值。

  1. 方法名和类名一致
  2. 无返回值

无论是否自定义构造方法,所以类都有构造方法,因为java会自动提供给我们一个无参构造方法。一旦自己定义了构造方法,java自动提供无参构造方法失效。

注意:

  1. 如果不创建构造方法, 系统会默认生成一个无参构造方法。
  2. 如果自己已经创建了一个构造方法,系统将不再提供无参构造方法。
  3. 构造方法是可以重载的。

标准的类

JavaBean,是java语言编写类的一种规范,符合javaBean类,要求必须是具体和公开的。并且具有无参构造方法和有参构造方法,并且提供操作成员变量提供的get和set方法

public class test{
    //成员变量
    //无参构造方法(必须有)
    //有参构造方法(根据情况创造)
    //成员方法
    //set和get方法
}

API

api其实就是一个应用程序的编程接口,javaAPI可以理解为我们程序员的一个字典,说明文档。

api的使用步骤:

  1. 打开说明文档
  2. 点击显示,找到索引,可以找到输入框输入关键字
  3. 如果是java.long类的,不需要导包
  4. 可以看具体类的一些说明

Scanner引用类型的一般使用步骤

  1. 导包

    import 包路径.类名

    如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写。

    只有java.lang包下的内容不需要导包,其他的包都需要import语句。

  2. 创建

    一个可以解析我们基本类型和字符串的一个简单文本解析器

    以下代码使用户能够从System.in中读取一个数

    Scanner sc = new Scanner(System.in);

  3. 使用

    对象名.成员方法名();

    获取键盘输入的一个int数字:int num = sc.nextInt();

    获取键盘输入的一个字符串:String str = sc.nextLine();

    import java.util.Scanner;
    
    public class test1 {
        public static void main(String[] args) {
            System.out.println("请输入字符");
            Scanner sc = new Scanner(System.in);
            String a = sc.nextLine();
            System.out.println("您输入的是:"+a);
        }
    }
    
    public class test1 {
        public static void main(String[] args) {
    //        求输入的3个数中的最大值
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入第一个数据:");
            int a = sc.nextInt();
            System.out.println("请输入第二个数据:");
            int b = sc.nextInt();
            System.out.println("请输入第三个数据:");
            int c = sc.nextInt();
            int max=a>b?a:b>c?b:c;
            System.out.println("最大值是:"+max);
        }
    }
    

匿名对象


概念:创建对象时,只创建对象的语句,却没有把对象的地址赋值给某一个变量,虽然是简单的用法,但是应用场景有限。

应用场景:

  1. 创建匿名对象直接调用方法,没有变量
  2. 一旦调用两次方法,就会创建两次对象,造成浪费

创建对象的标准格式:类名 对象名 = new 类名();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。

格式:new 类名();

注意事项:匿名对象只能使用唯一一次,下次再用不得不重新创建一个新对象。

使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。

使用匿名对象作为方法的参数
    public static void main(String[] args) {
        methodParam(new Scanner(System.in));
    }

    public static void methodParam(Scanner sc) {
        int num = sc.nextInt();
        System.out.println("输入的是:" + num);
    }
}
使用匿名对象作为返回值
    Scanner sc = methodReturn();
    int num = sc.nextInt();
    System.out.println("输入的是:" + num);
}
public static void methodReturn(){
   /* Scanner sc = new Scanner(System.in);原写法
    return sc;*/
    return new Scanner(System.in);
}

Random类用来生成随机数字

查看类:java.util.Random

构造方法:Random() 创建一个随机生成器

Random r= new Random();

int ram = r.nextInt();无参的代表取值范围为int的范围,有正有负

int ram = r.nextInt(int bound);返回一个随机数,范围[0,n)之间的int值

使用这个类,完成3个10以内的随机整数:

import java.util.Random;

public class ScannerDemo {
	public static void main(String[] args) {
	//使用这个类,完成3个10以内的随机整数:
		Random random=new Random();
		for (int i = 0; i <3 ; i++) {
		//随机生成一个数据
		int i1 = random.nextInt(10);
		//输出我们的数据数
		System.out.println("随机数:"+i1);
		}
	}
}

随机生成器

public class ScannerDemo {
	public static void main(String[] args) {
	//创建随机生成器 1‐‐50
		Random random=new Random();
		int i = random.nextInt(50)+1;
		System.out.println(i);
	}
}

猜一个1到100的数字:

    public static void main(String[] args) {
//      猜测一个1到100的随机数
        Random r = new Random();
        int RandomNumber = r.nextInt(100)+1;

        while (true){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入1-100之间的数字:");
            int ScannerNumber =sc.nextInt();
            if (ScannerNumber>RandomNumber){
                System.out.println("太大了,请重试");
            }else if (ScannerNumber < RandomNumber){
                System.out.println("太小了,请重试");
            }else {
                System.out.println("恭喜你,猜对了,正确的数是"+ScannerNumber);
                break;
            }
        }
        System.out.println("游戏结束");
    }

格式化快捷键代码:ctrl+alt+l

ArrayList数组

数组的长度不可以发生变化,但是ArrayList集合的长度是可以随意变化的

导包:java.util.ArrayList;

格式:ArrayList list = new ArrayList<>();

对于ArrayList来说,有一个尖括号代表泛型

泛型:就是装在集合中的所有元素,全部都是统一的什么类型。

注意:泛型只能是引用类型,不能是基本类型

注意事项:

对于ArrayList集合来说,直接打印得到的不是地址值,而是内容,如果内容是空,得到的是空的中括号:[]

ArrayList当中的常用方法有:

public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。

import java.util.ArrayList;
public class Demo {
    public static void main(String[] args) {
        //创建ArrayList对象
        ArrayList<String> arrayList=new ArrayList<>();
        String s1="小猫";
        String s2="小狗";
        String s3="小黄";
        System.out.println(arrayList);
        arrayList.add(s1);
        arrayList.add(s2);
        arrayList.add(s3);
        //打印学生的一个集合
        System.out.println(arrayList);
    }
}

public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。

public E remove(int index): 从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。

public int size(): 获取集合的尺寸长度,返回值是集合中包含的元素个数。

list数组长度,list.size();

获取list里的值,list.get(i)

import java.util.ArrayList;
public class test {
    public static void main(String[] args) {
        ArrayList<String> List = new ArrayList<>();
        String a = "song";
        String b = "sang";
        String c = "dance";
        //add
        List.add(a);
        List.add(b);
        List.add(c);
        System.out.println(List);//[song,sang,dance]
        //get
        System.out.println(List.get(0));//song
        System.out.println(List.get(2));//dance
        System.out.println(List.get(1));//sang
        //size
        System.out.println(List.size());//3
        //remove
        System.out.println(List.remove(1));//sang
        System.out.println(List);//[song,dance]
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值