四、Java 概念知识简单了解

news2024/10/10 12:38:00

一、Java 的类、对象、方法和实例变量

  • 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
  • 对象:对象是类的一个实例,有状态(实例变量)和行为(方法)。例如:一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • :类是一个模板,或者大家可以理解为这是一个集合,它描述了一类对象的行为和状态。例如:狗是一个类,一只拉布拉多是一个对象,一只金毛是另一个对象,但它俩同属于一类。
  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是再方法中完成的。
  • 实例变量每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

二、第一个 Java 程序

  • 接下来我们开始编写第一个程序

1、新建项目

  • 打开 IDEA
  • 首先我们新建一个项目,然后储存到自己想要储存的地方(建议在除C盘之外新建一个文件夹,专门储存以后学习时用到的代码)
    在这里插入图片描述
    在这里插入图片描述
  • 新建项目之后,页面是这样的,我们在这里可以直接把它给的Main删掉
    在这里插入图片描述

2、新建包

  • 新建一个包
    在这里插入图片描述

3、新建类

  • 包名如下所示,当然大家可以自己起名字,主要以后我们方便管理,然后再在包中建一个 Java 类
    在这里插入图片描述

4、开始编写代码

  • 这样我们就建成了一个类,接下来我们开始编写第一个代码
    在这里插入图片描述
  • 第一个代码如下
public class HelloWorld {
    /* 第一个Java程序
     * 它将输出字符串 Hello World
     */
    public static void main(String[] args) {
        System.out.println("Hello World"); // 输出 Hello World
    }
}
  • 结果如下,左下角输出 Hello World ,这样我们就完成了第一个代码
    在这里插入图片描述
  • Java 程序的主方法(main 方法)。在 Java 中,main 方法是程序的入口点,也就是说,当你运行一个 Java 程序时,程序的执行从这个方法开始,下图对此进行简单讲解:
    在这里插入图片描述

三、基本语法

  • 编写 Java 程序时,应注意以下几点:
  • 1、大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 2、类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 3、方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 4、源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 5、主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

四、Java 标识符

  • Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
  • 关于 Java 标识符,有以下几点需要注意:

所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
关键字不能用作标识符
标识符是大小写敏感的
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary


五、Java 修饰符

  • 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, static, synchronized
  • 在后面的章节中我们会深入讨论 Java 修饰符。
  • Java 修饰符我们在后面会详细讲解

六、Java 变量

  • Java 中主要有如下几种类型的变量
  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

七、Java 数组

  • 数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何声明、构造以及初始化一个数组。

八、Java 枚举

  • Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。
  • 例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
  • 注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

九、Java 关键字

  • 下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别关键字说明
