java学习简记录(四)

2023-05-16

java学习简记录(四)

Java 程序是一系列对象的集合,这些对象通过调用彼此的方法来协同工作。
对象:对象是类的一个实例,有状态和行为。
:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量 :每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
cmd执行程序
保存、编译以及运行程序:
1.打开代码编辑器,编写代码;
2.把文件名保存为:HelloWorld.java;
3.打开 cmd 命令窗口,进入目标文件所在的位置,假设是 C:
4.在命令行窗口输入 javac HelloWorld.java 按下回车键编译代码。如果代码没有错误,cmd 命令提示符会进入下一行(假设环境变量都设置好了)。
5.再键输入 java HelloWorld 按下回车键就可以运行程序了

基本语法

大小写敏感:Hello 与 hello 是不同的。
类名:类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写(大驼峰)。
方法名:以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写(小驼峰)。
源文件名:源文件名必须与类同名。文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行。

Java 标识符

所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
1.以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始,不能以数字开头(规则一

2.首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合

3.关键字不能用作标识符(规则二

4.标识符是大小写敏感

合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary

(1) 标识符要符合语义信息(见名知意)。
(2) 包名小写。
(3) 类名(大驼峰)
(4) 变量和方法(小驼峰)
(5) 常量:(大写)每个单词之间用 _ 连接。
一、命名规范
1、 项目名全部小写
2、 包名全部小写
3、 类名(大驼峰)
4、 变量名、方法名(小驼峰)
5、 常量名大写
6、所有命名规则必须遵循以下规则:
1)、名称只能由字母、数字、下划线、$符号组成 ,不能以数字开头
2)、名称不能使用JAVA中的关键字。
3)、坚决不允许出现中文及拼音命名。

{}{}{}{}{}{}{}{}{}
package的命名(小写)
class和interface的命名(大驼峰)
class变量的命名(小驼峰)
class 方法的命名(小驼峰)
staticfinal变量的命名(大写)
参数的命名: (小驼峰)
数组的命名:byte[] buffer。
{}{}{}{}{}{}{}{}{}
常用的转义字符:
“\b” (退格)
“\f” (换页)
“\n” (换行)
“\r” (回车)
“\t” (水平制表符(到下一个tab位置))
"’ " (单引号)
“” " (双引号)
“\” (反斜杠)

Java修饰符

修饰符来修饰类中方法和属性。主要有两类修饰符:
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, static, synchronized

Java 变量

