Java入门篇,小白有任何不懂的,收藏这篇就够了

参考资料:https://www.imooc.com/code/1598

一,Java中的关键字

 Java 语言中有一些具有特殊用途的词被称为关键字。

 例:abstract ; boolen ; break ; byte ; care ; char ; class ; continue ; default ; do ; else....

 (ps:java同c++ 一样,是区分大小写的语言。)

二,Java中的标识符

 标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

 (即c++ 中 的变量名。)

 命名规则:

 1.  标识符**可以**由**字母、数字、下划线(\_)、美元符($)**组成,但不能包含 @、%、空格等其它特殊字符**,不能以数字开头**。譬如:123name 就是不合法滴

 2.  标识符**不能是 Java 关键字和保留字**( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

  3.  标识符是**严格区分大小写**的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

  4.  标识符的命名最好能反映出其作用,做到**见名知意**。

三,Java中的数据类型

 int , double , float  , boolean 都与c++中用法无异。

 char :包括两个字节,可以存放一个汉字。

 **String:** 是一种常见的**引用数据类型**,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。

四,Java中的自动类型装换和强制类型转换

 自动类型转换是需要**满足特定的条件**的:

 1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型;

 2.  目标类型**大于**源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了。

 强制类型装换基本同c++ 中强制类型转换用法。

五,Java中的运算符

  包括:算术运算符,赋值运算符,比较运算符,逻辑运算符,条件运算符,运算符的优先级。

  基本同c++中用法。

六,流程控制语句

   包括:if,if...else,switch,等条件语句;

               while,do...while,for,等循环语句;

               break,continue,等循环跳转语句。

   用法基本同c++ 。

六,如何使用数组

  数组中的元素都可以通过下标来访问,下标从 0 开始。

  1,声明一个数组            

        语法:  **数据类型\[ \] 数组名;**

                      或者   **数据类型 数组名\[ \];**

  2, **分配空间**

        简单地说,就是指定数组中最多可存储多少个元素

        语法:  **数组名 = new  数据类型 \[ 数组长度 \];**

  3,也可以将两步合并在一起进行。

七,应用数组

 1, **数组名.length**  用于获取数组的长度;

 2, **数组下标从 0 开始**。因此 scores\[3\] ,表示数组中的第 4 个元素,而并非第 3 个元素

 3, 数组**下标的范围是 0 至 数组长度-1** ,如果越界访问,就会报错。

八,使用Arrays操作Java中的数组

 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等。

 **1、 排序**

        语法:  **Arrays.sort(数组名);**

        可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)。

  **2、 将数组转换为字符串**

         语法:  **Arrays.toString(数组名);**

         可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开。

九,使用foreach操作数组

  foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。

  语法:for(元素类型 元素变量:遍历对象){

              执行的代码;

              }

十,二维数组

  **1、 声明数组并分配空间**

        **数据类型\[ \] \[ \]  数组名 = new 数据类型 \[行的个数 \] \[ 列的个数 \];**

        **或者:**

              **数据类型 \[ \] \[ \] 数组名;**

              **数组名 = new 数据类型 \[行的个数 \] \[ 列的个数 \];**

   **2、 赋值**

         二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始。

   **3、 处理数组**

         二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。

十一,定义Java中的方法

    (小声bb:类似于c++中的类体中的功能函数。)

       所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

       语法:访问修饰符 返回值类型 方法名(参数列表){

                     方法体;

                    }

       其中:

      1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

       2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

       3、 方法名:定义的方法的名字,必须使用合法的标识符

       4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 

根据方法是否带参、是否带返回值,可将方法分为四类:

         无参无返回值方法;无参带返回值方法; 带参无返回值方法; 带参带返回值方法。

十二,方法的重载

     (再次小声bb:就是函数重载。)

       如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。

       **判断方法重载的依据:**

       1、 必须是在同一个类中

       2、 方法名相同

       3、 方法参数的个数、顺序或类型不同

       4、 与方法的修饰符或返回值没有关系

十三,编程总结

        **要求:**

        1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73

        2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入

         3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩

        **运行效果:**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

        任务:

        一》 定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名

              提示:  
         1、 在方法中使用 Arrays 类的 sort( ) 方法对数组进行排序,默认按升序排列,注意 Arrays 类的使用需要导入 java.util.Arrays  
              2、 由于只需要输出考试成绩的前三名,所以定义一个变量,统计有效成绩的前三名的数量  
           3、 使用 for 循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历 如 for ( int i = scores.length - 1; i >= 0; i-- ) { }  
              4、 判断成绩的有效性,如果成绩小于 0 或大于 100 ,则使用 continue 忽略此成绩  
              5、 如果成绩有效,则有效成绩数加 1 。判断有效成绩的个数,如果有效成绩数大于 3 ,则结束循环,只输出成绩的前三名

         二》 完成 main 方法

               提示:  
               1、 定义一个成绩数组 scores ,保存预定的考试成绩 89 , -23 , 64 , 91 , 119 , 52 , 73  
               2、 调用自定义方法,传入成绩数组,完成功能

    代码:
import java.util.Arrays;

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        HelloWorld hello=new HelloWorld();
        int []scores=new int []{89,-2,3,64,91,119,52,73};
        hello.getTopThree(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void getTopThree(int scores[]){
        Arrays.sort(scores);
        int count=0;
        for(int i=scores.length-1;i>=0;i--){
            if(scores[i]<0||scores[i]>100){
                continue;
            }
            else{
                if(count<3){
                    System.out.println(scores[i]);
                }
                count++;
            }
        }
        
    }
}

说真的,这两年看着身边一个个搞Java、C++、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis,稳稳当当过日子。

结果GPT、DeepSeek火了之后,整条线上的人都开始有点慌了,大家都在想:“我是不是要学大模型,不然这饭碗还能保多久?”

先给出最直接的答案:一定要把现有的技术和大模型结合起来,而不是抛弃你们现有技术!掌握AI能力的Java工程师比纯Java岗要吃香的多。

即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地!大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇!

如何学习AGI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享**

一、2025最新大模型学习路线

一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1级别:AI大模型时代的华丽登场

L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。

L2级别:AI大模型RAG应用开发工程

L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3级别:大模型Agent应用架构进阶实践

L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。

L4级别:大模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

二、大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

三、大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

四、大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

五、大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版优快云大礼包:《AGI大模型学习资源包》免费分享

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值