Java学习笔记(一)

    科技2025-10-14  4

    Java学习笔记(一)

    文章目录

    Java学习笔记(一)一、创建对象和实例化对象1.1创建对象1.2实例化对象 二、求数中的最大值和最小值2.1 多数之间求最大值最小值2.2 Collections的用法(一)返回最大值(见上面的例子)max(二)返回最小值(见上面的例子)min(三)排序(升序)sort(四)反转(降序)reverse(五)混排 shuffle(六)替换所有的元素 fill(七)拷贝 copy 三、小数的小数点后保留指定的位数四、输入流的用法五、其他知识点

    一、创建对象和实例化对象

    1.1创建对象

    以创建了一个学生类为例

    Student s=new Student(); Student s=new Student("Little","123");

    1.2实例化对象

    s.name="Little"; s.number="123";

    注意事项:

    1.在实例化对象时可能会报如下错误:

    此时就是没有Student的构造函数,根据eclipse的提示方法,在Student类里添加了如下的函数问题就解决了。如果主函数里实例化对象时new后的函数带参数,那构造函数也要带相同类型的形参。如下图

    二、求数中的最大值和最小值

    2.1 多数之间求最大值最小值

    ​ 一开始我想的是用数学函数Math.max()和Math.min(),但后来才发现Math.max()和Math.min()只能用作两个数之间的比较大小,然后我想到了用数组的方法,将所有数放在数组中间,把数添加进数组的方法用:数组名.add(数),然后用Collections.max()/Collections.min() 来求最大值最小值

    需要引入:

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

    创建nums数组:

    List nums = new ArrayList();

    将要比较的数添加进数组(这里是学生的成绩):

    nums.add(s1.sJava); nums.add(s2.sJava); nums.add(s3.sJava); nums.add(s4.sJava); nums.add(s5.sJava);

    用Collections.max()/Collections.min()来求最大值和最小值:

    Max=Collections.max(nums); Min=Collections.min(nums);

    2.2 Collections的用法

    Collections用于操作集合,如List和Set

    具体的用法如下:

    (一)返回最大值(见上面的例子)max
    Collections.max(list);
    (二)返回最小值(见上面的例子)min
    Collections.min(list);
    (三)排序(升序)sort
    Collections.sort(list);
    (四)反转(降序)reverse
    Collections.reverse(list);
    (五)混排 shuffle

    ​ 混排是打乱在一个 List 中可能有的任何排列的踪迹,基于随机源的输入重排该 List,这样的排列具有相同的可能性,任何排列情况都可能出现,在发牌等案例中混排就很重要

    Collections.shuffle(list);
    (六)替换所有的元素 fill

    ​ 即使用指定元素替换指定列表中的所有元素

    Collections.fill(list,指定要去替换的元素); String str[] = {"aa","bb","cc","ee"}; for(int j=0; j<str.length; j++){ li.add(new String(str[j])); } Collections.fill(li,"aaa"); for (int i = 0; i < li.size(); i++) { System.out.println(li.get(i)); } //结果:aaa,aaa,aaa,aaa
    (七)拷贝 copy
    Collections.copy(list,li); //list为源列表,被复制的对象 //li是目标列表 //注意:目标列表的长度应>=源列表的长度 如果目标列表的长度>源列表,则目标列表中剩余长度的元素不受影响 double array[] = {112, 111, 1128, 512, 231 }; List list = new ArrayList();//目标列表 List li = new ArrayList();//源列表 for (int i = 0; i < array.length; i++) { list.add(new Double(array[i])); } double arr[] = {429,710}; for(int j=0; j<arr.length; j++){ li.add(new Double(arr[j])); } Collections.copy(list,li); for (int i = 0; i <list.size(); i++){ System.out.println(list.get(i)); } //结果:429,710,1128,512,231

    三、小数的小数点后保留指定的位数

    方法如下面的代码:

    //此时是保留两位小数,"."后有几个零就保留几位 //#.00 保留两位 #.000保留三位 以此类推..... java.text.DecimalFormat df=new java.text.DecimalFormat("#.00"); String st=df.format(s); //注意一定要有接收的对象,且接收的对象是String

    四、输入流的用法

    需要引入:

    import java.util.Scanner; Scanner sc=new Scanner(System.in); //类似于类中的创建对象 double r=sc.nextDouble(); //类似于类中的实例化对象 /*如果输入的对象是int 就用sc.nextInt() 如果输入的对象是float 就用sc.nextFloat()*/

    五、其他知识点

    1.*import引入的类一定要放在最前面,不然会报错*

    2. System String 前的S都是大写

    Processed: 0.010, SQL: 8