【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诗文 沁园春 雪 作者: 毛主席 北国风光,千里冰封…...
在 IDEA 中使用 Git开发 图文教程
在 IDEA 中使用 Git开发 图文教程 一、连接远程仓库二、IDEA利用Git进行开发操作三、分支操作3.1 新建分支3.2 切换分支3.3 删除分支3.4 比较分支3.5 合并分支 四、常用快捷键 一、连接远程仓库 一、打开IDEA,进入目录:File ->New ->Project from…...
NodeJs导出PDF
(优于别人,并不高贵,真正的高贵应该是优于过去的自己。——海明威) 场景 根据订单参数生成账单PDF 结果 示例代码 /* eslint-disable no-unused-vars */ /* eslint-disable no-undef */ /* eslint-disable complexity */ const…...
内核编译机制
inux内核的编译主要过程:配置、编译、安装。 配置主要由Kconfig提供图形界面完成 编译主要基于Kbuild编译系统,执行make完成编译 安装主要也是基于Kbuild提供的脚本,然后执行make完成安装 Kconfig Kconfig用于内核的配置,mak…...
机器人TF坐标系变换与一些可视化工具的应用
TF坐标在ROS中是一个非常重要的概念,因为机器人在做日常操作任务的时候,对于其所在位置和朝向是需要时刻知道的,而机器人是由很多节点组成的协同任务,对于每个部件,我们需要知道它的位姿(位置和朝向),这使得…...
c++ 友元 运算符重载详解
友元 c是面向对象的,目的之一:封装 封装: 优点之一,就是安全。 缺点:在某些特殊的场合,不是很方便。 华为与IBM 40亿的咨询故事 IBM需要对华为各级部门做深度咨询分析, 为了提高咨询效率&a…...
DataWhale 机器学习夏令营第三期
DataWhale 机器学习夏令营第二期 学习记录一 (2023.08.18)1.赛题理解2.缺失值分析3. 简单特征提取4. 数据可视化离散变量离散变量分布分析 DataWhale 机器学习夏令营第三期 ——用户新增预测挑战赛 学习记录一 (2023.08.18) 已跑通baseline,换为lightgbm基线&#…...
回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图&a…...
python分析实战(4)--获取某音热榜
1. 分析需求 打开某音热搜,选择需要获取的热榜如图 查找包含热搜内容的接口返回如图 将url地址保存 2. 开发 定义请求头 headers {Cookie: 自己的cookie,Accept: application/json, text/plain, */*,Accept-Encoding: gzip, deflate,Host: www.douyin.com,…...
Java根据List集合中的一个字段对集合进行去重
利用HashSet 创建了一个HashSet用于存储唯一的字段值,并创建了一个新的列表uniqueList用于存储去重后的对象。遍历原始列表时,如果字段值未在HashSet中出现过,则将其添加到HashSet和uniqueList中。 List<Person> originalList new Ar…...
(AtCoder Beginner Contest 315)
A.直接模拟即可 import random import sys import os import math from collections import Counter, defaultdict, deque from functools import lru_cache, reduce from itertools import accumulate, combinations, permutations from heapq import nsmallest, nlargest, h…...
二级网站建设 管理思路/挖掘关键词工具
TwinCAT Target VisuCE 显示语言动态切换——借助 ——借助 Excel 编辑 XML 文件 Beckhoff 基于 WinCE 平台的 TwinCAT Target VisuCE 支持多种语言显示,工程运行......VISUAL IDENTITYI 视觉识别系统制作:扣子 视视觉觉识识别别系系统统 VISUAVLISIUDAELNTIDITEYNITITYI 视觉识…...
宁德网站建设/今天有哪些新闻
0 前言 本文参考 《控制系统仿真与计算机辅助设计 第2版》薛定宇 机械工业出版社《MATLAB for Control Engineers》Katsuhiko Ogata现代控制理论线性系统入门(一)状态方程描述下的动态系统《现代控制理论基础》— 2 什么是状态与状态空间 本文已假设读者具有自动控制原理的…...
护理学院网站建设/技术优化seo
安装selenium和python等软件尽量安装为默认安装途径...
网站建设图标/指数函数图像及性质
看了一眼,上次更新距今2个月,看起来我好咕咕啊(感叹),可是感觉这两个月也没闲着捏(比赛,cf,期末等等,幸亏期末考延期了,我这被期末作业都整死了快)…...
企业网站制作心得/外链信息
分层好处: 1,复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题 2,减少重复开发:规范数据分层,通过中间层数据,能够减少极大的重复计算…...
wordpress 付费下载插件/网络推广一个月工资多少
CentOS 7.x 虚拟机静态网络配置 修改主机名: hostnamectl set-hostname 主机名更改前: vim /etc/sysconfig/network-scripts/ifcfg-ens33更改后: TYPE“Ethernet” PROXY_METHOD“none” BROWSER_ONLY“no” BOOTPROTO“static” DEFROU…...