访问控制private私有的
protected受保护的
public公共的
default默认的
类、方法和变量修饰符abstract声明抽象
class
extends扩充、继承
final最终值、不可改变的
implements实现(接口)
interface接口
native本地、原生方法(非Java实现)
new创建
static静态
strictfp严格浮点、精准浮点
synchronized线程、同步
transient短暂
volatile易失
程序控制语句break跳出循环
case定义一个值以供 switch 选择
continue继续
do运行
else否则
for循环
if如果
instanceof实例
return返回
switch根据值选择执行
while循环
错误处理assert断言表达式是否为真
catch捕捉异常
finally有没有异常都执行
throw抛出一个异常对象
throws声明一个异常可能被抛出
try捕获异常
包相关import引入
package
基本类型boolean布尔型
byte字节型
char字符型
double双精度浮点
float单精度浮点
int整形
long长整型
short短整型
变量引用super父类、超类
this本类
void无返回值
保留关键字goto是关键字,但不能使用
const是关键字,但不能使用
- 这里给大家写一下上面这个表格的 HTML 嗷,因为我自己也是学了一下用 Markdown 写表格,如果大家也有需要的话可以简单看看
<table>
    <!-- 标题 -->
	<tr>
        <th>类别</th><th>关键字</th><th>说明</th>
    </tr>
    <!-- 访问控制 -->
    <tr>
        <td style="text-align:center" rowspan="4">访问控制</td>
        <td style="text-align:center">private</td>
        <td style="text-align:center">私有的</td>
	</tr>
    <tr>
        <td style="text-align:center">protected</td>
        <td style="text-align:center">受保护的</td>
    </tr>
    <tr>
        <td style="text-align:center">public</td>
        <td style="text-align:center">公共的</td>
    </tr>
    <tr>
        <td style="text-align:center">default</td>
        <td style="text-align:center">默认的</td>
    </tr>
    <!-- 类、方法和变量修饰符 -->
    <tr>
        <td style="text-align:center" rowspan="13">类、方法和变量修饰符</td>
        <td style="text-align:center">abstract</td>
        <td style="text-align:center">声明抽象</td>
	</tr>
    <tr>
        <td style="text-align:center">class</td>
        <td style="text-align:center"></td>
    </tr>
    <tr>
        <td style="text-align:center">extends</td>
        <td style="text-align:center">扩充、继承</td>
    </tr>
    <tr>
        <td style="text-align:center">final</td>
        <td style="text-align:center">最终值、不可改变的</td>
    </tr>
    <tr>
        <td style="text-align:center">implements</td>
        <td style="text-align:center">实现(接口)</td>
    </tr>
    <tr>
        <td style="text-align:center">interface</td>
        <td style="text-align:center">接口</td>
    </tr>
    <tr>
        <td style="text-align:center">native</td>
        <td style="text-align:center">本地、原生方法(非Java实现)</td>
    </tr>
    <tr>
        <td style="text-align:center">new</td>
        <td style="text-align:center">创建</td>
    </tr>
    <tr>
        <td style="text-align:center">static</td>
        <td style="text-align:center">静态</td>
    </tr>
    <tr>
        <td style="text-align:center">strictfp</td>
        <td style="text-align:center">严格浮点、精准浮点</td>
    </tr>
    <tr>
        <td style="text-align:center">synchronized</td>
        <td style="text-align:center">线程、同步</td>
    </tr>
    <tr>
        <td style="text-align:center">transient</td>
        <td style="text-align:center">短暂</td>
    </tr>
    <tr>
        <td style="text-align:center">volatile</td>
        <td style="text-align:center">易失</td>
    </tr>
    <!-- 程序控制语句 -->
    <tr>
        <td style="text-align:center" rowspan="11">程序控制语句</td>
        <td style="text-align:center">break</td>
        <td style="text-align:center">跳出循环</td>
	</tr>
    <tr>
        <td style="text-align:center">case</td>
        <td style="text-align:center">定义一个值以供 switch 选择</td>
    </tr>
    <tr>
        <td style="text-align:center">continue</td>
        <td style="text-align:center">继续</td>
    </tr>
    <tr>
        <td style="text-align:center">do</td>
        <td style="text-align:center">运行</td>
    </tr>
    <tr>
        <td style="text-align:center">else</td>
        <td style="text-align:center">否则</td>
    </tr>
    <tr>
        <td style="text-align:center">for</td>
        <td style="text-align:center">循环</td>
    </tr>
    <tr>
        <td style="text-align:center">if</td>
        <td style="text-align:center">如果</td>
    </tr>
    <tr>
        <td style="text-align:center">instanceof</td>
        <td style="text-align:center">实例</td>
    </tr>
    <tr>
        <td style="text-align:center">return</td>
        <td style="text-align:center">返回</td>
    </tr>
    <tr>
        <td style="text-align:center">switch</td>
        <td style="text-align:center">根据值选择执行</td>
    </tr>
    <tr>
        <td style="text-align:center">while</td>
        <td style="text-align:center">循环</td>
    </tr>
    <!-- 错误处理 -->
    <tr>
        <td style="text-align:center" rowspan="6">错误处理</td>
        <td style="text-align:center">assert</td>
        <td style="text-align:center">断言表达式是否为真</td>
	</tr>
    <tr>
        <td style="text-align:center">catch</td>
        <td style="text-align:center">捕捉异常</td>
    </tr>
    <tr>
        <td style="text-align:center">finally</td>
        <td style="text-align:center">有没有异常都执行</td>
    </tr>
    <tr>
        <td style="text-align:center">throw</td>
        <td style="text-align:center">抛出一个异常对象</td>
    </tr>
    <tr>
        <td style="text-align:center">throws</td>
        <td style="text-align:center">声明一个异常可能被抛出</td>
    </tr>
    <tr>
        <td style="text-align:center">try</td>
        <td style="text-align:center">捕获异常</td>
    </tr>
    <!-- 包相关 -->
    <tr>
        <td style="text-align:center" rowspan="2">包相关</td>
        <td style="text-align:center">import</td>
        <td style="text-align:center">引入</td>
	</tr>
    <tr>
        <td style="text-align:center">package</td>
        <td style="text-align:center"></td>
    </tr>
    <!-- 基本类型 -->
    <tr>
        <td style="text-align:center" rowspan="8">基本类型</td>
        <td style="text-align:center">boolean</td>
        <td style="text-align:center">布尔型</td>
	</tr>
    <tr>
        <td style="text-align:center">byte</td>
        <td style="text-align:center">字节型</td>
    </tr>
    <tr>
        <td style="text-align:center">char</td>
        <td style="text-align:center">字符型</td>
    </tr>
    <tr>
        <td style="text-align:center">double</td>
        <td style="text-align:center">双精度浮点</td>
    </tr>
    <tr>
        <td style="text-align:center">float</td>
        <td style="text-align:center">单精度浮点</td>
    </tr>
    <tr>
        <td style="text-align:center">int</td>
        <td style="text-align:center">整形</td>
    </tr>
    <tr>
        <td style="text-align:center">long</td>
        <td style="text-align:center">长整型</td>
    </tr>
    <tr>
        <td style="text-align:center">short</td>
        <td style="text-align:center">短整型</td>
    </tr>
    <!-- 变量引用 -->
    <tr>
        <td style="text-align:center" rowspan="3">变量引用</td>
        <td style="text-align:center">super</td>
        <td style="text-align:center">父类、超类</td>
	</tr>
    <tr>
        <td style="text-align:center">this</td>
        <td style="text-align:center">本类</td>
    </tr>
    <tr>
        <td style="text-align:center">void</td>
        <td style="text-align:center">无返回值</td>
    </tr>
    <!-- 保留关键字 -->
    <tr>
        <td style="text-align:center" rowspan="2">保留关键字</td>
        <td style="text-align:center">goto</td>
        <td style="text-align:center">是关键字,但不能实用</td>
	</tr>
    <tr>
        <td style="text-align:center">const</td>
        <td style="text-align:center">是关键字,但不能实用</td>
    </tr>
