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就到此为止了,还有任何建议或者问题的小伙伴可以评论区留言也可以私信问啦,再见~~
相关文章:
JavaSE入门--初始Java
文章目录 Java语言概述认识Java的main函数main函数示例运行Java程序认识注释认识标识符认识关键字 前言: 我从今天开始步入Java的学习,希望自己的博客可以带动小白学习,也能获得大佬的指点,日后能互相学习进步,都能如尝…...
leetcode做题笔记160. 相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&…...
数学建模Matlab之检验与相关性分析
只要做C题基本上都会用到相关性分析、一般性检验等! 回归模型性能检验 下面讲一下回归模型的性能评估指标,用来衡量模型预测的准确性。下面是每个指标的简单解释以及它们的应用情境: 1. MAPE (平均绝对百分比误差) 描述: 衡量模型预测的相对…...
微服务网关:Spring Cloud Zuul 升级 Spring Cloud Gateway 的核心要点
1. 服务路由 1.1. Zuul 接收请求: 在routes路由规则中,根据path去匹配,如果匹配中,就使用对应的路由规则进行请求转发如果无法从routes中匹配,则根据path用“/”去截取第一段作为服务名进行请求转发,转发…...
视频讲解|含可再生能源的热电联供型微网经济运行优化(含确定性和源荷随机两部分代码)
1 主要内容 该视频为《含可再生能源的热电联供型微网经济运行优化》代码讲解内容,对应的资源下载链接为考虑源荷不确定性的热电联供微网优化-王锐matlab(含视频讲解),对该程序进行了详尽的讲解,基本做到句句分析和讲解…...
3种等待方式,让你学会Selenium设置自动化等待测试脚本!
一、Selenium脚本为什么要设置等待方式?——即他的应用背景到底是什么 应用Selenium时,浏览器加载过程中无法立即显示对应的页面元素从而无法进行元素操作,需设置一定的等待时间去等待元素的出现。(简单来说,就是设置…...
[Spring] Spring5——AOP 简介
目录 一、AOP 简介 1、什么是 AOP 二、AOP 底层原理 1、动态代理原理 2、基于接口的 JDK 动态代理 3、基于继承的 CGLib 动态代理 三、底层原理实现—— JDK 动态代理 1、使用 Proxy 类的方法创建代理对象 2、JDK 动态代理示例 四、AOP 操作术语 1、连接点 2、切入…...
C/C++ 动态规划面试算法题
1.买卖股票的最佳时机 https://blog.csdn.net/qq_41277628/article/details/113322136 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 1)的时候买入,在第 5 天(股票价格 6ÿ…...
kafka伪集群部署,使用zookeeper模式
1:拉去管理kafka界面UI镜像 docker pull provectuslabs/kafka-ui2:拉去管理kafka镜像 docker pull bitnami/kafka3:docker-compose.yml version: 3.8 services:zookeeper-1:container_name: zookeeper1image: bitnami/zookeeperports:- "2181:2181"environment:- …...
Postgresql 主从复制+主从切换(流复制)
pgsql有多种主从复制方式,推荐的是流复制 一、前置条件 1.至少两个pgsql数据库(可以是一台设备上的两个) 可以参考下面的教程 pgsql编译安装:pgsql 编译安装(linux) pgsql单机多开:pgsql 单机…...
java获取字符串集合中每个字符并且组成一个新的集合实现
直接怼代码,刚好碰到了这种需求,也是想了可久,其实想想也还是挺简单的 public static void main(String[] args) { // 原始字符串集合 List<String> originalList new ArrayList<>(); originalList.add("Hello"); …...
结构型设计模式——外观模式
摘要 本文主要分析设计模式 - 结构型 - 外观(Facade),它提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。 一、外观模式的意图 提供了一个统一的接口,用来访问子系统中的一群接口,从而让…...
【算法学习】-【双指针】-【快乐数】
LeetCode原题链接:202. 快乐数 下面是题目描述: 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果…...
【Java-LangChain:使用 ChatGPT API 搭建系统-6】处理输入-链式 Prompt Chaining Prompts
第六章,处理输入-链式 Prompt Chaining Prompts 在本章中,我们将学习如何通过将复杂任务拆分为一系列简单的子任务来链接多个 Prompt。 您可能会想,为什么要将任务拆分为多个 Prompt,而不是像我们在上一个视频中学习的那样&…...
从零手搓一个【消息队列】创建核心类, 数据库设计与实现
文章目录 一、创建核心类1, 交换机2, 交换机类型3, 队列4, 绑定5, 交换机转发 & 绑定规则6, 消息7, 消息属性 二、数据库设计1, 使用 SQLite2, 使用 MyBatis2.1, 创建 Interface2.2, 创建 xml 文件 三、硬盘管理 -- 数据库1, 创建 DataBaseManager 类2, init() 初始化数据库…...
14:00面试,14:06就出来了,这问的过于变态了。。。
前言 刚从小厂出来,没想到在另一家公司我又寄了。 在这家公司上班,每天都要加班,但看在钱给的比较多的份上,也就不太计较了。但万万没想到5月一纸通知,所有人不准加班了,不仅加班费没有了,薪资…...
url请求头信息
Accept Accept:请求报头域,用于指定客户端可接受哪些类型的信息。 Accept-Language Accept-Language:指定客户端可接受的语言类型。 Accept-Encoding Accept-Encoding:指定客户端可接受的内容编码。 Host Host:…...
【Oracle】Oracle系列之十六--数据库备份
文章目录 往期回顾1. 数据库备份的分类1.1 逻辑备份与物理备份(1)逻辑备份(2)物理备份(3)归档模式与非归档模式 1.2 完全备份/差异备份/增量备份 2. Oracle 逻辑备份2.1 EXP/IMP(1)E…...
uni-app:实现页面效果3
效果 代码 <template><view><!-- 风速风向检测器--><view class"content_position"><view class"content"><view class"SN"><view class"SN_title">设备1</view><view class&quo…...
计算机网络基础(一):网络系统概述、OSI七层模型、TCP/IP协议及数据传输
通信,在古代是通过书信与他人互通信息的意思。 今天,“通信”这个词的外沿已经得到了极大扩展,它目前的大意是指双方或多方借助某种媒介实现信息互通的行为。 如果按照当代汉语的方式理解“通信”,那么古代的互遣使节、飞鸽传书…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
