首页 > 编程语言 >学习疯狂JAVA讲义1.16

学习疯狂JAVA讲义1.16

时间:2025-01-16 23:29:01浏览次数:3  
标签:1.16 JAVA Arrays 元素 System int 数组 new 讲义

练习结果:(如有更好方法,敬请指点)

这两天沉迷刘晓庆自传—《人生不怕从头再来》,光看前言就入坑了,这女人身上的魅力是无与伦比的,她的经历是文坛作家们绞尽脑汁,想到死,想到吐血都编撰不出来的,既刺激又真实,让人不舍得睡醒再读,吸引着我必须当天读完!                金句摘抄如下

不叫痛,并不等于不痛。或许是痛到极致,反而不觉得痛了。
伟大的女人,是水一样的女人。
你在高处,我便退去,让你独自闪耀光芒;但如果你在低谷,我便涌来,温柔地围绕你,拥抱你,给你温暖。
但我没有趴下,从亿万富姐儿到千万“负婆”,连从零开始的资格都没有,可活着的每一天都是赚来的。

在英国萨伦港的国家船舶博物馆里,陈列着这样一艘船:它下水以来,遭遇了138次冰山,116次触礁,27次被风暴扭断桅杆,13次起火,但是,它一直没有沉没……
在人生的大海中航行,哪有不受伤的船?
没有靠山,自己成为山。失去了天下,再打天下。

人生只有三件事属于自己

知识

健康

亲情

4.6.4   二维数组测试TwoDimensionTest

public class TwoDimensionTest
{
    public static void main(String[] args)
    {
        // 定义一个二维数组
        int[] [] a;
        // 把a当成一维数组进行初始化,初始化a是一个长度为4的数组
        // a 数组的数组元素又是引用类型
        a = new int[4] [];
        // 把a数组当成一维数组,遍历a数组的每个数组元素
        for (int i = 0, len = a.length; i < len; i++)
        {
            System.out.println(a[i]);
        }
        // 初始化a数组的第一个元素
        a[0] = new int[2];
        // 访问a数组的第一个元素所指数组的第二个元素
        a[0] [1] = 6;
        // a数组的第一个元素是一维数组,遍历这个一维数组
        for (int i = 0, len = a[0] . length; i < len; i++)
        {
            System.out.println(a[0]  [i]);
        }
        // 同时初始化二维数组的两个维数
        int[] [] b = new int[3] [4];
        // 使用静态初始化语法来初始化一个二维数组
        String[] [] str1 = new String[] [] {new String[3],
                new String[] {"hello"}};
        // 使用简化的静态初始化语法来初始化二维数组
        String[] [] str2 = {new String[3],
                new String[] {"hello"}};
        System.out.println(str1[1][0]);
        System.out.println(str2[1][0]);
    }
}

↓该代码主要练习的Arrays类中的String toString(type[] a) 方法

该方法将一个数组转换成一个字符串。该方法按顺序把多个数组元素连缀在一起,多个数组元素使用英文逗号和空格隔开  如下:ArraysTest

import java.util.Arrays;
public class ArraysTest
{
    public static void main(String[] args)
    {
        // 定义一个a数组
        var a = new int[] {3,4,5,6};
        // 定义一个a2数组
        var a2= new int[] {3,4,5,6};
        // a数组和a2数组的长度相等,每个元素依次相等,将输出true
        System.out.println("a数组和a2数组是否相等: " 
            + Arrays.equals(a,a2));
        // 通过复制a数组,生成一个新的b数组
        var b = Arrays.copyOf(a,6);
        System.out.println("a数组和b数组是否相等: " 
            + Arrays.equals(a,b));
        // 输出b数组的元素,将输出{3,4,5,6,0,0}
        System.out.println("b数组的元素为: "
            + Arrays.toString(b));
        // 将b数组的第三个元素(包括)到第五个元素(不包括)赋值为1
        Arrays.fill(b,2,4,1);
        // 输出b数组的元素,将输出{3,4,1,1,0,0}
        System.out.println("b数组的元素为: "
            + Arrays.toString(b));
        // 对b数组进行排序
        Arrays.sort(b);
        // 输出b数组的元素,将输出{0,0,1,1,3,4}
        System.out.println("b数组的元素为: "
            + Arrays.toString(b));
    }
}

注意要在程序中导入java.util.Arrays类——import java.util.Arrays;

否则所有的Arrays都将报错

ArraysTest2 ——

第二段left*right其中left代表新数组中前一个索引处的元素,right代表原数组中当前索引处的元素

{3,-4,25,16,30,18}         计算新数组元素的方式为↓

{1*3=3,3*-4=-12,-12*25=-300,-300*16=-48000,-48000*30=-144000-144000*18=-2492000}

第三段operand正在计算的数组元素的索引得到{0,5,10,15,20}

