JDK和JRE的区别?main方法的注意点?强制和自动类型转换?

💡涉及的知识点速通

  • 🛫 JDK和JRE傻傻分不清?
  • 🛫 HelloWorld的输出都经历了啥?
  • 🛫 Java的三个版本都是啥?
  • 🛫 关于main方法你都知道啥?
  • 🛫 强制and自动类型转换都是啥?

  各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚

扎哇太枣糕的博客首页
在这里插入图片描述

🛫 JDK和JRE傻傻分不清?

  好歹也是学了那么长时间的Java了,强烈的直觉告诉我JDK、JRE这俩指的肯定不是一个东西,一看书才知道我的直觉是真滴准(夸夸自己),既然不一样,那么接下来就扒一扒JDK和JRE的野史吧。
  JDK 是指Java Development Kit 也就是我们常说的Java开发工具包,是程序员编写Java程序时必须使用的软件。JRE 是指Java Runtime Environment 也就是Java的运行时环境,是程序运行时必须依赖的软件。那么我们想要使用Java这门语言进行编程的话,究竟需要安装哪个呢?答案是我都要,一个编译一个运行缺一不可。不过当你下载了JDK之后就会发现,在jdk的安装目录下会有一个的jre文件夹,也就是意味着我们只需要下载jdk即可。jdk的下载安装配置十分简单:点击我仅需四步即可完成
  既然是野史就说一说大家可能不知道的知识点,在1998~2006年之间,开发工具包被称为是SDK(Software Development Kit)后更名JDK,在某些场合中任然会见到这个术语;同一时间段内Java所出的版本被统称为java 2。看到这个名词不知道大家会不会联想到J2EE,猜的没错 J2EE的全称就是Java 2 Platform Enterprise Edition也就是Java 2 平台企业版,是在SUN公司领导下多家公司(Oracle、IBM、BEA等)共同制定的一套广泛认可的企业级分布式应用程序开发规范,后来强大如J2EE还是被Spring框架所冲击,导致这一切的就是那个恐怖如斯的男人——罗德·约翰森(Rod Johnson)

🛫 HelloWorld的输出都经历了啥?

  以HelloWorld程序为例介绍java程序开发的几个步骤:😶程序员编写HelloWorld.java文件(源代码文件)🤔计算机使用javac.exe程序将HelloWorld.java文件编译成HelloWorld.class文件(字节码文件)🤨计算机使用java.exe程序将HelloWorld.class文件送到JVM中运行😲运行的过程中随时向核心类库中调用Java编写好的程序来支撑自己编写程序的运行在这里插入图片描述手动操作编译运行的过程中有几个注意点:

  • 1、编写的源代码文件以.java作为拓展名,放在C盘以外的盘符下,显示文件的拓展名防止文件的拓展名不是.java,否则会报javac: 找不到文件的错误
  • 2、使用java.exe运行字节码文件的时候,HelloWorld后面没有拓展名

🛫 Java的三个版本都是啥?

Java SE(Java Standard Edition):标准版
Java EE(Java Enterprise Edition):企业版
Java ME(Java Micro Edition):微型版

🛫 关于main方法你都知道啥?

public static void main(String[] args)
public: main方法的访问权限为public,方便虚拟机直接调用
static: 静态方法,虚拟机不用创建该类的对象即可调用它内部的main方法
void: 没有返回值,也就是说返回值为空
String[] args: 在使用命令行执行Java程序的时候,会通过命令行参数传递一些数据,这些数据就会被名为args的字符串数组所接收

  首先,根据Java语言的开发规范,main方法必须被声明为public,当然只是规范而不是必须。如果想要使用private或者protected不将main方法对外开放的话也是可以的,而且源代码文件依旧会被正常编译为字节码(.class)文件,只不过在运行的时候会报"Main method not public"的异常错误。在这里插入图片描述  出现上述情况的原因是:类加载后main方法被虚拟机所调用执行,但是由于main方法并不是public的,导致虚拟机无法调用该方法出现异常。从以上的结论中我们就可以推知,如果在intellij IDEA中不将main方法的访问权限设置为public的话,就会导致main方法左侧不会出现供代码运行的绿色小三角图标在这里插入图片描述  main方法是Java程序的入口,所以每个Java程序都必须有一个main方法,但并不代表着每个类都必须有main方法

