Java学习 (一) 环境安装及入门程序

news2024/11/19 1:33:21

一、安装java环境

1、获取软件包

https://www.oracle.com/java/technologies/downloads/

.exe 文件一路装过去就行,最好别装c盘 ,我这里演示的时候是云主机只有C盘

2、配置环境变量

我的电脑--右键属性--高级系统设置--环境变量

 

在环境变量中添加如下配置

打开path  添加

%JAVA_HOME%\bin\

 

 我们在装java 17版本的时候会默认带一条C:\Program Files\Common Files\Oracle\Java\javapath的环境变量,但是当我们环境中存在不只一个版本的时候,这样使用不太方便,所以我们把我们添加的指定版本的指定版本置顶,这样后续装多个版本的时候,通过修改JAVA_HOME变量,来修改我们环境版本即可

3、检查版本

ctrl + r    输入 CMD

C:\Users\Administrator>java -version

返回

java version "17.0.11" 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)

二、运行第一个程序

1、java程序开发过程

2、编写代码

idea先建一个项目

vi Main.java

class HelloChina{

}

java程序是通过定义类名  class  + 名称来声明的

我们定义类后,会在java文件中显示出你定义的类名称是什么

3、编译代码

#切换到代码目录
cd C:\javacode\test1\src\   


#通过javac编译源文件
javac Main.java

编译完后,会在代码文件旁边生成字节码文件.class

4、运行程序

java HelloChina

返回

PS C:\javacode\test1\src> java HelloChina
错误: 在类 HelloChina 中找不到 main 方法, 请将 main 方法定义为:
   public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application

根据返回的信息,我们可以知道,我们定义的类中缺少main方法,main方法相当于我们程序的主入口,如果说我们编写  程序的时候相当于在造房子,那么main就是这所房子的大门

三、编写main方法

1、新增main方法

vi Main.java

class HelloChina{
    public static void main(String[] args){
        
    }
}

编译运行

 javac Main.java
 java HelloChina

发现不报错了,但是也什么也没发生 ,我们希望他能给我们一些反馈的信息

2、添加打印文本

vi Main.java

class HelloChina{
    public static void main(String[] args){
        System.out.println("helloworld");
    }
}

我这里是idea去编写的,直接运行就行,不用每次都重新编译

注意

java程序严格区分大小写

同一个java源文件是支持声明多个class的

针对字节码文件对应的java类进行解释运行,要注意区分大小写

四、代码注释

单行注释 
//

多行注释
/*

*/

文档注释
/**
  @author
  @

*/

案例1   单行与多行注释

class HelloChina{
    public static void main(String[] args){
        System.out.println("helloworld中国");
    }
}

public class Main {
    public static void main(String[] args){
        //我是单行注释
        /*
        我是多行注释
         */


        System.out.println("helloworld中国2");}
}

案例2  文档注释

