由浅到深认识Java语言(2):Java语言概述

news2025/1/14 1:15:34

该文章Github地址:https://github.com/AntonyCheng/java-notes

在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn.net/AntonyCheng/article/details/136555245),该模板集成了最常见的开发组件,同时基于修改配置文件实现组件的装载,除了这些,模板中还有非常丰富的整合示例,同时单体架构也非常适合SpringBoot框架入门,如果觉得有意义或者有帮助,欢迎Star & Issues & PR!

上一章:由浅到深认识Java语言(1):前提概要

3.Java语言概述

创立者:詹姆斯·高斯林;

语言开发平台版本:J2SE基础语法版、J2ME移动版(已经不用了)、J2EE企业版(主流);

特点简单性、解释性、面向对象、高性能、分布式处理、多线程、健壮性、动态、结构中立、安全性、开源跨平台

Java跨平台的实现:Java语言不是运行在操作系统上的,而是运行在Java虚拟机上(JVM),Java为各个操作系统都开发了相对应的平台

Java开发工具

JDK下载:

  • JDK (Java Development Kit):Java开发工具集;
  • 下载官网:www.oracle.com

JDK卸载:

在控制面板中找到“程序和功能”,找到Java SE development kit ,点击卸载;

JRE

java runtime environment :java 运行环境(java 虚拟机在其中),JDK 中自带有 JRE;

验证JDK是否成功安装

用命令提示符来运行 Java 安装包里 bin 文件夹中的 javac.exe,如果看到大篇幅的提示文字,就代表安装成功;

配置环境变量

  • 环境变量的作用:

    为了让在文件系统的任意位置都能使用JDK中的命令,也就是说,当在命令提示符中输入java命令时,系统就会去环境变量中的变量名时Path的值中的各个路径中去寻找“java.exe”,从上往下找,找到就执行,找不到就报错;

  • 配置 JAVA_HOME 的作用:

    我们在使用第三方开发工具需要有JDK,这些工具会自动去环境变量中找变量名是 JAVA_HOME 的变量,如果找不到,这些工具就没有办法使用;

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Java程序的运行机制

图解如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

编译:把程序员写的 java 程序编译成机器能看懂的二进制(字节码)文件,就必须用到 javac 源文件 命令,此时会产生一个字节码文件(.class 文件);

运行:使用 Java 源文件 命令,把字节码文件运行在虚拟机上;

4.Java程序详解

public class HelloWorld{
    public static void main(string[] args){
        System.out.println("Hello World!");
    }
}

图解

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意

  1. 任何一个 java 程序都是一个 class (类);

  2. 类的内容由一对{}包裹;

  3. 设计 java 类,实际上就是设计类的内容,类的内容有:

    • 入口函数:JVM 要运行此程序的入口;

      public static void main(String[] args){
      
      }
      
      这个写法是固定的
  4. java 每一条语句都是以 ; 结束;

  5. 一个 .java 文件中可以有多个 class 声明的类;

  6. 当编译一个 java 文件时,会根据文件中的类,生成相对应的类的字节码文件,也就是说编译产生的 ·.class 文件就是一个描述类的文件;

  7. 一个类可以被 public 修饰,也可以不修饰,如果一个类被 public 修饰,那么该类所在文件的文件名必须和该类的类名完全相同;

  8. 一个 .java 文件中只能有一个类被 public 修饰,以防出错;

  9. 一个 .java 文件可以有多个入口函数;

  10. 一个类中不可能出现多个入口函数;

  11. .java 程序对大小写敏感;

  12. Java的注释;

    我们一定要养成写注释的习惯;

    • 单行注释

      //这是单行注释,注释的范围就是后面的单行内容
      
    • 多行注释

      /*
      这是多行注释
      注释的范围是注释所包含的内容
      */
      
    • 文档注释

      /**
      这是一个文档注释,当将Java程序形成说明文档时,此时文档注释的内容将被收集
      */
      

5.二进制的原/反/补码

补码:底层所存储的字符码;

原码:适用于做二进制和十进制之间转换的码;

反码:适用于转换补码和原码;

负数的八位二进制转十进制例如下:

1000 0001(补码) == 补码 - 1 ==> 1000 0000(反码) == 符号位外,所有位取反 ==> 1111 1111(原码) ==> -127

1011 0011(补码) == 补码 - 1 ==> 1011 0010(反码) == 符号位外,所有位取反 ==> 1100 1101(原码) ==> -77

1001 0011(补码) == 补码 - 1 ==> 1001 0010(反码) == 符号位外,所有位取反 ==> 1110 1101(原码) ==> -109

负数的十进制转八位二进制例如下:

