Java学习笔记(一)——概述

news2024/11/15 23:26:15

目录

一、Java概述

(一)Java技术体系平台

(二)Java重要特点

(三)Java运行机制及运行过程

(四)JDK

(五)JRE

二、Java的快速入门

(一)编译

(二)运行

三、Java开发注意事项和细节说明

四、Java转义字符

五、文档注释

​六、Java代码规范

 七、DOS命令

一、Java概述

(一)Java技术体系平台

1、Java SE(Java Standard Edition)标准版

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE。

2、Java EE(Java Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE。

3、Java ME(Java Micro Edition)小型版

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。

(二)Java重要特点

1、Java语言是面向对象的(oop)。

2、Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。

3、Java语言是跨平台性的(因为有Java虚拟机,JVM),即一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台。假如编写了一个test.java的文件,编译后生成的文件是test.class,这个文件既可以在windows上运行,又可以在linux上运行,不受平台的影响。

4、Java语言是解释型的。

解释型语言:javascript、PHP、java

编译型语言:C/C++

区别:解释型语言编译后的代码不能直接被机器执行, 需要解释器来执行;编译型语言编译后的代码可以直接被机器执行。

(三)Java运行机制及运行过程

Java核心机制——Java虚拟机(java virtual machine)

1、JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中。

2、对于不同的平台,有不同的虚拟机。

3、Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

(四)JDK

1、JDK(Java Development Kit,Java开发工具包)

JDR = JRE + java的开发工具(java,javac,javadoc,javap等)

2、JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。

(五)JRE

1、JRE(Java Runtime Environment,Java运行环境)

JRE = JVM + Java的核心类库

2、包括Java虚拟机(JVM,Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

二、Java的快速入门

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

(一)编译

 javac Hello.java

1、有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。

2、在源文件目录下,通过javac编译工具对Hello.java文件进行编译。

3、如果程序没有错误,没有任何提示,在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java的程序。

(二)运行

1、有了可执行的java程序(Hello.class字节码文件)

2、通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到JVM机执行。

注意:对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。

三、Java开发注意事项和细节说明

1、Java源文件以.java为扩展名。源文件的基本组成部分是类(class)。

2、Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String[] args) { ... }

3、Java语言严格区分大小写。

4、Java方法由一条条语句构成,每个语句以“;”结束。

5、大括号都是成对出现的,缺一不可。

6、一个源文件中最多只能有一个public类,其他类的个数不限(编译后,每一个类,都对应于一个.class)。

7、如果源文件包含一个public类,则文件名必须按该类名命名。

8、一个源文件中最多只能有一个public类,其他类的个数不限。也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法。

四、Java转义字符

Java常用的转义字符

1、\t :一个制表位,实现对齐的功能

2、\n:换行符

3、\\:一个\

4、\":一个"

5、\':一个'

6、\r:一个回车 System.out.println("小哈\r福建");

public class ChangeChar {

	public static void main(String[] args){
		// 制表符
		System.out.println("福建\t浙江\t广东");
		// 换行符
		System.out.println("Tom\nJack\nLinda");
		// 输出\
		System.out.println("E:\\360MoveData\\Users\\BLACK\\Desktop\\学习资料\\Java\\Java基础");
		// 输出"
		System.out.println("小鹿说:\"你很棒!\"");
		// 输出'
		System.out.println("小鹿说:\'你很棒!\'");
		// 一个回车
		System.out.println("小鹿是很\r棒的");
		System.out.println("小鹿是很\r\n棒的");
	}
}

练习:

public class ChangeCharExer01 {

	public static void main(String[] args){
		System.out.println("书名\t作者\t价格\t销量\n");
		System.out.println("三国\t罗贯中\t120\t1000");
	}
}

五、文档注释

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类。 

javadoc -d 文件夹名 -xx -yy Demo.java

/**
 * @author routine
 * @version 1.0
 */
public class JavadocComment {

	public static void main(String[] args){

	}
}

六、Java代码规范

1、类、方法的注释,要以javadoc的方式来写。

2、非Java Doc的注释(单行注释/多行注释),往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等。

3、使用tab操作,实现缩进,默认整体向右边移动,使用shift+tab整体向左移动。

4、运算符和=两边习惯性加一个空格。比如2 + 4 * 5 + 345 - 89

5、源文件使用utf-8编码

6、行宽度不要超过80字符

7、代码编写次行风格和行尾风格

 七、DOS命令

Dos:Disk Operating System磁盘操作系统

常用的dos命令:

1、查看当前目录有什么:dir

2、切换到其他盘下:cd

 

3、切换到当前盘的其他目录下:

4、切换到上一级:

5、切换到根目录:

 6、查看指定的目录下所有的子级目录(目录树):

7、清屏:cls

8、退出DOS:exist

9、其他指令:md(创建目录),rd(删除目录),copy(拷贝文件),del(删除文件),echo(输入内容到文件),type,move(剪切):

 

 

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

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

相关文章

掌握Python机器学习:空间模拟与时间预测的实战指南

了解全文点击:《掌握Python机器学习:空间模拟与时间预测的实战指南》 文章目录 一、机器学习原理与概述二、Python编译工具组合安装教程三、掌握Python语法及常见科学计算方法四、机器学习数据清洗五、机器学习与深度学习方法六、机器学习空间模拟实践操作七、机器…

6数据层相关框架-基本

MyBatis常见面试问题,以及和hibernate 的区别等_mybatis和hiberbate区别面试_my_styles的博客-CSDN博客*1、什么是MyBatis?*答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。*2、讲下MyBatis的缓存*答:MyBatis的…

实现即时沟通与协作的全功能IM即时通讯系统

在当今竞争激烈的商业环境中,高效的沟通和协作成为企业取得成功的关键。在过去,电子邮件和电话等传统工具是企业之间进行沟通和协作的重要手段,然而,随着科技的发展和社交化的趋势,IM即时通讯系统正逐渐成为企业协作的…

虹科方案 | 虹科ATTO 4K/8K以太网解决方案

一、方案背景 以太网为中小型媒体制作工作室提供经济高效的共享存储解决方案。尽管 10GbE 继续在 4K 工作流程中发挥重要作用,但 8K 等新格式需要额外的带宽。 为了使您的环境适应未来的新制作格式,需要一种更强大、低延迟的连接技术,一种足…

外卖点餐小程序源码 扫码点餐小程序源码

外卖点餐小程序源码 扫码点餐小程序源码 吃饭点外卖,坐车靠窗边,睡觉侧着身,洗澡要放歌,随时随地要自拍.......这些俨然早已成为我们当代新青年的真实生活写照。 近年来外卖行业蓬勃发展,外卖小哥走街串巷&#xff0…

FastAPI学习-26 并发 async / await

前言 有关路径操作函数的 async def 语法以及异步代码、并发和并行的一些背景知识 async 和 await 关键字 如果你正在使用第三方库,它们会告诉你使用 await 关键字来调用它们,就像这样: results await some_library()然后,通…

竞赛 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

JVM第三讲:JVM 基础-字节码的增强技术详解

JVM 基础-字节码的增强技术详解 本文是JVM第三讲,JVM 基础-字节码的增强技术。在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术…

CV计算机视觉每日开源代码Paper with code速览-2023.10.12

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【目标检测】A Novel Voronoi-based Convolutional Neura…

二叉树题目:二叉树寻路

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树寻路 出处:1104. 二叉树寻路 难度 5 级 题目描述 要求 在一个无限的二叉树上,每个结点都有两个子结点,结…

logicFlow 流程图编辑工具使用及开源地址

一、工具介绍 LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow 支持前端研发自定义开发各种逻辑编排场景,如流程图、ER 图、BPMN 流程等。在工作审批配置、机器人逻辑编排、无…

玩转Linux Shell Terminal Tmux

一、Shell编程☘️ 1. Shell指令快捷操作 1. echo # 系统指令 $ echo $(pwd) # 对于系统自带的pwd,此处不能写echo $pwd# 自定义变量 $ foo$(pwd) $ echo $foo # 不同于pwd,对于自定义的foo,不能用$(foo)2. !! # 假设你先执行了以下原本…

JOSEF约瑟 矿用一般型选择性漏电继电器 LXY2-660 Φ45 JKY1-660

系列型号: JY82A检漏继电器 JY82B检漏继电器 JY82-380/660检漏继电器 JY82-IV检漏继电器 JY82-2P检漏继电器 JY82-2/3检漏继电器 JJKY检漏继电器 JD型检漏继电器 JY82-IV;JY82J JY82-II;JY82-III JY82-1P;JY82-2PA;JY82-2PB JJB-380;JJB-380/660 JD-12…

Generics/泛型, ViewBuilder/视图构造器 的使用

1. Generics 泛型的定义及使用 1.1 创建使用泛型的实例 GenericsBootcamp.swift import SwiftUIstruct StringModel {let info: String?func removeInfo() -> StringModel{StringModel(info: nil)} }struct BoolModel {let info: Bool?func removeInfo() -> BoolModel…

解析Moonbeam的安全性、互操作性和市场竞争力

Moonbeam依托Polkadot Substrate框架构建,用Rust程序设计语言创建的智能合约区块链平台,在继承Polkadot安全性的基础上为项目提供以太坊虚拟机(EVM)的兼容性和原生的跨链互操作性优势。Moonbeam的EVM兼容性表示开发者无需学习Subs…

LeetCode-102-二叉树的层序遍历

题目描述: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 题目链接:LeetCode-102-二叉树的层序遍历 解题思路: 使用队列 先进先出的特点存储每次遍…

spring 通过有参构造方法注入

1.先写一个有参构造方法 2.给构造方法里面的属性 name 赋值 lisi 3.测试

[ROS2系列] ubuntu 20.04测试rtabmap 3D建图(二)

接上文我们继续 如果我们要在仿真环境中进行测试&#xff0c;需要将摄像头配置成功。 一、配置位置 sudo vim /opt/ros/foxy/share/turtlebot3_gazebo/models/turtlebot3_waffle/model.sdf 二、修改 <joint name"camera_rgb_optical_joint" type"fixed&…

【数据库】Sql Server数据迁移,处理自增字段赋值

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 在实际项目开发中&#xff0c;如果遇到高版本导入到低版本&#xff0c;或者低版本转高版本&#xff0c;那么就会出现版本不兼容无法导入&#xff0c;此时通过程序遍历创建表和添加数据方式…

CRMEB多商户商城系统阿里云集群部署教程

注意: 1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区 2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示 一、 创建容器镜像服务&#xff0c;容器镜像服务(aliyun.com) ,个人版本就可以 先创建一个命名空间 然后创建一个镜像仓库 查看并记录镜像公网地址…