如果我们想要用javadoc命令,那么需要将我们的类名声明为public
public class Main {

如果我们想要将类名前面添加public,那么类名的名称必须和文件名一致

class HelloChina{
    public static void main(String[] args){
        System.out.println("helloworld中国");
    }
}

public class Main {
    public static void main(String[] args){
        /**
         这是main()方法 格式是固定的(文档注释)
         */


        System.out.println("helloworld中国2");}
}

生成文档注释页面
javadoc -d mydoc -author -version Main.java

返回

PS C:\javacode\test1\src> javadoc -d mydoc -author -version Main.java
正在加载源文件Main.java... 
正在构造 Javadoc 信息... 
正在创建目标目录: "mydoc\" 
正在构建所有程序包和类的索引... 
标准 Doclet 版本 17.0.11+7-LTS-207 
正在构建所有程序包和类的树... 
正在生成mydoc\Main.html... 
Main.java:7: 警告: 没有注释 
public class Main { 
       ^
Main.java:8: 警告: 没有注释 
    public static void main(String[] args){ 
                       ^
正在生成mydoc\package-summary.html... 
正在生成mydoc\package-tree.html...
正在生成mydoc\overview-tree.html...
正在构建所有类的索引...
正在生成mydoc\allclasses-index.html...
正在生成mydoc\allpackages-index.html...
正在生成mydoc\index-all.html...
正在生成mydoc\index.html...
正在生成mydoc\help-doc.html...
2 个警告

五、java api文档

api   是java提供的基本编程接口

java提供了大量的文档,字典,什么功能找什么api

六、面试题

1、一个.java源文件是否可以包括多个类? 有什么限制

可以有多个类,但是只能有一个public类,类名必须和文件名一致

2、java的优势

跨平台 
面向对象
java的社区及其繁荣

3、如何看待java是一门半编译,半解释语言

生成字节码文件,用java文件   因为他可能是直接通过解释器逐行解释或者通过jit编译器解释的,所以

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

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

相关文章

有路网整体布局

有路网地址 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>.…

昇思25天学习打卡营第1天 | 快速入门

内容介绍&#xff1a;通过MindSpore的API来快速实现一个简单的深度学习模型。 具体内容&#xff1a; 1. 导包 import mindspore from mindspore import nn from mindspore.dataset import vision, transforms from mindspore.dataset import MnistDataset 2. 处理数据 fro…

Gobject tutorial 六

Instantiatable classed types Initialization and destruction 类型的实例化是通过函数g_tpye_create_instance()实现的。这个函数首先会查找与类型相关的GTypeInfo结构体&#xff0c;之后&#xff0c;查询结构体中的instance_size和 instance policy即 n_preallocs(在 2.10版…

Nuxt3页面开发实战探索

title: Nuxt3页面开发实战探索 date: 2024/6/19 updated: 2024/6/19 author: cmdragon excerpt: 摘要&#xff1a;这篇文章是关于Nuxt3页面开发实战探索的。它介绍了Nuxt3的基础入门&#xff0c;安装与配置&#xff0c;项目结构&#xff0c;内置组件与功能&#xff0c;以及页…

持续集成jenkins+gitee

首先要完成gitee部署&#xff0c;详见自动化测试git的使用-CSDN博客 接下来讲如何从git上自动拉取代码&#xff0c;实现jenkins无人值守&#xff0c;定时执行测试&#xff0c;生成测试报告。 需要这三个安装包 由于目前的jenkins需要至少java11到java17的版本&#xff0c;所以…

深度解析消费者最关心的车联网核心问题

随着科技的迅猛发展&#xff0c;车联网&#xff08;V2X&#xff09;或智能网联汽车成为了提供车辆非视距信息的独特解决方案。它们是传感器技术的关键补充&#xff0c;通过车联网&#xff08;V2X&#xff09;&#xff0c;交通工具可以与其他车辆或基础设施进行信息交流。车联网…

upload-labs第十三关教程

upload-labs第十三关教程 第十三关一、源代码分析代码审计 二、绕过分析1&#xff09;0x00绕过a.上传eval.pngb.使用burpsuite进行拦截修改之前&#xff1a;修改之后&#xff1a;进入hex模块&#xff1a; c.放包上传成功&#xff1a; d.使用中国蚁剑进行连接 2&#xff09;%00绕…

Java 打包编译、运行报错

无法访问com.sun.beans.introspect.PropertyInfo-CSDN博客 [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/service/DataTracerChangeCon…

若依框架自定义开发使用学习笔记(1)

因为我是跳着学的&#xff0c;原理那些都没咋看。 代码自动生成&#xff0c;依赖sql表 在ruoyi数据库中&#xff0c;创建你想要的表&#xff0c;这里我创建了个购物车表&#xff0c;由于空间有限&#xff0c;只能拍到这么多。 然后就可以在前端自动生成代码 点击导入按钮 …

华为---- RIP路由协议基本配置

08、RIP 8.1 RIP路由协议基本配置 8.1.1 原理概述 RIP(Routing Information Protocol,路由协议)作为最早的距离矢量IP路由协议&#xff0c;也是最先得到广泛使用的一种路由协议&#xff0c;采用了Bellman-Ford算法&#xff0c;其最大的特点就是配置简单。 RIP协议要求网络中…

如何学习 Java 中的 Socket 编程,进行网络通信

Socket编程是网络编程的核心技术之一&#xff0c;它使得不同主机之间可以进行数据通信。Java提供了丰富的网络编程API&#xff0c;使得编写网络应用程序变得相对简单和直观。本文将详细讲解如何学习Java中的Socket编程&#xff0c;并通过示例代码展示如何实现网络通信。 一、S…

特征标注——OpenCV

特征标注 导入必要的库创建窗口显示原始图片和标注后的图片存储用户选择的图片路径字体样式和大小定义了select_image函数定义了annotate_landmarks()函数设置按钮调整图片标签的位置设置图片位置主事件循环运行显示&#xff1a;全部代码 导入必要的库 import tkinter as tk: 导…

细说MCU输出互补型PWM波形时设置死区时间的作用

目录 一、工程背景 二、死区时间的作用 一、工程背景 在作者的文章里建立工程时&#xff0c;为配置输出互补型PWM波形曾经设置了死区时间&#xff0c;DEAD100个定时器的时间周期&#xff08;简称实例1&#xff09;&#xff1a;细说MCU输出互补型PWM波形的实现方法-CSDN博客 …

【Python教程】如何搭建一个高效的Python开发环境?结尾附安装包直通车

前言&#xff1a; Python 丰富的函数库和组件库是这门语言强大的核心原因&#xff01;但我们不可能去记忆所有的方法名和参数名&#xff0c;往往只能记住一些常用的或者某个方法开头的几个字母。这个时候一个好的开发工具就需要能聪明地“猜”出你想输入的代码&#xff0c;并给…

数据结构基础(基于c++)

数据结构基础&#xff08;基于c&#xff09; 文章目录 数据结构基础&#xff08;基于c&#xff09;前言1. 递归、迭代、时间复杂度、空间复杂度2. 数据结构 数组与链表1. 数组2. 链表3. 动态数组4. 数组与链表对比 前言 参考资料&#xff1a;Hello 算法 (hello-algo.com) 1. 递…

20240619每日小程序-------朋友想开发微信小程序,那就搞一把demo

下载开发工具 hbuildX 微信开发者工具 随便搞个开源项目 会员小程序 下载后导入到hbuildX 安装依赖 npm i 安装hbuildX插件 工具—》插件安装 推荐安装&#xff1a; 微信小程序一键打包插件sass编译 启动 选择5.用微信开发者工具启动 报错不要怕 比如&#xff1a…

【车载开发系列】IIC总线协议时序图

【车载开发系列】IIC总线协议时序图 【车载开发系列】IIC总线协议时序图 【车载开发系列】IIC总线协议时序图一、前言二、IIC硬件软件实现1&#xff09;使用I2C控制器实现2&#xff09;使用GPIO通过软件模拟实现 三、I2C协议标准代码1&#xff09;起始信号2&#xff09;停止信号…

判断对称二叉树/判断相同的数-二叉树

都利用递归&#xff0c;思路相似&#xff1b; 对称二叉树就是两个相同的二叉树&#xff0c;但是子节点是right left因为对称&#xff1b; 101. 对称二叉树 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool isSymmetric(TreeNode* root) {TreeNode* rt…

【C语言】解决C语言报错:Null Pointer Dereference

文章目录 简介什么是Null Pointer DereferenceNull Pointer Dereference的常见原因如何检测和调试Null Pointer Dereference解决Null Pointer Dereference的最佳实践详细实例解析示例1&#xff1a;未初始化的指针示例2&#xff1a;释放内存后未将指针置为NULL示例3&#xff1a;…

市值飙升!超微软、苹果,英伟达成为全球市值最高上市公司

KlipC报道&#xff1a;当地时间6月18日&#xff0c;英伟达股价再度大涨&#xff0c;盘后股价上涨3.51%&#xff0c;总市值达3.335万亿美元&#xff0c;报135.58美元再刷历史新高&#xff0c;超微软、苹果成为全球市值最高的上市公司。 值得一提的是&#xff0c;在本月初&#x…