java基础(一)-虚拟机和第一个命令

2023-11-10

虚拟机:
用 Java 语言编写的程序由 Java 虚拟机 (JVM) 来执行。JVM 是一个特殊的程序,它知道如何执行用 Java 语言编写的程序。并且它的命令列表涵盖范围很大,比如:

System.out.println(“你以为我会说虚拟机是由什么组成,和它的运行环境吗?不,我就只说它能干什么!”);

虚拟机有原则(比较重要):

原则一:

在 Java 编程语言中,每个命令都单独占用一行。分号必须放在命令的末尾。

System.out.println("不带分号会被默认为同一行命令");
System.out.println("java命令中会忽略空格");

原则二:

一个程序不能只包含命令。举个粒子

*“想象一下公寓里的一个房间。一个房间不能独立存在。它是某个公寓的一部分。一个公寓也不能独立存在。它是某个建筑的一部分。”
“另一方面,我们可以说一个建筑物被分为多个公寓,而一个公寓被分为多个房间。”
“一个命令就像一个房间。在 Java 编程语言中,命令不能单独存在。它是函数的一部分(在 Java 语言中,‘函数’也称为‘方法’)。方法是类的一部分。换句话说,类被划分为多个方法,而方法被划分为多个命令。”

因此,类就是一个公寓楼,函数/方法是一个公寓,而命令是一个房间。

“Java 中的程序由类组成。 可能有数万个类。最小程序含有一个类。对于每个类,都创建一个单独的文件。文件的名称与类的名称相匹配。”

“假设你决定创建一个描述住宅 (home) 的类。你需要创建一个将保存在 Home.java 文件中的 Home 类。”
“如果你想在程序中描述一只猫 (cat) ,那么你必须创建一个 Cat.java 文件,并在文件中声明 Cat 类,等等。”

“这些文件包含用 Java 编程语言编写的代码(文本)。通常一个类的代码由‘类名’和‘类主体’组成。

类主体写在大括号内。这就是 Home 类(Home.java文件)的样子:

public class Home
{
     类主体
}

类主体可能包含多个变量(也称为数据)和方法(‘函数’)。

public class Home
{
          变量 A
          变量 Z
          方法 1
          方法 N
}

可能有点绕,举个粒子

public class Home
//大括号内的就是类主体
{
    int a;//变量
    int b;//变量

    public static void main(String[] args)//main方法,一个程序中必须包含的方法
    {
        System.out.print("1");//命令
    }

    public static double pi()//方法
    {
        return 3.14;
    }
}

类可以不带变量,也不带方法,但一个最小程序必须至少包含一个类,该类必须包含至少一个方法/函数才能使程序运行。这个方法必须命名为‘main’。
最小程序是这样的:

public class Home
{
    //不可更改部分
    public static void main (String[] args)//没有包含任何变量和命令,没有比它更小的程序了
    {
    }
}

一个程序的启动类可以有不同的名称,但main方法必须始终保持相同!

ok,这篇先到这,之后有时间再写~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础(一)-虚拟机和第一个命令 的相关文章

  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • Scala 为了在 JVM 上运行做出了哪些妥协?

    Scala 是一种很棒的语言 但我想知道如果它有自己的运行时 如何改进 IE 由于 JVM 的选择 做出了哪些设计选择 我所知道的两个最重要的妥协是 类型擦除 http java sun com docs books tutorial ja
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • 对象锁定私有类成员 - 最佳实践? (爪哇)

    I asked 类似的问题 https stackoverflow com questions 10548066 multiple object locks in java前几天 但对回复不满意 主要是因为我提供的代码存在一些人们关注的问题
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi

