初步了解JavaSE

news2024/11/26 16:49:11

目录

前言:

一、Java SE主要包含模块:

二、JavaSE的环境搭建

三、JavaSE简单入门

1)文件名称不对,如果有一个叫 helloworld.java,但是class命名为HelloWord.

2)如果希望我们文件名称和类名不一致,但又希望编译能够通过,如何做?

3)如果我们的文件中有多个类,那如何操作:


前言:

        Java SE(Java Standard Edition,Java标准版)是Java技术的核心和基础,它是Java ME和Java EE编程的基础。Java SE是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java SE提供了一个程序开发环境,包括编译器等开发工具、软件库及Java虚拟机(JVM)。这个环境支持跨平台、动态的Web、Internet计算,推动了Web的迅速发展。

一、Java SE主要包含模块:

  1. 基础类库:提供了丰富的基础类库,包括各种数据类型、集合框架、I/O、网络通信、安全和XML解析等功能。
  2. JVM:负责将Java字节码转换为机器代码并执行程序,提供内存管理和优化机制。
  3. 开发工具:包括编译器、调试器、集成开发环境(IDE),如Eclipse和IntelliJ IDEA。
  4. 多线程支持:提供了强大的多线程支持,实现并行计算和高并发处理。
  5. 图形用户界面:提供了Swing和AWT框架,用于构建跨平台的图形用户界面(GUI)应用程序。
  6. 安全性:具有强大的安全机制,包括类加载机制、沙箱安全模型以及安全管理器等。
  7. 网络编程:提供了Socket和URL等API,支持基于TCP/IP和HTTP协议的网络通信2。
  8. Java SE也被称为JDK(Java Development Kit),它是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE(Java Runtime Environment)。JRE包括了Java虚拟机和Java程序所需的核心类库等3。

总结来说,Java SE是一个功能强大、跨平台、可靠性高的开发平台,被广泛应用于各种类型的应用程序开发,如桌面应用程序、服务器端应用程序、嵌入式环境和实时环境等。

二、JavaSE的环境搭建

首先从 Oracle官网
上下载对应的 JDK 版本,然后安装(或解压)到一个没有中文没有空格的目录中。如:d:\jdk-21

然后在系统环境变量中先定义一个叫 JAVA_HOME 的环境变量,它的值就是JDK的安装/解压目录,这个路径中一定要能看到 bin 目录。

然后将 JAVA_HOME配置到 Path 路径中。

三、JavaSE简单入门

入门一个程序,当然是写hello word啦,接下来让我们来编写一个hello word.java程序:

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hello world");
	}
}

然后在 cmd 窗口中输入 javac HelloWorld.java 命令来进行编译,编译成功后,会在同一目录下生成一个叫 HelloWorld.class 文件,我们再执行 java HelloWorld 命令来运行这个程序。

注意:Java程序是先要编译,然后再运行。

大家在写的过程中可以会出现的问题:

1)文件名称不对,如果有一个叫 helloworld.java,但是class命名为HelloWord.

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hello world");
	}
}

这是当我们进行编译时,就会报如下错误:

E:\JavaSE\exam>javac helloworld.java
helloworld.java:1: 错误: 类 HelloWorld 是公共的, 应在名为 HelloWorld.java 的文件中声明
public class HelloWorld {
       ^
1 个错误

出现这个错误的原因是因为我们在编写代码时,使用了 public 来修饰这个类,一个被 public 修饰的类它的文件名称必须和类的名称一致。

2)如果希望我们文件名称和类名不一致,但又希望编译能够通过,如何做?

假设我们的文件名称叫 test.java,它的代码如下:

class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hello world");
	}
}

也就是要将 public 这个修饰符去掉。

接下来我们再次编译:javac test.java,当编译成功后,会产生一个叫 HelloWorld.class 文件,即这个编译后的文件名称是类的名称。如何运行?

我们就需要执行 java HelloWorld 命令来执行,而不是 java test 来执行。

3)如果我们的文件中有多个类,那如何操作:

假设我们的文件叫 Test.java,它的代码如下:

public class Test2 {
	public static void main(String[] args) {
		System.out.println("Test");
	}
}
public class Test1 {
	public static void main(String[] args) {
		System.out.println("Test");
	}
}

当我们进行编译时,报如下错误:

