Java学习笔记--- Random/ArrayList/Math

一、random类

1、什么是random
是实例用于生成伪随机数

import java.util.Random; //需要导入 Random 类
public class Randomnum {
    public static void main(String[] args){
        Random r = new Random(); //创建 Random 对象
        int num = r.nextInt(10); //随机生成10以内的数字
        System.out.println(num);  //输出 0-9 的随机数字,其中的 10 是不包括的
    }
}

猜数字小游戏:

import java.util.Scanner; //输入模块
import java.util.Random; //随机模块
public class minGame {
    public static void main(String[] args){
        Random r = new Random();
        int numbers = r.nextInt(51); //50以随机数字
        while (true){
            Scanner scanners = new Scanner(System.in); //创建 Scanner 对象
            System.out.print("请输出你猜的数字:");
            int num = scanners.nextInt();
			//使用 if 语句比较
            if(num > numbers){
                System.out.println("你猜的数字大了");
            }
            else if(num < numbers){
                System.out.println("你猜的数字小了");
            }
            else{
                System.out.println("恭喜你猜对了");
                break;
            }
        }
    }
}

二、ArrayList类

ArrayList 是大小可变数组的实现,储存在内的称为元素,这个类提供方法来操作内部储存的元素
1、一般写法与ArrayList写法
①一般储存对象

package packagename;
public class Storage {
    public static void main(String[] args){
        //创建数组
        Studentss[] s = new Studentss[3];
        //创建对象
        Studentss s1 = new Studentss("xiaoHong",12);
        Studentss s2 = new Studentss("xiaoGang",15);
        Studentss s3 = new Studentss("xiaoMing",10);
        //将对象作为元素赋值给数组(储存给数组)
        s[0] = s1;
        s[1] = s2;
        s[2] = s3;
        //遍历数组s
        for(int i=0; i<s.length; i++){
            Studentss s4 = s[i];
            System.out.println(s4.getAge() +" "+ s4.getName());
        }
    }
}
class Studentss{
    private String name;
    private int age;
    public Studentss(String name,int age){ //构造方法,获取age
        this.name = name;
        this.age = age;
    }
    public String getName(){ //读取name
        return this.name;
    }
    public int getAge(){ //读取age
        return this.age;
    }
}

输出:
在这里插入图片描述
② ArrayList使用
表示储存引用类型的元素:

ArrayList, ArrayList

基本格式:

ArrayList<String> list = new ArrayList<>();
package packagename;

import java.util.ArrayList;
import java.util.List;

public class Arraylistss {
    public static void main(String[] args){
        //创建组
        ArrayList<String> list = new ArrayList<>();
        StringBuilder stringBuilder = new StringBuilder(); //StringBuilder 字符串连接;也可以使用 StringJoiner 进行分割符处理
        //创建对象
        String s1 = "XiaoHong";
        String s2 = "XiaoGang";
        String s3 = "XiaoMing";
        System.out.println(list);
        //将对象添加到组中
        list.add(s1);
        list.add(s2);
        list.add(s3);
        //打印ArrayList
        System.out.println(list);
        for(String name : list){  //使用 for each 方法遍历数组
            stringBuilder.append("hello ")
                         .append(name).append(",");
        }
        System.out.println(stringBuilder);
    }
}

输出:
在这里插入图片描述
2、常用方法和遍历
.add(String) 添加字符串;.get(index) 返回指定的元素;.size() 返回数组大小;.remove(index) 返回被删除的元素
注意:数组索引是从0开始的

public class DemoArraylist {
    public static void main(String[] args){
        //创建集合对象
        ArrayList<String> Group = new ArrayList<>();
        StringBuilder stringBuilder = new StringBuilder(); //创建StringBuild对象,实现字符串连接
        //相对象组中添加元素
        Group.add("Hello"); //.add 点击元素
        Group.add("world");
        Group.add("java");
        //数组.get(index) 返回指定位置的元素
        System.out.println(Group.get(0));   //hello
        //返回数组的个数,Group.size()
        System.out.println(Group.size());   //3
        //返回删除指定位置的元素 remove(index)
        System.out.println(Group.remove(1)); // world

        for(String list : Group){
            stringBuilder.append(list).append(",");
        }
        stringBuilder.delete(stringBuilder.length()-1,stringBuilder.length()); //删除多余的逗号
        System.out.print(stringBuilder); //Hello,java  (可以看出其中的 world 已经被删除)
    }
}

输出
在这里插入图片描述
基本数据类型包装类,jdk1.8的表示与其他最新版本表示方式不一样;下面其中的 Integer 与 Character 需要记一下,其他的都是首字母大写就是

基本类型基本类型包装类(jdk1.8)
byteByte (java.lang.Bety)
shortShort (java.lang.Shrot)
intInteger(java.lang.Integer)
longLong (java.lang.Long)
floatFloat (java.lang.Float)
doubleDouble (java.lang.Double)
charChar (java.lang.Character)
booleanBoolean (java.lang.Boolean)

如:

import java.util.ArrayList;
public class javaLangins {
    public static void main(String[] args){
        ArrayList<java.lang.Integer> list = new ArrayList<>(); //因为练习时使用的是 jdk1.8 版本,若不这样写就会报错(java.lang.Integer) 
        list.add(12);
        list.add(13);
        list.add(14);
        System.out.print(list);
    }
}

学生表例子:

package packagename;

import java.util.ArrayList;

public class Practiceone {
    public static void main(String[] args){
        //创建集合对象
        ArrayList<Students> list = new ArrayList<>();
        //创建学生对象
        Students s1 = new Students("小红",12);
        Students s2 = new Students("小新",15);
        Students s3 = new Students("小明",13);

        //添加元素
        list.add(s1);
        list.add(s2);
        list.add(s3);
		//遍历数组
        for(int i=0; i<list.size(); i++){
            Students s = list.get(i);
            System.out.println(s.getName() + " " + s.getAge());
        }
    }
}
//创建学生类
class Students{
    private String name;
    private int age;
    //构造方法
    public Students(String name, int age){
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return this.name;
    }
    public int getAge() {
        return this.age;
    }
}

输出:
在这里插入图片描述

三、Math类

1、基本运算
① 返回平均值:Math.abs(值)

...skip...
System.out.println(Math.abs(-3)); //3

② 返回大于参数的最小整数:Math.ceil(value)

	...skip...
	System.out.println(Math.ceil(3.2)); //4.0
	System.out.println(Math.ceil(-3.5)); //-3.0

③ 返回小于等于参数最大的整数: Math.floor(value)

...skip...
 	System.out.println(Math.floor(3.2)); //3.0
    System.out.println(Math.floor(-3.5)); //-4.0

④ 返回接近参数的值: Math.round(value)

		System.out.println(Math.round(3.2)); //3.0
        System.out.println(Math.round(3.8)); //4.0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值