当前位置: 首页 > 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;那么古代的互遣使节、飞鸽传书…...

互联网金融理财知识点简单总结

互联网金融理财知识点总结 互联网金融理财是指通过互联网平台进行资产管理和投资的一种金融方式。它结合了金融、科技和互联网&#xff0c;为投资者提供了更多选择和便捷性。本文将介绍互联网金融理财的关键知识点&#xff0c;包括理财基础、投资产品、风险管理和未来趋势等方…...

微信小程序template界面模板导入

我们有些时候 会有一些比较大但并不复杂的界面结构 这个时候 你可以试试这种导入模板的形式 我们在根目录创建一个 template 目录 然后下面创建一个 text文件夹下面创建一个 test.wxml 参考代码如下 <template name"textIndex"><text class "testw&…...

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…...

【MVP争夺战】python实现-附ChatGPT解析

1.题目 MVP争夺战 知识点 :DFS搜索 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在星球争霸篮球赛对抗赛中,强大的宇宙战队,希望每个人都能拿到MVP。 MVP的条件是,单场最高分得分获得者,可以并列,所以宇宙战队决定在比赛中尽可能让更多的队员上场,且让所有有得…...

6 个最佳免费 Android 数据恢复软件

如果您是 Android 用户&#xff0c;您可能会发现没有回收站。然而&#xff0c;聪明的开发人员已经创建了各种 Android 数据恢复软件程序&#xff0c;可以解决各种与数据丢失相关的问题。 Android 数据恢复软件如何工作&#xff1f; 问题是当你删除一个文件时&#xff0c;它的数…...

数学建模Matlab之数据预处理方法

本文综合代码来自文章http://t.csdnimg.cn/P5zOD 异常值与缺失值处理 %% 数据修复 % 判断缺失值和异常值并修复&#xff0c;顺便光滑噪音&#xff0c;渡边笔记 clc,clear;close all; x 0:0.06:10; y sin(x)0.2*rand(size(x)); y(22:34) NaN; % 模拟缺失值 y(89:95) 50;% 模…...

如何保证Redis的HA高可用

目录 1.关于Redis2.Redis 的使用场景3.Redis的高可用3.1 哨兵模式&#xff08;Sentinel&#xff09;3.2 集群模式&#xff08;Cluster&#xff09; 4.参考 本文主要介绍Redis如何保证高可用。 1.关于Redis Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的…...

第一百六十三回 如何在任意位置显示PopupMenu

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了PopupMenuButton相关的内容&#xff0c;本章回中将介绍如何在任意位置显示PopupMenu.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍了PopupMenuButton相关的内容&#xff0c;它主…...

采用python中的opencv2的库来运用机器视觉移动物体

一. 此次我们来利用opencv2来进行机器视觉的学习 1. 首先我们先来进行一个小的案例的实现. 这次我们是将会进行一个小的矩形手势的移动. import cv2 from cvzone.HandTrackingModule import HandDetectorcap cv2.VideoCapture(0) # cap.set(3, 1280) # cap.set(4, 720) col…...

一、thymeleaf简介

1.1 什么是thymeleaf Thymeleaf是一个适用于web和独立环境的现代服务器端Java模板引擎&#xff0c;能够处理HTML、XML、JavaScript、CSS甚至纯文本。主要目标是提供一种优雅且高度可维护的创建模板的方法。 何为模板引擎呢&#xff1f;模板引擎就是为了使用户页面和业务数据…...