当前位置: 首页 > news >正文

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&#xff…...

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获取字符串集合中每个字符并且组成一个新的集合实现

直接怼代码&#xff0c;刚好碰到了这种需求&#xff0c;也是想了可久&#xff0c;其实想想也还是挺简单的 public static void main(String[] args) { // 原始字符串集合 List<String> originalList new ArrayList<>(); originalList.add("Hello"); …...

结构型设计模式——外观模式

摘要 本文主要分析设计模式 - 结构型 - 外观(Facade)&#xff0c;它提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让子系统更容易使用。 一、外观模式的意图 提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让…...

【算法学习】-【双指针】-【快乐数】

LeetCode原题链接&#xff1a;202. 快乐数 下面是题目描述&#xff1a; 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果…...

【Java-LangChain:使用 ChatGPT API 搭建系统-6】处理输入-链式 Prompt Chaining Prompts

第六章&#xff0c;处理输入-链式 Prompt Chaining Prompts 在本章中&#xff0c;我们将学习如何通过将复杂任务拆分为一系列简单的子任务来链接多个 Prompt。 您可能会想&#xff0c;为什么要将任务拆分为多个 Prompt&#xff0c;而不是像我们在上一个视频中学习的那样&…...

从零手搓一个【消息队列】创建核心类, 数据库设计与实现

文章目录 一、创建核心类1, 交换机2, 交换机类型3, 队列4, 绑定5, 交换机转发 & 绑定规则6, 消息7, 消息属性 二、数据库设计1, 使用 SQLite2, 使用 MyBatis2.1, 创建 Interface2.2, 创建 xml 文件 三、硬盘管理 -- 数据库1, 创建 DataBaseManager 类2, init() 初始化数据库…...

14:00面试,14:06就出来了,这问的过于变态了。。。

前言 刚从小厂出来&#xff0c;没想到在另一家公司我又寄了。 在这家公司上班&#xff0c;每天都要加班&#xff0c;但看在钱给的比较多的份上&#xff0c;也就不太计较了。但万万没想到5月一纸通知&#xff0c;所有人不准加班了&#xff0c;不仅加班费没有了&#xff0c;薪资…...

url请求头信息

Accept Accept&#xff1a;请求报头域&#xff0c;用于指定客户端可接受哪些类型的信息。 Accept-Language Accept-Language&#xff1a;指定客户端可接受的语言类型。 Accept-Encoding Accept-Encoding&#xff1a;指定客户端可接受的内容编码。 Host Host&#xff1a;…...

【Oracle】Oracle系列之十六--数据库备份

文章目录 往期回顾1. 数据库备份的分类1.1 逻辑备份与物理备份&#xff08;1&#xff09;逻辑备份&#xff08;2&#xff09;物理备份&#xff08;3&#xff09;归档模式与非归档模式 1.2 完全备份/差异备份/增量备份 2. Oracle 逻辑备份2.1 EXP/IMP&#xff08;1&#xff09;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协议及数据传输

通信&#xff0c;在古代是通过书信与他人互通信息的意思。 今天&#xff0c;“通信”这个词的外沿已经得到了极大扩展&#xff0c;它目前的大意是指双方或多方借助某种媒介实现信息互通的行为。 如果按照当代汉语的方式理解“通信”&#xff0c;那么古代的互遣使节、飞鸽传书…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...