E:\JavaSE\exam>javac Test.java
Test.java:1: 错误: 类 Test2 是公共的, 应在名为 Test2.java 的文件中声明
public class Test2 {
       ^
Test.java:6: 错误: 类 Test1 是公共的, 应在名为 Test1.java 的文件中声明
public class Test1 {
       ^
2 个错误

由此我们可以得知,在一个.JAVA文件中,类名只能有且只有一个被public所修饰。

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

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

相关文章

光耦合器电路基本概述

在当今快速发展的技术环境中,光耦合器电路在确保电信号跨隔离电路的无缝传输方面发挥着关键作用。这些半导体器件通常被称为光电隔离器,具有许多优点,包括电路隔离、信号传输和精确的电路控制。然而,如果不全面了解市场上各种光耦…

【漏洞复现】通天星CMSV6 admin 弱口令漏洞(CVE-2024-29666)

0x01 产品简介 CMSV6平台是基于车辆位置信息服务和实时视频传输服务的创新技术和开放运营理念。为GPS运营商车辆硬件设备制造商、车队管理企业等车辆运营相关企业提供核心基础数据服务。 0x02 漏洞概述 CMSV6 7.31.0.2、7.32.0.3版本中存在弱密码漏洞,未授权的攻…

俄罗斯深陷芯片自主困境,良率仅5成 |百能云芯

俄罗斯的芯片产业一直以来都面临着诸多挑战,尤其是在当前的国际形势下,这些挑战更加凸显。随着俄乌冲突的爆发,西方国家对俄罗斯实施了一系列经济制裁,导致俄罗斯科技产业受到了严重影响。据了解,俄国最大的本土芯片厂…

GooglePlay无法下载应用问题

问题如下 解决方法 1、实际上是因为google尚未添加apk downloader扩展程序 2、添加该扩展程序后,在应用中搜索应用名即可 欧克!下载完成

KSD测试系统使用方法和注意事项

①下载链接在最顶部; ②安装方法:应该先将测试设备绑定在假人身上,测试设备不能过度往下拉,传感器绑在脖子上,切记最后才开传感器开关!!!开传感器后3秒内不要碰测试设备衣服&#x…

2024年电商圈大地震!腾讯带着视频号小店,杀进电商市场了!

大家好,我是电商糖果 今年的电商圈真的是热闹非凡,各个平台之间硝烟四起。 当几大平台打的火热的时候,腾讯却偷偷的推出了视频号小店,想要加入混战,吃到电商这盘大蛋糕。 可能大部分人都不知道什么是视频号小店&…

C++从入门到精通——函数重载

函数重载 前言一、函数重载概念二、函数重载的分类参数类型不同的函数重载参数个数不同的函数重载参数类型顺序不同的函数重载 三、函数重载的具体代码展示main.cpp 四、为什么为什么C支持函数重载,而C语言不支持函数重载呢 前言 函数重载是指在同一个作用域内&…

芯片测试介绍

一、芯片测试的目的 芯片测试的目的就两个: 1、确认芯片与产品手册上写的内容一致,就是看做出来的芯片跟设计的是不是一致的; 2、把芯片的边界条件测出来,就是看芯片有多耐操。 二、芯片测试分类 大家听到最多的测试可能就是…

数据结构课设-基于Python的校园导航系统(附源码)

一月份的数据结构课设完成后,我对Python的了解也更加深刻。现将课设报告及源码开源,不足之处希望大家指正。源码我放在博客主页的资源中,需要的话大家自行下载(用户信息保存在 users.json 文件中,地图信息保存在 campu…

如何缩短职场人与人之间的差距?答案或许就隐藏在一纸社科院与杜兰大学能源管理硕士学位之中

你是否曾惊叹于同事某某的飞速进步,短短两年内连升三级,如同职场上的彗星划破夜空?每当看到他们晋升的喜讯在群里传播,你的内心是否也曾涌起一股难以名状的涟漪?与你一同踏入公司的伙伴,如今已是经理级别&a…

微服务demo(二)nacos服务注册与集中配置

环境:nacos1.3.0 一、服务注册 1、pom: 移步spring官网https://spring.io,查看集成Nacos所需依赖 找到对应版本点击进入查看集成说明 然后再里面找到集成配置样例,这里只截一张,其他集成内容继续向下找 我的&#x…

没学数模电可以玩单片机吗?

我们首先来看一下数电模电在单片机中的应用。数电知识在单片机中主要解决各种数字信号的处理、运算,如数制转换、数据运算等。模电知识在单片机中主要解决各种模拟信号的处理问题,如采集光照强度、声音的分贝、温度等模拟信号。而数电、模电的相互转换就…

2024年 前端JavaScript 进阶 第1天 笔记

1.1-作用域和作用域链 1.2-JS垃圾回收机制以及算法 1.3-JS闭包 JS进阶-day1-154-JS闭包_哔哩哔哩_bilibili 1.4-变量和函数提升 1.5-函数剩余参数和展开运算符 运用场景: 1.6-ES6箭头函数的使用 1.7-数组解构 1.8-对象解构 最简写法: 1.9-forEach遍历数…

如何做好内容传播?关键在这里

内容为王的时代,好内容的价值不必多说,生产完内容后,还需要做得关键点是内容传播。内容传播是内容运营中的关键一环,只有让内容有效传播,才能使企业的资源不浪费。今天媒介盒子就来和大家聊聊:如何做好内容…

基于springboot大学生社团活动平台

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,网络管理工作的重要性已逐渐被人们所认识,科学化的管理,使信…

游戏推广的新篇章:Xinstall助力实现全渠道效果统计与提升

随着游戏市场的日益繁荣,游戏推广已成为各大游戏公司争夺市场份额的关键环节。然而,面对众多推广渠道和复杂的用户行为,如何精准地评估推广效果、优化投放策略,成为了游戏推广人员亟待解决的问题。此时,Xinstall作为一…

解决PATH变量污染的问题

文章目录 解决PATH变量污染的问题概述笔记清空PATH变量之后的系统设置在命令行查看清空后的PATH变量以 gitea-1.17.1-gogit-windows-4.0-amd64.exe 为例以系统命令 where为例run_vs2019.bat备注 - 批处理的后缀最好是batEND 解决PATH变量污染的问题 概述 随着不断安装新软件,…

【多线程系列】你先说说synchronized的实现原理

面试官:听说你精通多线程,那我就考考你吧 面试官:不用慌尽管说,错了也没关系😊。。。 以贴近现实的【面试官面试】形式来分享技术,本期是《多线程系列》,感兴趣就关注我吧❤️ 面试官&#xff1…

unity双层滑动实现

实现功能: 当滑动列表中内容处于顶端的时候,向上滑动优先滑动整个滑动列表,当滑动列表移动到设置位置,即设定的最高处时,继续移动列表内内容。向下移动亦然,当内容处于滑动列表顶端时,移动整个滑…

基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)

基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化) Hive介绍: Hive是建立在Hadoop之上的数据仓库基础架构,它提供了类似于SQL的语言&…