import java.util.Arrays;
import java.util.function.*;
public class ArraysTest2
{
    public static void main(String[] args)
    {
        var arr1 = new int[] {3,-4,25,16,30,18};
        // 对数组arr1进行并发排序
        Arrays.parallelSort(arr1);
        System.out.println(Arrays.toString(arr1));
        var arr2 = new int[] {3,-4,25,16,30,18};
        Arrays.parallelPrefix(arr2, new IntBinaryOperator()
        {
            // left代表新数组中前一个索引出的元素,right代表原数组中当前所引出的元素
            // 新数组中的第一个元素总等于元数组的第一个元素
            public int applyAsInt(int left, int right)
            {
                return left * right;
            }
        }); 
        System.out.println(Arrays.toString(arr2));
        var arr3 = new int[5];
        Arrays.parallelSetAll(arr3, new IntUnaryOperator()
        {
            // operand代表正在计算的元素索引
            public int applyAsInt(int operand)
            {
                return operand * 5;
            }
        });
        System.out.println(Arrays.toString(arr3));
    }
}

标签:1.16,JAVA,Arrays,元素,System,int,数组,new,讲义
From: https://blog.csdn.net/hashiqi0422/article/details/145191205

相关文章

  • 2025.1.16 html
    写一个静态网页代码,分为三个区域,top区域有Login和Register;menu区域有treemenu;还有一个main区域。点击Login,Registe或treemenu会在main区域里显示相应的内容。''top.html页面代码'top.htmlLoginRegister'Login.html页面代码'PleaseLogInLogin:......
  • [2025.1.16 JavaSE学习]线程常用方法
    线程常用方法setName:设置线程名称getName:返回线程名称start:使线程开始执行,JVM底层调用该线程的start0()方法run:调用线程对象run方法setPriority:更改线程优先级,三个级别:getPriority:获取线程优先级sleep:线程休眠interrupt:中断线程,但并没有真正地结束线程(不是终止,是中断),......
  • Java中的依赖注入是什么?它如何工作?
    目录什么是依赖注入依赖注入的工作原理使用场景总结在Java开发中,依赖注入(DependencyInjection,DI)是一种重要的设计模式,它能够有效地减少代码之间的耦合度,提高代码的可测试性、可维护性和扩展性。以下是对Java中的依赖注入及其工作原理和使用场景的详细解释,并结合具......
  • 十分钟写作Day4 1.16
    前言本来昨天和赵北,南皓文和樊绍峰一起去看北京男篮德比,但又因昨天是命题作文,没有记录下我当时的感慨,便在今天的随笔里说说我的看法。正文与其说是感慨,不如说这是从不同角度观察这场比赛。由于赵北已经在他的随笔里介绍了比赛的全过程,因此我在这里也不过多的赘述比赛本身。而......
  • Java集合常见面试题大全
    目录一、集合概述1.1 Java集合概览1.2 说说List,Set,Queue,Map四者的区别?1.3  集合框架底层数据结构总结1.4 如何选用集合?1.5 为什么要使用集合?二、Collection子接口之List2.1 Arraylist和Vector的区别?2.2 Arraylist与LinkedList区别?......
  • JavaDay6
    JavaDay6多线程单线程:一个程序能够使用一条执行路径,从开始到结束。而多线程则为——一个进程有多条执行路径多线程的创建1、自己造一个类,继承Thread类,重写run()方法,创建该线程类的对象【线程对象】,启动start()/*1、自己造一个类,继承Thread类,重写run方法,创建该线程类......
  • Java选择结构(switch)
    switch多选择结构>多选择结构还有一个实现方法就是switchcase语句>switchcase语句判断一个变量与一系列值中某个值是否相等每个值称为一个分支>switch语句中的变量类型可以是:byte,short,int,char从JavaSE7开始switch支持字符串String类型了同时case标签必须为字符......
  • Vue 开发者必备的 JavaScript 基础知识
    变量与数据类型为什么重要:Vue3的响应式系统严重依赖于正确的变量声明。组合式API要求理解 const 用于ref和reactive对象。类型意识有助于Vue3的模板渲染和prop验证。const count= ref(0)const user= reactive({  name: 'John',  age: 30......
  • 【附源码】JAVA进销存系统源码+SpringBoot+VUE+前后端分离
    学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:进销存系统 。本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员!一.系统演示系统测试截图    系统视频演示 https://githubs.xyz/show/344.mp4 二.系统概述 【......
  • 毕设学习第四天之Java的注解和反射
    注解(Annotation)Java注解(Annotation)是一种特殊的语言构造,用于为代码元素(如类、方法、字段等)提供元数据,通常不直接影响程序的逻辑执行。它们可以被编译器、框架或工具解析,用于执行特定操作,如自动化配置、代码生成、验证等。Java提供了内置的注解(如@Override、@Deprecated)和允......