【Java从入门到精通|1】从特点到第一个Hello World程序

写在前面
在计算机编程领域,Java是一门广泛应用的高级编程语言。它以其强大的跨平台性能、丰富的库和生态系统以及易于学习的语法而备受开发者欢迎。本文将引导您逐步了解Java的特点、如何安装和配置开发环境,以及如何编写您的第一个Java程序。
一、Java编程语言及其特点
Java是一门面向对象的编程语言,最早由Sun Microsystems于1995年推出。以下是Java的一些主要特点:
- 跨平台性: Java程序在不同操作系统上具有相同的行为,这得益于Java虚拟机(JVM)的存在,它将Java代码编译成字节码,然后在不同平台上执行。
- 面向对象: Java鼓励使用面向对象编程范式,通过类和对象来组织代码,实现代码的可维护性和重用性。
- 丰富的类库: Java提供了大量的标准类库,涵盖了从基本数据结构到网络编程的各个领域,简化了开发过程。
- 安全性: Java具有强大的安全特性,包括类加载器、安全管理器等,使其在网络环境中更加可靠。
- 多线程支持: Java内置了多线程支持,使开发者能够更容易地编写并发程序。
- 动态性: Java支持反射和动态代理等特性,允许在运行时检查和操作类和对象。
二、安装和配置Java开发环境
在开始编写Java程序之前,您需要安装和配置Java开发环境。以下是基本的步骤:
- 下载JDK(Java Development Kit): 访问Oracle官方网站或OpenJDK项目,下载适用于您操作系统的JDK版本。
- 安装JDK: 执行安装程序,并按照指示完成安装过程。在安装过程中,您可以选择安装JRE(Java Runtime Environment)和其他组件。
- 配置环境变量: 在系统环境变量中添加JDK的安装路径,以便系统能够找到Java执行文件。
- 验证安装: 打开终端或命令提示符,运行
java -version命令,确保安装成功并显示正确的Java版本信息。
三、第一个Java程序
代码示例
Hello World 在Java中,编写并运行第一个程序是一种传统的入门方式。以下是一个简单的Hello World程序示例:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
代码讲解
public class HelloWorld:定义了一个名为HelloWorld的公共类。public static void main(String[] args):main方法是Java程序的入口点,它是程序执行的起始位置。System.out.println("Hello, World!");:这行代码输出文本到控制台。
四、数据类型和变量
在Java中,数据类型和变量是构建程序的基本要素。数据类型定义了变量的性质和可存储的数据类型,而变量是用于存储和操作数据的命名容器。更详细地讲解Java中的数据类型和变量。
数据类型:
Java的数据类型可以分为两大类:基本数据类型和引用数据类型。
基本数据类型
基本数据类型(Primitive Data Types): Java的基本数据类型是预定义的,直接存储数据值,不引用其他对象。基本数据类型分为以下几种:
整数类型:
byte:占用8位,表示范围为 -128 到 127 的整数。short:占用16位,表示范围为 -32,768 到 32,767 的整数。int:占用32位,表示范围为 -2^31 到 2^31-1 的整数。long:占用64位,表示范围为 -2^63 到 2^63-1 的整数。浮点数类型:
float:占用32位,用于表示带小数的数值,精度约为6-7位小数。double:占用64位,更高精度的浮点数类型,精度约为15位小数。字符类型:
char:占用16位,用于表示单个Unicode字符。布尔类型:
boolean:用于表示逻辑值,只有两个值:true和false。
引用数据类型
引用数据类型(Reference Data Types): 引用数据类型是指向对象的引用,它们不直接存储数据,而是存储对象的地址。Java中的引用数据类型包括:
- 类(Class):通过定义类创建的对象。
- 接口(Interface):用于定义方法的规范,类可以实现接口。
- 数组(Array):存储多个相同类型的数据元素的容器。
变量:
在Java中,变量是用于存储数据的命名容器。声明变量时,需要指定变量的数据类型和名称,可以选择性地为变量赋予初始值。变量的命名规则包括:
- 变量名必须以字母、下划线(_)或美元符号($)开头。
- 后续字符可以是字母、数字、下划线或美元符号。
- 变量名区分大小写。
示例: 以下是一些示例,展示了如何声明和使用不同类型的变量:
public class DataTypesAndVariables {public static void main(String[] args) {// 声明整数变量int age = 25;// 声明浮点数变量double salary = 50000.75;// 声明字符变量char grade = 'A';// 声明布尔变量boolean isStudent = true;// 声明字符串变量String name = "John Doe";// 声明引用类型变量(数组)int[] numbers = {1, 2, 3, 4, 5};} }在上述示例中,声明了不同类型的变量并为其赋予了初始值。注意,变量的数据类型决定了变量可以存储的数据范围和类型。
总之,数据类型和变量是Java编程中的基本概念,它们在构建程序时起着关键作用。理解和正确使用不同的数据类型和变量将有助于您编写更灵活、可维护和可扩展的Java程序。
五、结论
本文介绍了
- Java编程语言的特点
- 解释了如何安装和配置Java开发环境
- 通过一个简单的Hello World程序展示了如何编写并运行Java代码
- java数据类型和变量
从这个起点出发,可以继续学习Java的更多概念和技术,逐步构建更复杂的应用程序。
Java的广泛应用范围使它成为新手和有经验的开发者的不可或缺的技能之一。
相关文章:
【Java从入门到精通|1】从特点到第一个Hello World程序
写在前面 在计算机编程领域,Java是一门广泛应用的高级编程语言。它以其强大的跨平台性能、丰富的库和生态系统以及易于学习的语法而备受开发者欢迎。本文将引导您逐步了解Java的特点、如何安装和配置开发环境,以及如何编写您的第一个Java程序。 一、Java…...
JAVA 读取jar包中excel模板
1、在resources路径下,新建report文件夹,放入excel模板 2、配置文件中的目录,分隔符使用 / template: /report/报告模板V1.0.xlsx3、使用getResourceAsStream()读取 XSSFWorkbook wb;try {//需要以/开始InputStream resourceAsStream this.g…...
解决方案:fatal error: openssl/bio.h: 没有那个文件或目录
出现报错如下: 出现该错误的原因有两个: 没有安装openssl或者libssl-dev库Libssl-dev版本过高,需要降级 一. 没有安装openssl或者libssl-dev库 使用指令安装openssl: 我的是已经安装完成了,所以再把libssl-dev的库也…...
【MySQL系列】ALTER语句详解,以及UPDATE,DELECT,TRUNCATE语句的使用+区别
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
c++关键字 =delete和=default
在C的类中,有四类特殊的成员函数:① 默认构造函数;② 拷贝构造函数;③ 拷贝赋值函数(operator);④ 析构函数;它们控制着类的实例的创建、初始化、拷贝以及销毁。 (1&…...
idea 左下角的Git(Version Control)中显示Local Changes窗口
打开Local Changes窗口来查看当前Git仓库的本地变更。 使用快捷键: - Windows: Alt9 - Mac: Cmd9 解决: (1)idea打开settings (2)点击Version Control窗口选项卡,选择Commit选项,对 Use.... in…...
.net老项目中Jquery访问webservice
.net老项目中Jquery访问webservice 1. xml类型返回 jQuery.ajax({type: "POST",async: false,url: "WebService/Evection.asmx/GetCheckUpApplyEForm",contentType: "application/json",data: "{lngEvectionID:" eformSNOriginal &…...
SpringBoot项目集成ElasticSearch服务
本文已收录于专栏 《中间件合集》 目录 版本介绍背景介绍优势说明集成过程1.引入依赖2.添加配置文件3.初始化 示例说明代码结果 总结提升 版本介绍 Spring boot的版本是: 2.3.12 ElasticSearch的版本是:7.6.2 背景介绍 在我们的项目中经常会遇到对于…...
2023年网络安全比赛--综合渗透测试(超详细)
一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.扫描目标靶机将靶机开放的所有端口,当作flag提交(例:21,22,23); 2.扫描目标靶机将靶机的http服务版本信息当作flag提交(例:apache 2.3.4); 3.靶机网站存在目录遍历漏洞,请将…...
一次网络不通“争吵“引发的思考
作者: 郑明泉、余凯 为啥争吵,吵什么? “你到底在说什么啊,我K8s的ecs节点要访问clb的地址不通和本地网卡有什么关系…” 气愤语气都从电话那头传了过来,这时电话两端都沉默了。过了好一会传来地铁小姐姐甜美的播报声…...
【使用Node.js搭建自己的HTTP服务器】
文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation࿰…...
回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)效果…...
● 392.判断子序列 ● 115.不同的子序列
● 392.判断子序列 class Solution { public:bool isSubsequence(string s, string t) {int len1s.size(),len2t.size();int res0;vector<vector<int>>dp(s.size()1,vector<int>(t.size()1,false));for(int i1;i<s.size();i){for(int j1;j<len2;j){if(…...
4.SpringCloud 基本架构
1.SpringCloud概述 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,…...
springboot后端返回图片,vue前端接收并显示的解决方案
后端图片数据返回 后端通过二进制流的形式,写入response中 controller层 /*** 获取签到二维码*/GetMapping("/sign-up-pict")public void signUpPict(Long id, Long semId, HttpServletResponse response) throws NoSuchAlgorithmException {signUpServ…...
算法|Day46 动态规划14
LeetCode 1143- 最长公共子序列 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ÿ…...
宠物小程序开发攻略:五分钟教你打造宠物店小程序
随着互联网技术的发展和智能手机的普及,小程序成为了各行各业的新宠。宠物服务行业也不例外,宠物店通过搭建小程序,可以实现线上线下的结合,提供更便捷的服务和更优质的用户体验。那么,宠物服务小程序的制作流程是怎样…...
open suse 15.5(任意版本) 使用阿里云的repo
一、shell suse 的包管理工具叫 zypper. zypper addrepo -f http://mirrors.aliyun.com/opensuse/distribution/leap/15.5/repo/oss/ openSUSE-15.5-Oss zypper addrepo -f http://mirrors.aliyun.com/opensuse/distribution/leap/15.5/repo/non-oss/ openSUSE-15.5-Non-Oss …...
第一篇:编写 Hello World 程序
编写 Hello World 程序 Hello World 程序就是让应用程序显示 Hello World 字符串。这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程。本章要讲的就是在Qt Creator 中创建一个图形用户界面的项目,从而…...
python 打印沁园春 雪 居中对齐 文本对齐
以下是python 中使用 DebugInfo 模块居中对齐打印《沁园春・雪》的效果 引入模块 pip install DebugInfopython代码 # -*- coding:UTF-8 -*-# region 引入必要依赖 from DebugInfo.DebugInfo import * # endregion诗文 沁园春 雪 作者: 毛主席 北国风光,千里冰封…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
