JavaSE入门--初始Java

文章目录

  • Java语言概述
  • 认识Java的main函数
    • main函数示例
    • 运行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)动态性:它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。

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就到此为止了,还有任何建议或者问题的小伙伴可以评论区留言也可以私信问啦,再见~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/148097.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gif怎么转换成视频MP4?

gif怎么转换成视频MP4?GIF动图已成为一种风靡网络的流行的特殊图片文件,其循环播放和逐帧呈现的特点使其在社交媒体、聊天应用等场合广泛应用,平时我们进行群聊是,大家总会一些gif动态表情的出现而感觉非常的开行,gif动…

【做题笔记】多项式/FFT/NTT

HDU1402 - A * B Problem Plus 题目链接 大数乘法是多项式的基础应用,其原理是将多项式 f ( x ) a 0 a 1 x a 2 x 2 a 3 x 3 ⋯ a n x n f(x)a_0a_1xa_2x^2a_3x^3\cdotsa_nx^n f(x)a0​a1​xa2​x2a3​x3⋯an​xn中的 x 10 x10 x10,然后让大数的…

Docker-mysql,redis安装

安装MySQL 下载MySQL镜像 终端运行命令 docker pull mysql:8.0.29镜像下载完成后,需要配置持久化数据到本地 这是mysql的配置文件和存储数据用的目录 切换到终端,输入命令,第一次启动MySQL容器 docker run --restartalways --name mysq…

JWFD开源工作流大模型设计器

JWFD开源工作流大模型设计器,把流程图的拓扑结构从几十个节点扩展到数千个节点,就不是使用绘图器的模式了,需要开发一个模型生成器了,尝试做一下大模型,赶赶时髦啊

【算法导论】线性时间排序(计数排序、基数排序、桶排序)

引言:   在排序的最终结果中,各元素的次序依赖于它们之间的比较,我们把这类排序算法称为比较排序,对于包含n个元素的输入序列来说,任何比较排序在最坏情况下都要经过 Ω ( n l g n ) \Omega(nlgn) Ω(nlgn)次比较&a…

希尔排序(C++实现)

文章目录 前言1. 基础概念2. 动图演示3. 代码实现4. 排序过程5. 效率分析6. 总结 前言 上篇文章讲了直接插入排序算法。 首先,在待排序的数组中,元素本身就是有序的情况下,就不需要移动任何元素,所以直接插入排序最好情况时间复…

使用win_b64做CATIA的开发测试

文章目录 一、把win_b64文件夹放在无中文的路径下二、启动环境文件编辑器三、新建环境文件四、集成CAA代码五、去用户环境目录查看环境文件是否生成六、关闭环境文件编辑器七、去桌面双击新建的快捷方式即可启动CATIA,进行测试八、进入对应的开发模块,查…

第十二届2023软件杯国家二等奖赛后感想总结

一,相关链接 软件杯官网:软件杯大赛官网 (cnsoftbei.com) 金蝶赛道:金蝶云苍穹开发者门户 (kingdee.com) 二,个人介绍 首先我是个双非院校的学生,专业为计算机科学与技术,打这个比赛是在大二下的暑假开始的…

想要精通算法和SQL的成长之路 - 二叉树的序列化和反序列化问题

想要精通算法和SQL的成长之路 - 二叉树的序列化和反序列化问题 前言一. 二叉树的层序遍历(BFS)二. 二叉树的序列化与反序列化2.1 序列化操作2.2 反序列化操作 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 二叉树的层序遍历(BFS&#xf…

RabbitMQ-主题模式

接上文 RabbitMQ-发布订阅模式和路由模式 1 主题模式 #通配符 代表0个或多个。*通配符 代表 1个或多个 进行测试,修改配置文件 Configuration public class RabbitConfiguration {Bean("topicExchange") //这里使用预置的Topic类型交换机public Exchan…

JMETER自适应高分辨率的显示器

系列文章目录 历史文章 每天15分钟JMeter入门篇(一):Hello JMeter 每天15分钟JMeter入门篇(二):使用JMeter实现并发测试 每天15分钟JMeter入门篇(三):认识JMeter的逻辑控…

nginx下载与安装教程

文章目录 nginx简介nginx的主要应用场景nginx开源项目的源码结构 使用centos7安装nginx检查centos版本号和linux内核版本检查是否安装gcc、pcre、zlib、openssl等依赖 安装nginx启动nginx停止nginx重启nginx nginx简介 nginx是一款业内流行、功能强大的web服务器。 高性能&…

FFmpeg 命令:从入门到精通 | ffplay 播放控制选项

FFmpeg 命令:从入门到精通 | ffplay 播放控制选项 FFmpeg 命令:从入门到精通 | ffplay 播放控制选项选项表格图片 FFmpeg 命令:从入门到精通 | ffplay 播放控制选项 选项表格 项目说明Q,Esc退出播放F,鼠标左键双击全…

[React] React高阶组件(HOC)

文章目录 1.Hoc介绍2.几种包装强化组件的方式2.1 mixin模式2.2 extends继承模式2.3 HOC模式2.4 自定义hooks模式 3.高阶组件产生初衷4.高阶组件使用和编写结构4.1 装饰器模式和函数包裹模式4.2 嵌套HOC 5.两种不同的高阶组件5.1 正向的属性代理5.2 反向的继承 6.如何编写高阶组…

【C语言】函数的定义、传参与调用(二)

💗个人主页💗 ⭐个人专栏——C语言初步学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读: 1. 函数的嵌套调用 1.1 什么是嵌套调用 1.2 基础实现 1.3 调用流程解析 2. 函数的链式访问 2.1 …

CCF CSP认证 历年题目自练Day21

题目一 试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 题目分析(个人理解) 先看输入,第一行输入苹果的棵树n和每一次掉的苹果数m还是先如何存的问题&#xf…

小谈设计模式(16)—抽象工厂模式

小谈设计模式(16)—抽象工厂模式 专栏介绍专栏地址专栏介绍 抽象工厂模式结构抽象工厂(AbstractFactory)具体工厂(ConcreteFactory)抽象产品(AbstractProduct)具体产品(C…

2023年10月4日

服务器 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);//此时,服务器已经成功进入监听状态&…

ubuntu22.04 x11窗口环境手势控制

ubuntu22.04 x11窗口环境手势控制 ubuntu x11窗口环境的手势控制并不优秀,我们可以使用touchegg去代替 这个配置过程非常简单,并且可以很容易在一定范围内达到你想到的效果,类比mac的手势控制 关于安装 首先添加源,并安装 sud…

进程调度的时机,切换与过程以及方式

1.进程调度的时机 进程调度(低级调度〉,就是按照某种算法从就绪队列中选择一个进程为其分配处理机。 1.需要进行进程调度与切换的情况 1.当前运行的进程主动放弃处理机 进程正常终止运行过程中发生异常而终止进程主动请求阻塞(如等待l/O)…