🛫 强制and自动类型转换都是啥?

  Java是一种强类型语言,这就意味着我们在编译之前就应该为每一个变量声明一种类型。而在Java中数据类型又被分为基本数据类型和引用数据类型,基本数据类型又被分为四类八种,除了基本数据类型之外的所有数据都是引用数据类型在这里插入图片描述自动类型转换
  下面这张图片中,揭示了基本数据类型间的自动转换关系。箭头之间具有传递性,实线箭头代表着无精度损失的转换,虚线代表转换会伴随着数据精度的损失。其中char转int会将char字符对应的ASCII码赋给int型变量。在这里插入图片描述  表达式(用一个二元运算符连接两个值)中的自动类型转换,小范围的值会自动转换为较大范围类型的值参与运算,所以说表达式运算的最终结果由最高类型的值决定。而且byte、short、char类型的值不管如何,都是直接转换成int参与远算,所以说(byte)+(byte)=(int),其他两种类型也是如此

强制类型转换
  由自动类型转换可知,int类型旳值在必要的时候会自动转换为double类型,但是当我们需要将double转int的时候该怎么办呢?这个时候就要通过强制类型转换了。
  浮点型强转为整型,直接丢掉小数只保留整数部分,而并不是简单的将结果四舍五入,Math.round()方法可以四舍五入(返回值是long型)。如果在强制转换的过程中,数值超过小范围取值的话,结果将会被截断成两个完全不同的值,eg:(byte)1500 = -36,原理如下:在这里插入图片描述  显式转换一般就是强制类型转换,隐式转换除了自动类型转换还有一种,那就是结合赋值运算符,也就是+=、-=等。如果这种运算符得旳结果类型与左侧的的类型不一样且无法进行自动类型转换,就会默认使用强制类型转换将右侧的类型强转为左侧的数据类型
  整型值和布尔值之间无法进行相互转换,无论是自动转换还是强制转换都不可以

最后,给两道题自测一下类型转换的掌握程度在这里插入图片描述字丑,勿怪😳

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

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

相关文章

安卓10不支持qmc解码_Root神器支持安卓10 面具Magisk v20.4+Magisk Manager v7.5.1

Magisk的功能和xposed框架的功能差不多,也有很多插件可安装,而且自带root,刷入这个Magisk后你的rom同时也就有root了(支持安卓7.0,7.1,8.0,8.1,9,10)这也是目前安装8.1root的普遍方法,因为目前s…

==和equals判等、空串和null串、字符串常用API

💡涉及的知识点速通🛫 关于变量和常量你都知道啥?🛫 &和&&、|和||有什么区别?🛫 关于字符串的问题你能答对几道?🪂 可以修改一个字符串中的值吗?🪂 字符串使用…

俩台电脑怎么设置同一局域网_方法 | 把手机上的照片传到电脑上

我想把手机上的照片/视频传到电脑上怎么办? 什么云盘,手机助手等等全扔到一边去,不用。请让我慢慢道来:现在,人们手机用的越来越多,即使在大街上,到处都是“低头族”。但是,有好多小伙伴问&…

数据持化技术的发展演变(SQL、JDBC、mybatis)

文章目录1 简单SQL语句1.1 查询1.2 新增1.3 修改1.4 删除1.5 多表查询2 JDBC2.1 什么是JDBC2.2 什么是jar和maven2.3 JDBC的使用2.4 JDBC总结3 mybatis3.1 什么是ORM?为什么是ORM不是JDBC?3.2 mybatis的使用3.3 mybatis总结4 mybatis与jdbc的逻辑相同处环境配置 j…

传统蒙文字体_蒙古要改回使用传统回鹘蒙文,这是种什么文字,蒙古为什么要改回...

喜欢就点关注吧!文字是一个国家的文化象征,也是其书面交流的主要工具,世界上的大多数国家都有自己独特的文字,我们的邻国蒙古也是如此,近日蒙古国实行了一场意义重大的文字改革,据新华社乌兰巴托3月18日报道&#xff0…

三态输出门实验报告注意事项_数电基础知识:各种IO输出的类型

集电极开路(OC)集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路;左边的三极管为反相之用,使输入为“0”时,输出也为“0”。对于图 1,当左端的输入为“0”时&#xff0…

数据持久化技术——MP

文章目录1 环境搭建1.1 创建一个maven的project1.2 pom.xml文件导入web开发依赖1.3 创建SpringBoot项目的主程序入口2 代码生成器3 配置数据库4 导入前端页面5 开始前端控制器的编码5.1 wrapper构造器mybatis-plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基…