</table>
  • 注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。

十、Java 注释

  • 类似于 C/C++、Java 也支持单行以及多行注释。
  • 注释中的字符将被 Java 编译器忽略。

十一、Java 空行

  • 空白行或者有注释的行,Java 编译器都会忽略掉。

十二、继承

  • 在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
  • 利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。

十三、接口

  • 在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
  • 接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

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

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

相关文章

嵌入式面试——FreeRTOS篇(三) 消息队列和队列集

本篇为&#xff1a;消息队列和队列集篇 消息队列 1、FreeRTOS中的消息队列是什么 答&#xff1a; 消息队列是任务到任务、任务到中断、中断到任务数据交流的一种机制(消息传递)。 2、消息队列和全局变量的区别 答&#xff1a; 消息队列作用有点类似于全局变量&#xff0c;但消…

简单的网络爬虫爬取视频

示例代码爬取一个周杰伦相关视频 import requests# 自己想下载的视频链接 video_url https://vdept3.bdstatic.com/mda-qg8cnf4bw5x6bjs5/cae_h264/1720516251158906693/mda-qg8cnf4bw5x6bjs5.mp4?v_from_shkapp-haokan-hbf&auth_key1728497433-0-0-4a32e13f751e04754e4…

谷歌上架,应用明明没问题,咋就成了“恶意软件”?看看可能的原因