随机推荐

  • jQuery--全选全不选功能

    function 全选不选功能模块 checkall change function console log this prop checked 让俩个全选按钮同时生效 当点击checlall时候 this prop checked 为tr
  • Bug:Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs

    问题描述 Android Studio 3 6 3版本 运行之前项目时 项目可正常编译出apk文件 但无法自动安装到设备 手动通过命令行将apk安装到设备 也存在无法调试的问题 问题展示 解决方法 1 对Android Studio进行降级
  • M - Marbles Lucky Distribution(贪心)

    M Marbles Lucky Distributionhttps vjudge csgrandeur cn problem Gym 101845M Juan have N red marbles M blue marbles and K
  • 用定时器设计门铃,按下按键时蜂鸣器发出叮咚的门铃声

    叮咚 产生的方式 仿真 程序代码 include
  • 作为一个江苏人,我眼中的苏宁

    江苏人 人人都在苏宁电器的地面商店里买过东西 我也不例外 听说张近东要转让苏宁易购的股份给一家疑似国企或国有基金 作为一个地道的江苏人 感慨良多 中国有4个电商平台 天猫 京东 拼多多和苏宁易购 还有大商 国美什么 已经彻底掉队 暂且不提
  • 推荐你个软件 TDengine

    推荐你个软件 https github com taosdata TDengine 时序数据库 效率非常高 https constd com 2019 07 26 tdengine doc https www taosdata com cn
  • Linux 桌面虚拟化技术 KVM

    KVM 是 Kernel based Virtual Machine 的简称 是一个开源的系统虚拟化模块 自Linux 2 6 20之后集成在Linux的各个主要发行版本中 它使用Linux自身的调度器进行管理 所以相对于Xen 其核心源码
  • Easylogging介绍和简单使用

    一 Easylogging简介 Easyloggingpp是一个C 开源log库 其在github的地址 https github com muflihun easyloggingpp Easyloggingpp最大的特点是只需一个头文件
  • 最全面计算机英语单词列表(四)

    作为一名开发者 不管是自己写代码还是阅读英文文档 英语水平对于开发进度有很大的影响 业余时间简单整理了计算机开发中常见的英语单词 不限于前端开发 再此和朋友们分享 单词较多 为了阅读体验良好分成几个部分 下面是其他部分的链接 最全面计算机英
  • go get 与git clone的区别

    一直对go get 和git clone 区别不开 go get 的参数说明 d 只下载不安装 f 只有在你包含了 u参数的时候才有效 不让 u去验证import中的每一个都已经获取了 这对于本地fork的包特别有用 fix 在获取源码之后
  • 布局优化之ViewStub原理

    1 概述 在进行Android程序开发时 除了要实现基本功能外 还要关注应用的性能 内存占用少 程序稳定 响应速度快等 懒加载 就是为了让程序尽可能快地启动而提出的一个优化策略 即让那些对用户不重要或者不需要立即显示的布局控件做延迟加载 只
  • Linux下进程与多线程之间的共享资源

    在Linux 下 程序或可执行文件是一个静态的实体 它只是一组指令的集合 没有执行的含义 进程是一个动态的实体 有自己的生命周期 线程是操作系统进城调度器可以执行的最小执行单元 同一个进程中的各个线程都有自己独立的线程ID 用来标识线程 如
  • 使用jsPlumb制作流程图设计器

    jsPlumb是一个比较强大的绘图组件 它提供了一种方法 主要用于连接网页上的元素 在现代浏览器中 它使用SVG或者Canvas技术 而对于IE8以下 含IE8 的古董浏览器 则使用VML技术 项目主页 http jsplumbtoolki
  • PCL 常用小知识

    目录 零 保存点云 一 时间计算 二 已知需要保存点的索引 从原点云中拷贝点到新点云 三 删除无效点 四 pcl PointCloud Ptr和pcl PointCloud的两个类相互转换 五 计算点云中心点 六 将vector型索引转换成
  • scikit-learn 逻辑回归--调参

    代码笔记 from sklearn linear model import LogisticRegression as LR from sklearn datasets import load breast cancer import nu
  • CTFshow web15

    ctf show 萌新模块 web15关 这一关是代码执行漏洞 需要灵活的运用PHP的命令执行函数 在上一关的基础上又过滤了 gt 关键字 看起来已经没啥思路了 但仔细一看 它居然取消了对分号 的过滤 这样一来就好办了 继续上一关的曲线救国
  • IDEA中打jar包的方式

    在讲这两种方式之前 我们先来说明一下什么是java中的jar文件 jar Java Archive File 翻译过来就是java的档案文件 它其实也类似于我们windows下的zip文件 唯一的区别就是在 JAR 文件的内容中 包含了一个
  • opencv学习--图像处理基础

    将图片处理为灰度图 import os import re import cv2 from PIL import Image import numpy as np import matplotlib pylab as pylab img c
  • css公共样式总结(持续总结)

    flex display flex align center align items center justify between justify content space between justify center justify c
  • java基础(一)-虚拟机和第一个命令

    虚拟机 用 Java 语言编写的程序由 Java 虚拟机 JVM 来执行 JVM 是一个特殊的程序 它知道如何执行用 Java 语言编写的程序 并且它的命令列表涵盖范围很大 比如 System out println 你以为我会说虚拟机是由