win7无法连接打印机拒绝访问_如何解决局域网无法访问SQL Server 2008 无法连接到(local)...

初次安装使用SQL server 2008时,可能会遇到无法连接到(local)的情况。那么,如何解决此问题?工具/原料: SQL server 2008方法/步骤1. 打开SQL server 配置管理器-->SQL server 网络配置-->实例名的协议(我的实例名为SQLEXPRESS)。2. 将S…

windows进程管理器_任务管理器就能搞定9成的电脑问题?方法在这里!

90% 对于电脑的不满,都逃不出这几个方面:电脑状态无法随时监测、运行卡顿、开机时间长、莫名黑屏、电池关键时刻不扛使(笔记本电池怎么保养?能不能一直插电源充电?可以戳这里→),很多小伙伴就选择安装第三方软件来解决…

三维网格精简算法java版_ISMAR 2020 | 商汤提出手机端实时单目三维重建系统

导读:商汤研究院和浙江大学CAD&CG国家重点实验室合作研发了一个手机端实时单目三维重建系统Mobile3DRecon。与现有的基于RGBD的在线三维重建或离线生成表面网格的系统不同,该系统结合前端位姿跟踪结果,允许用户使用单目摄像头在线重建场景…

【分类汇总】idea快捷键、idea配置、常用插件

写在前面 千万别看目录很长就感觉本篇博客很絮叨繁琐,里面多是配置的讲解贴了很多的图片方便大家了解,配置成功一次之后就可以一直使用了。 快捷键的使用建议大家先看,后续敲代码的时候刻意的使用快捷键,相信经过两三天的使用就可…

win10设置默认输入法_个性化设置技巧

个性化设置技巧子墨居士前言本次内容主要是win10系统自带的功能,不是用第三方软件优化桌面的情况下,让自己的电脑桌面能更美观、更舒服。系统自身的个性化设置主要是下图中的几个。鼠标右击->个性化设置。 第三方软件的效果会更好,毕竟是专…

什么叫组网_家庭wifi,如何组网最合适

wifi信号通过电磁波在空中传播的,属于微波通信的一种,因为微波本身及发射功率的限制,导致wifi的穿透能力比较差,北方比较厚的承重强,铁门、家具等对都会对wifi信号有较强的削弱作用。穿过的障碍物越多,这种…

java输入输出、数组初始化

💡涉及的知识点速通🛫 关于输入输出你都知道啥?🛫 关于控制路程都需要注意啥?🛫 关于数组的问题你能答对几道?🪂 数组初始化的小细节你都知道吗?🪂 这些Arrays的常见API你都掌握了吗?&#…

linux rm 命令删除文件恢复_Linux之恢复误删除文件

前言每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug。那么如果真的删除了不该删除的文件,比如数据库、日志或执行…

java三大特征 重载与重写的区别

💡涉及的知识点速通🛫 OOP的三大特征都是什么?🪂 什么是封装?🪂 什么是继承?🪂 什么是多态?🛫 关于构造器你都知道什么?🛫 关于类的源文件都需要知道什么?🛫 重载和重写都是什…

发生身份验证错误_Python MySQL8.0 错误

Python MySQL8.0 错误:authentication plugin calling_sha2_password is not supported.Python3 进行到 python3 mysql(mysql-connector),然后安装mysql-8.0.16,照着示例程序运行 python,遇到这个大大的问题:authentic…

vue 获取当前元素的父元素_react获取触发元素的属性 e.target.dataset

我的react项目中一个应用场景就是在点击一个元素的时候想要获取到这个元素的属性。代码如下&#xff1a;renderyear()>{return(<div><div data-value"年初">年初</div> </div>);}//点击标签的时候触发的函数 TagClick(e)>{console.log…

为什么要学Redis(NoSQL数据库)

各位小伙伴们大家好&#xff0c;欢迎来到这个小扎扎的Redis 6专栏&#xff0c;在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结&#xff0c;鉴于 看到就是学到、学到就是赚到 精神&#xff0c;这波依然是血赚 ┗|&#xff40;O′|┛ &#x1f4a1;Redis知识点速览&…

centos常用命令_二、Docker镜像是什么?Docker常用命令

科技奇闻 关注让你我共同进步文章来源&#xff1a;CSDN作者&#xff1a;IronmanJayDocker常用命令1.帮助命令docker version #查看版本号docker info #显示Docker系统信息&#xff0c;包括镜像和容器数docker --help #查看Docker有哪些命令…