局部变量
类变量(静态变量
成员变量(非静态变量)

Java 数组

储存在堆上的对象,可以保存多个同类型变量。

Java 枚举

枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。
在这里插入图片描述
在这里插入图片描述
枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

Java 关键字

关键字:都是小写的
不能用于常量、变量、和任何标识符的名称。
访问控制
private 私有的
protected 受保护的
public 公共的

类、方法和变量修饰符
abstract 声明抽象
class 类
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口

native 本地,原生方法(非 Java 实现)
new 新,创建
static 静态

strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失

程序控制语句
break 跳出循环
case 定义一个值以供 switch 选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环

错误处理
assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常

包相关
import 引入
package 包

基本类型
boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型

{

Java的八种基本类型:(按字节来分)
boolean 布尔型 1个字节 8bit(8位)
byte 字节类型 1个字节
char 字符类型 2个字节
short 短整型 2个字节
int 整型 4个字节
float 浮点型(单精度)4个字节
long 长整型 8个字节
double 双精度类型 8个字节
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F

一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节

}
变量引用
super 父类,超类
this 本类
void 无返回值

保留关键字
goto 是关键字,但不能使用
const 是关键字,但不能使用
null 空

true、false保留字

Java注释

单行以及多行注释。注释中的字符将被 Java 编译器忽略。
在这里插入图片描述
二、注释规范

1、类注释
Copyright ©, 2006-2010, ChengDu Lovo info. Co., Ltd.
FileName: Test.java详细说明
@author 创建者姓名
@Date 创建日期
@version 1.00
2、属性注释
提示信息
private String strMsg = null;
3、方法注释
类方法的详细使用说明
@param 参数1 参数1的使用说明
@return 返回结果的说明
@throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
4、构造方法注释
构造方法的详细使用说明
@param 参数1 参数1的使用说明
@throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
5、方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加。
//背景颜色
Color bgColor = Color.RED

Java 空行

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

继承

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

接口

接口可理解为对象间相互通信的协议。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
在这里插入图片描述
package语句,至多一句且必须放在源程序的第一句。
import语句,该部分可以有若干import语句或者没有,必须放在所有的类定义之前。
public classDefinition,公共类定义部分,至多一个公共类的定义,Java源程序的文件名必须与该公共类名完全一致。
classDefinition,类定义部分,可以有0个或者多个类定义。
interfaceDefinition,接口定义部分,可以有0个或者多个接口定义。

package javawork.helloworld;
把编译生成的所有.class文件放到包中*/
import java awt.*;
告诉编译器本程序中用到系统的哪些包
import javawork.newcentury;
告诉编译器本程序中用到用户自定义的哪些包
public class HelloWorldApp{…}
公共类HelloWorldApp的定义,名字与文件名相同
class TheFirstClass{…};
定义一个普通类
interface TheFirstInterface{…}
定义一个接口

package语句:由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同因此同名的类有可能发生冲突。为了解决这一问题,Java提供包来管理类名空间,包实 提供了一种命名机制和可见性限制机制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java学习简记录(四) 的相关文章

  • 知识库AI机器人客服(基于ChatGPT3.5)对接-唯一客服系统文档中心

    此功能是利用chatgpt训练企业知识开发个性化客服系统 xff0c 可以上传自有数据 xff0c 基于向量数据库与OpenAI Embedding xff0c 以及OpenAI chat completions接口 xff0c 实现的基于
  • AX7A200教程(6): 串口接收图片数据,通过hdmi接口输出显示

    本章节主要使用uart接收图片数据 xff0c 然后通过ddr3缓存 xff0c 最后通过hdmi接口显示输出 xff0c 功能框图如下图所示 uart接收的图片数据位1024 768 3分辨率大小的数据 xff0c 一共2359296个字
  • ROS 程序初读一(gps_driver)

    先来看到 launch 文件夹 xff0c 有三个 launch 文件 xff0c 也不知道从哪看起 xff0c 就从第一个看看先 第一个文件为 gps data get launch xff0c 内容如下 lt launch gt lt
  • 什么是SLO?

    Short term Liquidity Operation即短期流动性调节工具 SLO以7天期以内短期回购为主 xff0c 遇节假日可适当延长操作期限 xff0c 采用市场化利率招标方式开展操作 SLO原则上在公开市场常规操作的间歇期使用
  • 21.6.7爬虫日志

    一 爬虫的目的 采集数据 xff0c 为软件服务 xff01 xff01 那么数据从那儿来 xff1f 都是从生活中来的 xff01 xff01 1 手工采集 可以采集数据 xff0c 但是操作效率低下 2 内部数据 公司内部数据 xff0
  • 什么是自贸区?什么是离岸债券?

    1 自由贸易区 中国自由贸易区是指在国境内关外设立的 xff0c 以优惠税收和海关特殊监管政策 为主要手段 xff0c 以贸易自由化便利化为主要目的的多功能经济性特区 自由贸易区有两个本质上存在差异很大的概念 xff1a 一个是FTA xf
  • 什么是SLO?

    SLO xff1a 短期流动性调节工具 xff08 Short termLiquidityOperations xff09 每周二 周四 xff0c 央行一般都会进行公开市场操作 xff0c 目前最主要的是回购操作 回购操作又分成两种 xf
  • strcpy、strncpy与memcpy的区别与使用方法

    strcpy strncpy 与memcpy 的区别与使用方法 strcpy strncpy memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到 xff0c 但是三个函数的区别 使用时该注意什么还是有必要说下的 本文参考 C
  • C语言:存取结构体成员的点运算符(.)和箭头运算符(->)的区别

    一直以为这两个是没有什么区别的 xff0c 可以相互替换 xff0c 今天又翻了一下 C语言核心技术 xff0c 明白了其中的奥妙 相同点 xff1a 两个都是二元操作符 xff0c 其右操作符是成员的名称 不同点 xff1a 点操作符左边
  • DB2 命令行中如何执行sql脚本

    原文链接 xff1a http space itpub net 8231934 viewspace 584635 db2 61 gt connect to dbName user xxx using password db2 61 gt s
  • 性能测试知多少 --并发用户数与TPS之间的关系

    1 背景 在做性能测试的时候 xff0c 很多人都用并发用户数来衡量系统的性能 xff0c 觉得系统能支撑的并发用户数越多 xff0c 系统的性能就越好 xff1b 对TPS不是非常理解 xff0c 也根本不知道它们之间的关系 xff0c
  • ubuntu编译 opencv undefined referece to `cv::imread()`

    Ubuntu下编译一个C 43 43 文件 xff0c C 43 43 源程序中使用了opencv xff0c opencv的安装没有问题 xff0c 但是在编译的过程中出现如下错误 xff1a undefined reference to
  • 基于深度学习的3D pose estimation总结(包括几篇2D pose estimation)

    一 任务描述 给定一幅图或者是一段视频 xff0c 人体姿态估计就是恢复出其中的人体关节点位置的过程 二 挑战和难点 1 人体肢体运动较为灵活 xff1b 2 视角的变化 xff1b 3 附着物的变化 xff08 比如遮挡 xff0c 衣物
  • STM32的空闲中断

    最近发现了STM32的USART的空闲中断非常的舒爽 xff0c 但是在前期配置的时候会出现一些小问题导致没有办法进入终中断或者是一直空闲中断 xff0c 现将它记下来 xff0c 给各位和自己留一个参考 xff1a 1 不进入中断 我是这
  • Github上最受欢迎的7个开源AI机器学习框架

    在过去的几年中 xff0c 人工智能正在占领技术的许多领域 来自不同背景的开发人员最终意识到了AI为他们带来的机遇 xff0c 而不管他们的需求如何 在今天的文章中 xff0c 我们列出了7种最佳的开源AI 机器学习系统和框架 1 Tens
  • ubuntu更换shell

    ubuntu更换shell zsh配置 span class token comment 安装zsh span span class token function sudo span span class token function ap
  • 网络调试助手NetAssist的使用

    一 使用场景 xff1a 项目定制需求 xff1a 前端的车载终端把gps 报警信息 报警图片 其他检测数据发往约定的第三方服务器 xff0c 车载终端通过公网 xff08 SIM拨号或者有线网 xff09 以udp或者tcp连接服务器 x
  • vlc代码分析(4)——mpgv的demux

    Mpgv c 是对mpeg vedio的解码部分 xff0c 从demux开始 xff0c 到sample到输出 其中 xff0c 核心部分是函数ParseMPEGBlock 两种数据格式 xff1a video format 是video
  • 关于使用CMT2300A FIFO缓存区间设置为64Byte的问题

    首先请看 xff0c CMT2300A 是什么产品 xff0c 或者说是 模组吗 xff1f 请看介绍 xff1a https blog csdn net sishuihuahua article details 105095994 以及R
  • 不合理超时设置带来的“坑”

    在后台服务的实现中 xff0c 我们通过基于TCP UDP协议封装起来的RPC机制实现了跟不同系统的通信 xff0c 进而协同各个系统完成一系列业务流程和功能的执行 xff0c 在这个过程中 xff0c 每个参与合作的子系统都有自己的能力描

随机推荐

  • 以太坊的三种同步模式

    全同步 xff1a 获取区块链所有区块的header和body xff0c 并校验其中的每一笔交易 xff0c 需要下载所有的区块数据信息 xff0c 同步速度最慢 xff0c 但是数据最全 xff1b 快速同步 xff1a 获取区块链所有
  • 基于订单号可重入的交易系统接口设计探讨

    基于订单号可重入的交易系统接口设计探讨 在交易系统的设计和实现中 xff0c 接口的可重入性设计是及其关键的 xff0c 可重入性也叫接口操作的冥等性保障 xff0c 那么什么叫冥等性呢 xff1f 在交易系统中 xff0c 为什么需要这个
  • 什么是手机的IMEI?

    一 xff0c IMEI是什么 xff1f IMEI xff08 International Mobile Equipment Identity xff09 是移动设备国际身份码的缩写 是由15位数字组成的 电子串号 xff0c 该码是全球
  • PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)

    PBOC2 0安全系列之 脱机认证之静态数据认证 SDA 一 xff0c 什么是PBOC2 0 2005年3月13日 xff0c 人民银行发布第55号文 xff0c 正式颁发了 中国金融集成电路 xff08 IC xff09 卡规范 简称P
  • 第三方支付架构设计之—帐户体系

    第三方支付架构设计之 帐户体系 一 xff0c 什么是第三方支付 xff1f 什么是第三方支付 xff1f 相信很多人对这个名字很熟悉 xff0c 不管是从各种媒体等都经常听到 xff0c 可以说是耳熟能熟 但 xff0c 如果非得给这个名
  • ELF文件格式详解

    ARM的可执行文件的格式是ELF格式文件 xff0c 下文对ELF格式做个详细的介绍 序言 1 OBJECT文件 导言 ELF头 ELF Header Sections String表 String Table Symbol表 Symbol
  • ROS小车(SLAM+物体追踪)

    属于交通运输工程设计的论文 xff0c 包含SLAM与物体追踪这两个方向 ROS智能车设计 一 系统描述 1 车轮子 单轮平衡式结构 xff0c 能量利用率高 xff0c 但转弯的时候需要倾角高速运动 xff0c 很难控制 差速转向平衡两轮
  • 配置apache服务器的用户认证

    经常上网的读者会遇到这种情况 xff1a 访问一些网站的某些资源时 xff0c 浏览器弹出一个对话框 xff0c 要求输入用户名和密码来获取对资源的访问 这就是用户认证的一种技术 用户认证是保护网络系统资源的第一道防线 xff0c 它控制着
  • 强大的grep用法详解:grep与正则表达式

    from http hi baidu com nearlove blog item 11db98b6b5b8aff831add1e5 html 首先要记住的是 正则表达式与通配符不一样 它们表示的含义并不相同 正则表达式只是一种表示法 只要
  • Linux中通过/proc/stat等文件计算Cpu使用率

    from xff1a http www blogjava net fjzag articles 317773 html proc文件系统 proc文件系统是一个伪文件系统 xff0c 它只存在内存当中 xff0c 而不占用外存空间 它以文件
  • 关于mysql的错误 - no query specified

    Mysql error no query specified mysql下抛出错误 xff1a error no query specified 出现此错误是sql不合法原因 xff1a 如 xff1a select from abc G
  • 详解coredump

    一 xff0c 什么是coredump 我们经常听到大家说到程序core掉了 xff0c 需要定位解决 xff0c 这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止 xff0c 并且在满足一定条件下 xff0
  • freertos 源码详解四 堆栈初始化

    在prvInitialiseNewTask函数中 xff0c 有一个步骤7 xff1a pxNewTCB gt pxTopOfStack 61 pxPortInitialiseStack pxTopOfStack pxTaskCode pv
  • STL - vector

    C 43 43 STL中的verctor好比是C语言中的数组 xff0c 但是vector又具有数组没有的一些高级功能 与数组相比 xff0c vector就是一个可以不用再初始化就必须制定大小的边长数组 xff0c 当然了 xff0c 它
  • 计算机专业术语,收藏用

    显示内存 与主板上的内存功能一样 xff0c 显存也是用于存放数据的 xff0c 只不过它存放的是显示芯片处理后的数据 显存越大 xff0c 显示卡支持的最大分辨率越大 xff0c 3D应用时的贴图精度就越高 xff0c 带3D加速功能的显
  • 7_资源文件添加

    资源文件添加 在QMainWindow中我们已经设立了一些部件 xff0c 现在我们来设置图标 通常有相对路径读取和资源文件读取两种方法 QAction actionNew 61 new QAction 基本格式 ui gt actionN
  • 智能除草机

    专利设计 xff1a 智能除草机 1 除草机背景 业界主要采用滚刀式草坪修剪车来进行运动场的除草 除草不仅浪费人力 xff0c 而且也受到天气状况的限制 传统割草机产生的环境污染也较大 随着社会经济的不断发展 xff0c 人力成本也不断攀升
  • nodejs解析http协议源码解析

    上篇文章讲到nodejs创建一个服务并且建立tcp连接的过程 接下来分析一下 xff0c 在建立tcp连接后 xff0c nodejs是如何解析http协议的 我们首先看一下nodejs在建立tcp连接时执行net js层的回调时做了什么操
  • template模板及模板类的实例化

    模板template 通常 xff0c 当我们调用一个函数时 xff0c 编译器只需要掌握函数的声明 类似的 xff0c 当我们使用一个类类型的对象时 xff0c 类定义必须是可用的 xff0c 但成员函数的定义不必已经出现 因此我们将类定
  • java学习简记录(四)

    java学习简记录 xff08 四 xff09 Java 程序是一系列对象的集合 xff0c 这些对象通过调用彼此的方法来协同工作 对象 xff1a 对象是类的一个实例 xff0c 有状态和行为 类 xff1a 类是一个模板 xff0c 它