作为Google Play上架应用的开发者&#xff0c;大家的普遍感受&#xff1a;比起写代码&#xff0c;上架的过程简直更让人心力交瘁&#xff01;特别是涉及用户数据和隐私保护的时候&#xff0c;稍有疏忽&#xff0c;就可能面临应用被下架、甚至账号被封的风险。 最近听到很多开发…

6.存储过程中的游标使用(6/10)

存储过程中的游标使用 引言 在数据库编程中&#xff0c;游标&#xff08;Cursor&#xff09;是一种重要的数据库对象&#xff0c;它允许开发者逐行处理查询结果集。这对于需要对每一行数据进行特定处理的场景非常有用&#xff0c;如数据转换、数据清洗、复杂计算等。本文将详…

Qt 与 GTK:跨平台 GUI 开发利器,可用Python助力高效GUI编程

在现代软件开发中&#xff0c;图形用户界面 (GUI) 至关重要&#xff0c;它直接影响用户体验和软件的易用性。Qt 和 GTK 作为两种主流的跨平台 GUI 库&#xff0c;为开发者提供了构建精美且功能强大的应用程序的强大工具。本文将深入介绍 Qt 和 GTK 的特性&#xff0c;并探讨如何…

SwiftUI 6.0(iOS 18)新增的网格渐变色 MeshGradient 解惑

概述 在 SwiftUI 中&#xff0c;我们可以借助渐变色&#xff08;Gradient&#xff09;来实现更加灵动多彩的着色效果。从 SwiftUI 6.0 开始&#xff0c;苹果增加了全新的网格渐变色让我们对其有了更自由的定制度。 因为 gif 格式图片自身的显示能力有限&#xff0c;所以上面的…

springboot网站开发-mysql数据库字段varchar类型存储汉字的长度关系

springboot网站开发-mysql数据库字段varchar类型存储汉字的长度关系&#xff01; 如果你的数据表是utf-8编码&#xff0c;并且采用的是mysql数据库。设计自己的业务数据。那么&#xff0c;如果你采用是varchar类型的字段格式&#xff0c;一个汉字就是一个字节。 如图所示&#…

zookeeper API使用——znode的CRUD

这应该是目录 一、创建连接1.1构造函数1.2创建连接(封装) 二、节点操作2.1创建节点create语法代码 2.2获取节点数据getData语法代码 2.3获取子节点getChildren语法代码 2.4修改节点的值setData语法代码 2.5删除delete语法代码 以下的代码只能作为基础的语法使用&#xff0c;为了…

带隙基准Bandgap电路学习(二)

一、高低温性能测试 设置仿真环境温度为-40℃ &#xff0c;观察电路管子工作状态是否正确 环路相位裕度为53.1853 输出噪声曲线&#xff1a; 电源抑制PSR曲线&#xff1a; 设置仿真环境温度为85℃ &#xff0c;观察电路管子工作状态是否正确 环路相位裕度为53.7297 输出噪…

Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍

距离上次发布的23H2版本已经过去了一年时间&#xff0c;现在&#xff0c;Win 11的24H2版本终于等到了&#xff0c;微软已经全面公开发布Win11 24H2版本&#xff0c;版本号为26100.1742&#xff0c;此次官宣的版本包括了消费者版、商业版、LTSC 2024版等&#xff0c;各种语言版本…

旅游景区小程序|提供多元化服务,打造一站式旅游体验

今年国庆黄金周&#xff0c;各地精心筹备&#xff0c;打造了丰富多彩的文化旅游盛宴&#xff0c;吸引了来自四面八方的游客。凭借各地的自然风光、丰富的人文景观以及精彩纷呈的旅游活动&#xff0c;吸引众多游客。此次国庆旅游市场的火爆&#xff0c;不仅为当地带来了可观的经…

