• JavaSE入门--初始Java



    前言:
    我从今天开始步入Java的学习,希望自己的博客可以带动小白学习,也能获得大佬的指点,日后能互相学习进步,都能如尝所愿进入自己想去的公司啦!

    Java语言概述

    1.1 Java是一种优秀的程序设计语言
    在学习编程的过程中 你会发现Java的语法是令人赏心悦目的 语义是通俗易懂的 非常适合每个人去学习

    1.2 Java语言的重要性
    这里就用八月份的TIOBE排名来展示一下(此处简单介绍一下TIOBE,TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等进行计算。)
    在这里插入图片描述
    此处可以看到Java在当中排名是第一的,有很大的影响力,此排名也不是说明编程语言的好与不好,只是各自作用的领域大小有所不同。Java的工作领域有企业级软件系统,web的开发领域,android手机操作系统 ,大数据平台的开发等等,在各个校招和社招岗位需求上也比较多,发展前景较为广阔。

    1.3 Java语言发展简史
    Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构,这个就是Java的前身,Oak。随着时代发展,Sun公司看中了它的发展前景,于是改造了它,以此有了以下的发展史。
    在这里插入图片描述
    1.4 Java的语言特性:

    1)简单性:Java相较于c++而言,更为简便易懂,没有c++的那种头文件,指针运算,语法等等,所以Java的开发环境比其他大多数的编程语言开发环境要好。

    2)面向对象:在Java里一切皆为对象,Java的面向对象特性与c++旗鼓相当。

    3)分布式也叫微服务:Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。

    4)健壮性:相较于c++,Java采用的指针模型可以消除重写内存和损坏数据的可能性,不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

    5)安全性:Java适用于网络/分布式环境,所以安全性上做出了很大的保障,例如:运行时堆栈溢出。蠕虫和病毒常用的攻击手段。破坏自己进程空间之外的内存。未经授权读写文件

    6)体系结构中立:编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。通常来讲就是Java编译器编译了一个程序,就会生成一个字节码文件,可在多种操作系统上运行。

    7)可移植性:在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。

    8)解释性:Java与平台无关,它有一套基于栈架构的指令集,字节码文件的指令就是要按照它的指令集来组织的。

    9)高性能:JVM的优化,例如JIT(即时编译器),热点代码探测,让Java程序的执行效率大幅提高

    10)多线程:它是第一个支持并发程序设计的主流语言,多线程可以带来更好的交互响应和实时行为。

    11)动态性:它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。

    结合以上特点,我们可以知道Java不仅仅是一门编程语言,也是由一些计算机软件和规范组成的技术体系。其中我们需要知道三个最核心的概念:JDK、JRE、JVM.
    JDK:JavaDevelopmentKit Java开发工具。JDK是提供给Java开发人员使用的,其中包含了 Java的开发工具和JRE,通俗的说就是开发用的
    JRE:Java Runtime Environment Java运行环境。JRE包括Java虚拟机 (JVM Java Virtual Machine)和Java程序所需的核心类库等,通俗的说就是运行用的
    JVM:Java Virtual Machine Java虚拟机。它只认识.class为后缀的文件,它能将class文件中的字节码指令进行识别并调用操作系统向上的API完成动作,通俗的说就是跨平台用的,就是把我们写的代码,转换成class文件用的。

    在这里插入图片描述

    1.5 Java开发环境安装
    先安装 JDk(推荐1.8类型的) 再 安装 IDEA

    认识Java的main函数

    main函数示例

    在这里插入图片描述
    在此处可以介绍一下各个部分的作用:

    public:访问修饰限定符(权限),在类和对象中会详细介绍,此处了解即可。

    class:定义类的关键字,也会在类和对象中详细介绍,此处了解即可

    Test:这是类名,是紧跟在class关键字后面的,它的命名形式是要驼峰的形式(最好是英文)

    第二行是main函数的固定写法,括号里的是数组

    String是代表字符串类型,String[] 这个数组里面存的都是字符串

    args可以在for循环中直接算出来数组长度,如:args.length的使用

    第三行就相当于c语言中的printf,在Java中有三种打印方式,如在下:

    在这里插入图片描述

    运行Java程序

    1)使用IDEA(集成开发环境)编写Java源程序

    2)使用javac.exe编译器编译Java源程序,生成xxx.class字节码文件 格式是javac xxx.java

    3)使用java运行xxx.class字节码文件 语法格式:java xxx.java

    通俗来讲,在自己电脑上编译了一份Java源程序,经过生成字节码文件,可以传输到别人的电脑上运行,前提是别人的电脑也安装有JDK。“一次编译,到处运行”。无关系统类型,如Windows,Linux等系统,都可以运行。

    这里提及一下几个重要的点

    JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。

    JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。

    JVM:Java虚拟机,运行Java代码

    他们三者的关系是:
    JDK = JRE + 开发工具集(比如:javac)
    JRE = JVM + JavaSE标准类库

    在编译一个Java程序中可能出现错误,我总结了以下几点方便每个人能找错误在哪:

    1) 源文件名后缀不是.java

    2)类名与文件名不一致

    3)main方法名字写错:mian

    4)类没有使用public修饰

    5)方法中语句没有以分号结尾

    6)中文格式的分号

    7)JDK环境没有配置好,操作系统不能识别javac或者java命令

    认识注释

    注释:注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要.

    注释可以提醒自己以前写的代码啥意思,一目了然,更为了给别人看的时候更好的理解和看得懂,代码能力强不是写的代码要让别人看不懂,而是别人能看得懂,这样你的代码能力才会提高,并且受到欢迎。

    单行注释:// 注释内容(用的最多)

    多行注释:/* 注释内容*/(不推荐)

    文档注释: /** 文档注释
    */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档

    注意:
    1) 多行注释不能嵌套使用
    2)不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。

    文档注释:
    在这里插入图片描述
    块儿注释:
    在这里插入图片描述
    行注释:
    在这里插入图片描述

    注释规范:

    内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.

    篇幅合理: 注释既不应该太精简, 也不应该长篇大论.

    使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.

    积极向上: 注释中不要包含负能量

    认识标识符

    标识符中可以包含:字母、数字以及 下划线和 $ 符号等等
    在这里插入图片描述
    上面展示了局部变量

    建议:
    变量的命名最好采用小驼峰的形式(简洁易懂才好,复杂的也可以,但是合法不合理)

    类名:每个单词的首字母大写(大驼峰)
    方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
    变量名:与方法名规则相同

    认识关键字

    关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字(和c语言相似)

    在这里插入图片描述
    那么JavaSE入门初识Java就到此为止了,还有任何建议或者问题的小伙伴可以评论区留言也可以私信问啦,再见~~

  • 相关阅读:
    打包和部署Java应用程序:Maven和Shell脚本的实用方法
    【成都信息工程大学】只考程序设计!成都信息工程大学计算机考研考情分析!
    C++类对象所占内存空间大小分析
    delete-by-query和复合查询
    07 ConfigMap/Secret:怎样配置、定制我的应用
    2015年亚太杯APMCM数学建模大赛A题海上丝绸之路发展战略的影响求解全过程文档及程序
    Redis高可用 哨兵 主从 集群
    受保护的PDF文档怎么编辑?
    部署支持使用Redis哨兵模式,支持纳管ClickHouse数据库,JumpServer堡垒机v2.28.0发布
    如何正确的中断线程?你的姿势是否正确
  • 原文地址:https://blog.csdn.net/weixin_62976968/article/details/133556227