Java程序分析题,选什么?,有人可以给我解释解释吗

img


Java程序分析题,对我来说难,搞不懂,有人可以给我解释解释一下吗

集合中三个元素,
Collections.sort(list); // 这个是 按照list里的元素的自己实现的比较规则来进行排序的,这里就是Student类,可以看到Student类实现了Comparable 接口,compareTo方法中,按照年龄进行比较, 最后实现效果是 按年龄 从小到大排序 Student数据。【34 < 50 < 65】

Collections.sort(list, new StudentCompator1()); // 这个是多传了一个比较器的实现类,里面是按照名称进行比较,实现的效果就是 按照名称 从小到大 排序 Student数据。【Jill < Peter < Sarah】

所以结果是 选 C

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/217393
  • 你也可以参考下这篇文章:【Java基础总结】舍友给我带饭,请我给他讲明白Java中的引用,对象,和空指针异常~听完直呼值了,问我下顿想吃啥~
  • 你还可以看下java参考手册中的 java-学习Java语言 - 描述Java编程语言的基本概念和特点的课程。-泛型是Java编程语言的一个强大功能。它们提高了代码的类型安全性,使更多的错误可以在编译时发现。-通用类型
  • 除此之外, 这篇博客: 超硬核的Java工程师分享,什么是Java?为什么我要做Java,我是如何学习Java的?中的 谈谈我的技术方向选择 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    我最早接触的语言应该是c,再后来又接触了前端、php、C#等语言,对这些语言的了解也仅限于懂得基本语法,写过一些小demo而已,那时候觉得掌握一门语言就是掌握它的语法就行了,于是会在简历上写,了解各种语言,现在想想实在是太可笑了。

    不过真的很多初学者都会这么认为,觉得自己不管选哪个方向都可以,这是因为他们不知道自己的技术方向到底是什么,因为他们不管哪个方向都不精。

    后来慢慢接触了Android开发,能自己写一些app,觉得这个方向还挺有趣的,于是想着以后干脆做这个吧。不过我那时候也明白自己离进大厂还有很远的距离,于是打算考研。巧的是,读研前的那个假期,去了一家公司实习,做的是Java Web,那时候才觉得Android比Java Web简单多了呀,完全不需要学那么多框架、技术啊,于是更坚定了做Android的决心,只不过那时候也同样发现了,Java web是更加热门的方向,岗位需求量也更大。

    读研的时候,一开始也是打算做Android方向的,买了各类Android书籍开始啃,那时候刚好遇到了个实践课程,让我们选方向,有Java、Android、C++等等。当时妹子做前端,为了带上妹子一起做项目,干脆就选了Java Web这个方向,想着应该不影响我做Android啊,于是接下来的时间里就开始学Java Web了。

    时间一长,发现这个方向也没有想象的那么难,相反还挺有意思的,毕竟能用到各种各样的框架,技术栈的内容也很丰富,看起来好像比Android的技术含量高很多,加上自己之前学过Java,也有Java Web的学习经历,简历上也能写的好看一点,于是一不做二不休,就开始做Java方向了。就这样,我找到了第一份Java实习,看了一遍Java后端书单,慢慢地在这条路上越走越远,后来我才发现,Java Web远没有想象中那么简单,Java后端技术栈也远不止Java Web这点内容,特别是对于大厂来说,要掌握的东西实在太多了,比如分布式、网络编程、中间件等等。

    所以,选择方向这件事,有时候就是看兴趣,看机遇,看你能坚持多久,如果你对一个方向感兴趣,并且愿意持续学习,不断深挖,这个方向可能就适合你,当你在这个方向投入了一定时间之后,有了一定积累和经验,就不太容易再改变方向了。

  • 您还可以看一下 孙探老师的Java进制转换和位运算专题课程中的 有符号数概述小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    这段Java程序的功能是打印一个矩形图案,并且图案的行数和列数由变量x和y决定。

    具体的解决方案如下:

    1. 首先,声明一个公共类Example,其中有一个公共静态方法main,这是Java程序的入口点。
    2. 在main方法中,声明两个整型变量x和y,并将它们分别初始化为5和3。
    3. 使用嵌套的for循环,外层循环控制行数,内层循环控制列数。
    4. 外层循环从0开始,终止条件是i小于x,每次循环结束后,i增加1。
    5. 内层循环从0开始,终止条件是j小于y,每次循环结束后,j增加1。
    6. 在内层循环中,使用System.out.print方法打印一个星号"*",表示矩形中的每个元素。
    7. 在内层循环结束后,使用System.out.println方法打印一个换行符,表示当前行的元素已经全部打印完成。
    8. 在外层循环结束后,整个矩形的图案就打印完成了。

    以下是完整的代码示例:

    public class Example {
        public static void main(String[] args) {
            int x = 5;
            int y = 3;
    
            for(int i=0; i<x; i++) {
                for(int j=0; j<y; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    

    运行该程序会输出如下结果:

    ***
    ***
    ***
    ***
    ***
    

    每行有3个星号,共打印了5行,形成一个5行3列的矩形图案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^