C语言预处理详解(上)(30)

文章目录 前言一、预定义符号二、#define定义标识符三、#define定义宏四、#define的替换规则五、带有副作用的宏六、宏和函数的对比七、#undef的作用八、# 和#的作用##的作用 总结 前言 C语言的入门学习差不多要到尾声了&#xff0c;感觉如何呢~   前文说编译的第一步就是预编…

ax1.twinx()函数介绍

目录 ax1.twinx()实战 ax1.twinx() ax1.twinx() 是 Matplotlib 中用于创建共享 x 轴的双 y 轴的函数。在 Matplotlib 中&#xff0c;当我们希望在同一图中显示不同的数据集&#xff0c;但它们具有相同的 x 轴数据时&#xff0c;可以使用 twinx() 函数创建一个新的坐标轴&#…

(五)、CT球管

第一代和第二代扫描仪使用固定阳极、油冷的X射线管&#xff0c;但由于对输出功率增加的需求&#xff0c;旋转阴极X射线管在CT中变得普遍。 传统固定阳极CT管&#xff0c;当阴极钨丝通过足够的电流时&#xff0c;使其产生白热现象时电子会从钨的表面逸出形成电子云&#xff0c;通…

Lazada菲律宾本土店选品怎么操作?EasyBoss ERP选品功能来帮你!

由于Lazada本土店在流量、履约速度、类目限制以及回款速度方面的优势&#xff0c;越来越多的Lazada卖家都在考虑转型做本土店&#xff0c;但本土化落地并不是一件容易的事&#xff0c;很多卖家在选品阶段就踩大坑了。 因此&#xff0c;为了选品不踩坑&#xff0c;很多卖家都会…

阿里云物联网自有app创建之初始化SDK

文章目录 一、新建工程&#xff0c;配置gradle,导入.so文件&#xff0c;生成apk二、上传apk&#xff0c;集成安全图片&#xff0c;下载SDK三、SDK的集成四、初始化SDK 最近在研究阿里云自有app,这是自己的心得。 一、新建工程&#xff0c;配置gradle,导入.so文件&#xff0c;生…

【论文阅读】超分辨率图像重建算法综述

0. 摘要 研究背景和意义 在人类视觉感知系统中&#xff0c;高分辨率&#xff08;HR&#xff09;图像对于清晰表达空间结构、细节特征、边缘纹理等信息至关重要&#xff0c;在医学、刑侦、卫星等多个领域具有广泛实用价值。超分辨率图像重建&#xff08;SRIR&#xff09;旨在从低…

MQTT vs HTTP:谁更适合物联网?

前言 随着物联网&#xff08;IoT&#xff09;技术的飞速发展中&#xff0c;其应用规模和使用场景正在持续扩大&#xff0c;但它关键的流程仍然是围绕数据传输来进行的&#xff0c;因此设备通信协议选择至关重要。 作为两种主要的通信协议&#xff0c;MQTT 协议和 HTTP 协议各…

AI提示工程:掌握高效Prompt设计的终极指南

导读 提示工程&#xff08;Prompt Engineering&#xff09;是一门新兴的学科&#xff0c;专注于提示词的开发和优化&#xff0c;旨在帮助用户在各种场景和研究领域中更好地利用大语言模型&#xff08;Large Language Model, LLM&#xff09;。掌握相关的提示工程技能将有助于用…

想提升发明专利审查速度有哪些快捷方法?

在创新驱动的时代&#xff0c;发明专利的审查速度对于企业和发明者来说至关重要。了解发明专利的审查程序以及掌握加快审查的快捷途径&#xff0c;能够帮助申请人更快地获得专利授权&#xff0c;保护其创新成果。 一、目前发明专利的审查程序 1. 申请提交&#xff1a;申请人需…