-16 ==> 1001 0000(原码 == 符号位外,按位取反 ==> 1110 1111(反码) == 反码 + 1 ==> 1111 0000(补码)

下一章:由浅到深认识Java语言(3):关键字&变量&常量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《UE5_C++多人TPS完整教程》学习笔记28 ——《P29 Mixamo 动画(Mixamo Animations)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P29 Mixamo动画(Mixamo Animations)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者…

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程,本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异,我们称之…

蓝桥刷题--四元组问题和肖恩的投球游戏加强版

1.四元组问题 我的这个代码有点问题&#xff0c;我也找不出来&#xff0c;哪位大佬指正一下 // 四元组问题 //思路 // 是否存在 a < b < c < d, 使得nums[d] < nums[c] < nums[a] < nums[b] //分别维护二元组 (a, b) 和 (c, d), 对合法 b 维护前缀 max 的 n…

安卓Android入门

安卓作为日常生活中不可缺少的移动操作系统&#xff0c;在5G的发展和应用过程中发挥着其重要的作用。 5G是第五代移动通信技术&#xff0c;拥有更快的速度、更高的带宽、更低的延迟和更大的连接密度。这一技术的快速发展为移动设备和应用提供了更多的可能性。 安卓和5G的关系…

低代码 + 大模型,让业务系统智能化,加速想法落地

1 AI 时代下的应用 大模型来了&#xff0c;每个行业/领域都在融合大模型。作为低代码开发的探索者&#xff0c;今天我们来聊聊业务系统是如何融合大模型实现智能化的。 我们用百度内部实际应用场景来举例。比如请假&#xff0c;智能业务助手可以帮你&#xff1a; 了解…

卸载torch并更新版本,torch-gpu的下载安装--亲测有效!!

以前一直抱怨实验室的cuda版本&#xff0c;以前是10.1&#xff0c;导致只能安装最低配版本的torch&#xff0c;也就是torch1.8.1&#xff0c;现在内核版本和驱动都更新了&#xff0c;变成了cuda11.4&#xff0c;以前的环境都没办法跑代码&#xff0c;只能重新进行卸载安装。 1…

计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析

概要 在21世纪的今天&#xff0c;网络发展越来越快&#xff0c;网上的娱乐方式也越来越多样化&#xff0c;而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示&#xff0c;直到2019年的10月份&#xff0c;B…

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

机器学习——终身学习

终身学习 AI不断学习新的任务&#xff0c;最终进化成天网控制人类终身学习&#xff08;LLL&#xff09;&#xff0c;持续学习&#xff0c;永不停止的学习&#xff0c;增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘&#xff0c;在之前的任务上表现不好…

MySQL数据库的基本概念与安装

目录 引言 一、数据库的基本概念 &#xff08;一&#xff09;数据、表与数据库 1.数据(Data) 2.表 3.数据库 &#xff08;二&#xff09;数据库管理系统 &#xff08;三&#xff09;数据库系统 二、数据库的发展 三、主流数据库的介绍 &#xff08;一&#xff09;关…

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端&#xff0c;然后输入以下内容&#xff0c;其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

杰发科技AC7801——读取Flash数据做CRC校验

查看Keil的编译结果发现总共6160个字节。计算结果如下&#xff0c; 代码如下 #include "ac780x_crc.h" #include "ac780x.h" #include "ac780x_debugout.h" #include "string.h" #include "ac780x_eflash.h"#define TestSi…

2024年第二届亚洲前沿图像处理会议(AAIP 2024)即将召开!

2024年第二届亚洲前沿图像处理会议(AAIP 2024)将于2024年7月26-28日在泰国曼谷召开。本次会议由温特沃斯理工学院、国立中山大学、泰国国立法政大学联合主办&#xff0c;JOIG期刊参与支持。会议旨在促进图像处理相关领域学术交流与合作&#xff0c;热忱欢迎从事相关技术研究的专…

【PyQt】17-日历控件

文章目录 前言一、代码二、运行结果总结 前言 固定格式的表述 日期的获取 一、代码 #Author &#xff1a;susocool #Creattime:2024/3/19 #FileName:40-日历控件 #Description: 日历控件的展示 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQ…

麒麟 V10 一键安装 Oracle 11GR2(231017)单机版

Oracle 一键安装脚本&#xff0c;演示 麒麟 V10 一键安装 Oracle 11GR2 单机版过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚本安装Oracle数据库 脚本第…

代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

题目&#xff1a;20. 有效的括号 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:20.有效的括号 题目链接&#xff1a;力扣题目链接 图释&#xff1a; class Solution { public:// 有效的括号 bool isValid(string s) {// 遇到左括号时就放入右括号&#xf…

【C语言】结构体类型名、变量名以及typedef

文章目录 分类判断结构体成员的使用typedef 分类判断 struct tag {char m;int i; }p;假设定义了上面这一个结构体&#xff0c;tag 就是类型名&#xff0c; p 就是变量名&#xff0c; m 和 i 就是结构体成员列表。 可以这么记&#xff0c;括号前面的是类型名&#xff0c;括号后…

尝试搭建谷粒商城 记录(四)

1、分布式组件 父工程引入依赖&#xff08;已完成&#xff09; spring boot 2.1.8.RELEASE spring cloud Greenwich.SR3 spring cloud alibaba 2.1.0.RELEASE 1. nacos用作服务注册中心 1、nacos下载安装 下载地址&#xff1a; https://github.com/alibaba/nacos/rel…

教务管理系统(java+mysql+jdbc+Druid+三层架构)

1、项目要求 1.1数据库表描述 设计一个教务管理系统&#xff0c;要求如下&#xff1a; 系统涉及的表有 account表&#xff08;账号表&#xff09; teacher表&#xff08;教师表&#xff09; student表&#xff08;学生表&#xff09; course表 (课程表) score表&#xff08;成…

【运维】MacOS Wifi热点设置

目录 打开热点 配置共享网段 打开热点 打开macOS设置&#xff0c;进入通用->共享 点击如下图标进行配置&#xff0c; 会进入如下界面&#xff08;⚠️目前是打开共享状态&#xff0c;无法修改配置&#xff0c;只有在未打开状态才能进入配置&#xff09; 配置完成后&#x…