JAVA基本内容(数据类型、标识符、数组、注释、关键字)

目录

基本数据类型

取值范围大小 

情景一:

情景二:

情景三: 

情景四:

标识符

情景一:

情景二:

情景三: 

数组

一维数组

二维数组

多维数组 

注释 

单行注释

多行注释

文档注释

关键字

基本数据类型

访问控制

程序控制语句

包相关 

变量引用

类、方法和变量修饰符

错误处理


基本数据类型

byte字节型        数据类型是8位、有符号的,以二进制补码表示的整数

最小值是 -128(-2^7)

最大值是 127(2^7-1)

默认值是0

short短整型        数据类型是 16 位、有符号的以二进制补码表示的整数

最小值是 -32768(-2^15)

最大值是 32767(2^15 - 1)

默认值是0

int整型        数据类型是32位、有符号的以二进制补码表示的整数

最小值是 -2,147,483,648(-2^31)

最大值是 2,147,483,647(2^31 - 1)

默认值是0

long长整型        数据类型是 64 位、有符号的以二进制补码表示的整数

最小值是 -9,223,372,036,854,775,808(-2^63)

最大值是 9,223,372,036,854,775,807(2^63 -1)

默认值是0L

通常在常数后面跟l或L,例如long a=9999999L;

float单精度浮点数        数据类型是单精度、32位

默认值是 0.0F

通常在常数后面跟f或F,例如float a=1.0F;

double双精度浮点数        数据类型是双精度、64 位

默认值是 0.0d
 

char字符型        数据类型可以储存任何字符

最小值是 \u0000(十进制等效值为 0)

最大值是 \uffff(即为 65535)

boolean布尔型        只有两个取值true 和 false

默认值是false

取值范围大小 

double>float>long>int>short>byte

情景一:

数据小的类型的变量的值可以直接赋值给数据大的类型的变量

示例

int a=1;
double b=a;

解释:
double的数据范围大于int的数据范围,所以将int型a变量直接赋值给b变量是合法的

b变量中储存数为1.0

情景二:

char short byte三种类型运算时会先变成int类型再相加

示例

byte b1 = 10;
byte b2 = 20;
int result = b1 + b2;

解释:
示例中byte型的b1和b2相加得到的是int型,赋值给int型的result合法

情景三: 

当多种类型运算时会优先变成数据类型最大的类型再运算

示例

int b1=10;
long b2=20;
float b3=50;
float result1 = b1+b2+b3;
double result2 = b1+b2+b3;

解释:
示例中b1,b2,b3分别为int型,long型,float型

三种类型中,数据范围int<long<float,float的数据范围最大

所以变量b1+b2+b3的结果为float型,赋值给同为float型的变量result1合法

此外赋值给比float型数据范围大的数据类型也合法,即b1+b2+b3的结果为float型,赋值给比float型数据范围大的double型的变量result2同样合法

情景四:

数据范围大的数据类型也可以强制转换赋值给数据范围小的数据类型,但可能会出现数据丢失的情况(如果数据范围大的数据类型的变量的值超出数据范围小的数据类型的数据范围,则会出现数据丢失的情况)

示例

double a=1;
int b=(int)a;

解释:

示例中a为double型,b为int型,数据范围double型大于int型,是不允许a变量赋值给b变量的,但可以进行强制转换,将a转换为int型,即可赋值给同为int型的b,但可能会出现数据丢失的情况

标识符

由数字、字母、下划线(_)和美元符号($)组成
简单来说就是定义变量的方法,只能由以上出现的字符组成

定义变量时尽量定义有意义的变量名

情景一:

不能以数字开头

示例

double 1a;
double a1;

解释:

1a变量定义是不合法的,因为以数字开头

a1变量定义是合法的

情景二:

不能是关键字(下面我会举例一些关键字)

示例

double int;
double int1;

解释:

int变量的定义是不合法的,因为int为关键字 
int1变量的定义是合法的,因为int1不为关键字

在官网新版的IntelliJ IDEA中定义关键字作为变量会与合法定义的变量有明显差别

情景三: 

区分大小写

示例

double a;
double A;

解释:

a和A是两个不同的变量,可以同时使用a变量和A变量

数组

一维数组

数组定义有两种方法

数组的下标从0开始

可以赋初值,和定义数组长度

示例

int[] a={1,2,3};
int b[]=new int[5];

解释:数组有两种定义方法,第一种赋初值,1,2,3所以相当于定义了一个初始数组a[2],最多容纳三个数,第二种定义数组长度,可以容纳五个数

二维数组

二维数组跟一维数组的定义方法相同,可以看作行和列

示例

int[][] a={{1,2},{3,4}};
int b[][]=new int[5][5];

解释:二维数组a有2行2列,b有5行5列,同样行和列下标都从0开始

多维数组 

多维数组不常用,但使用多维数组可以容易的解决一些问题

示例

int[][][][] a=new int[5][5][5][5];

解释:这是一个四维数组,可以继续加,同样可以用{}括号进行赋初值的定义,但是要括很多层,相对麻烦

对于四维数组的解释

假如,对于停车场上,一排可以停n辆车,称为一维数组的长度为n

最多可以有m排,称为二维数组的长度为n和m

最多有k部分停车场,称为三维数组的长度n,m和k

一个城市最多有l个这样的停车场,称为四维数组的长度n,m、k和l

对于多维数组的解释,怎么容易理解怎么来

注释 

单行注释

//

以//开头

示例

//这是一个单行注释
多行注释

/*        */

以/*开头,*/结尾

示例

/*
这是一个多行注释
这是一个多行注释
*/
文档注释

/**

*

*

*/       

以/**开头,每行开头有一个*,*/结尾

示例

/**
*这是一个文档注释
*这是一个文档注释
*/

关键字

包括但不限于以下关键字,之后我会详细解释每个关键字的作用,这里简单概括一下

基本数据类型

byte        字节型

short        短整型

int        整型

long        长整型

float        单精度浮点数

double        双精度浮点数

char        字符型

boolean        布尔型

访问控制

public        公共的

private        私有的

protected        受保护的

default        默认

程序控制语句

判断语句

if        如果

else        否则

循环语句

do        运行

while        循环语句

for        循环语句
break        跳出循环

continue        继续


选择语句
switch    根据值选择执行语句

case        定义一个值供选择


return        返回

包相关 

import        引入

package        包

变量引用

this        本类

void        无返回值

类、方法和变量修饰符

class        类

final        不可改变的

new        创建

static        静态

错误处理

try        捕获异常

catch        捕捉异常

throw        抛出一个异常对象

throws        声明一个异常可能被抛出

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

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

相关文章

【Android】使用Termux终端搭建本地web服务器

在Android手机上有一个Termux APP&#xff0c;可运行类似 Linux 终端的模拟器&#xff0c;可以运行Nodejs&#xff0c;正好用它运行本地站点&#xff0c;用不着去租服务器&#xff0c;相比运行在电脑上&#xff0c;节省了电费&#xff0c;想要学来用的话不妨看看这篇文章。 文章…

案例:CentOS8 在 MySQL8.0 实现半同步复制

异步复制 MySQL 默认的复制即是异步的&#xff0c;主库在执行完客户端提交的事务后会立即将结果返给给客户端&#xff0c;并不关心从库是否已经接收并处理&#xff0c;这样就会有一个问题&#xff0c;主节点如果 crash 掉了&#xff0c;此时主节点上已经提交的事务可能并没有传…

Python:解析获取连续的重叠对pairwise

简介&#xff1a;pairwise函数&#xff0c;返回从输入迭代器获取的重叠对的迭代器&#xff0c;是Python 3.10 新特性&#xff0c;表示一个迭代器从对象中获取连续的重叠对&#xff0c;在某些场景中可以优化代码运行效率。pairwise 函数是一种用于处理列表中元素之间配对操作的通…

四元数如何进行标准化?

假设有一个四元数的张量 r&#xff0c;它包含了两个四元数&#xff1a; r [ 1 2 3 4 4 3 2 1 ] r \begin{bmatrix} 1 & 2 & 3 & 4 \\ 4 & 3 & 2 & 1 \\ \end{bmatrix} r[14​23​32​41​] 这里&#xff0c;第一个四元数是 q 1 ( 1 , 2 , 3 , 4 ) …

【Langchain Agent研究】SalesGPT项目介绍(二)

【Langchain Agent研究】SalesGPT项目介绍&#xff08;一&#xff09;-CSDN博客 上节课&#xff0c;我们介绍了SalesGPT他的业务流程和技术架构&#xff0c;这节课&#xff0c;我们来关注一下他的项目整体结构、poetry工具和一些工程项目相关的设计。 项目整体结构介绍 我们把…

互联网医院架构系统设计与实现

随着互联网技术的快速发展&#xff0c;互联网医院作为一种新兴的医疗服务模式&#xff0c;正逐渐受到人们的关注和使用。本文将介绍互联网医院架构系统的设计原则和关键组件&#xff0c;以及如何实现一个安全、高效和可扩展的互联网医疗服务平台。 内容&#xff1a; 1. 引言 …

LeetCode Python - 9.回文数

文章目录 题目答案运行结果 题目 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&am…

【开源】基于JAVA+Vue+SpringBoot的实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…

【JavaScript】文档对象模型(DOM)的基本概念

文章目录 1. 什么是DOM2. DOM的层次结构3. 获取DOM元素通过标签名获取元素通过ID获取元素通过类名获取元素 4. 操作DOM元素修改元素内容修改元素样式添加新元素 5. 事件处理6. 总结 文档对象模型&#xff08;DOM&#xff09;是 JavaScript 中一个重要的概念&#xff0c; 它允许…

【ECMAScript modules规范示例详解——介绍】

ECMAScript modules规范示例详解——介绍 1. 介绍2. 创建一个模块&#xff08;module.js&#xff09;3. 导入模块&#xff08;main.js&#xff09;4. 说明 1. 介绍 ECMAScript 模块 (ESM) 是 JavaScript 的官方标准&#xff0c;用于在 JavaScript 应用程序中导入和导出模块&am…

ChatGPT 4:新特性与优势

ChatGPT 4&#xff1a;新特性与优势 一、引言 ChatGPT 4是一款备受瞩目的人工智能模型&#xff0c;它以其强大的语言生成能力和智能回答能力&#xff0c;为用户提供了更高效、更便捷的对话体验。为了能够充分享受ChatGPT 4的各项功能&#xff0c;本文将向您详细介绍其新特性&…

Ps:信息面板

Ps菜单&#xff1a;窗口/信息 Window/Info 快捷键&#xff1a;F8 信息 Info面板提供了关于工作文档和当前操作的实时信息&#xff0c;包括鼠标指针的位置、取样点的颜色值&#xff08;包括调整前后的对比值&#xff09;&#xff0c;以及当前所用工具的提示信息等等&#xff0c;…

PyTorch深度学习实战(26)——多对象实例分割

PyTorch深度学习实战&#xff08;26&#xff09;——多对象实例分割 0. 前言1. 获取并准备数据2. 使用 Detectron2 训练实例分割模型3. 对新图像进行推断小结系列链接 0. 前言 我们已经学习了多种图像分割算法&#xff0c;在本节中&#xff0c;我们将学习如何使用 Detectron2 …

GPT最新进展:推出视频功能!迭代即将来临!

随着人工智能的不断进步&#xff0c;ChatGPT正准备以其全新的视频功能大跃进&#xff0c;同时&#xff0c;备受期待的GPT-5也即将在今年露面&#xff0c;预示着AI领域即将迎来一场变革。 在最近一期充满激情的Unconfuse Me播客中&#xff0c;OpenAI的首席执行官Sam Altman与技…

【前端高频面试题--Vue基础篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;前端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac;前端高频面试题--Vue基础篇 Vue基本原理双向绑定与MVVM模型Vue的优点计算属性与监听属性计算属性监…

C 练习实例69-约瑟夫环

题目&#xff1a;有n个人围成一圈&#xff0c;顺序排号。从第一个人开始报数&#xff08;从1到3报数&#xff09;&#xff0c;凡报到3的人退出圈子&#xff0c;问最后留下的是原来第几号的那位。 代码&#xff1a; #include <stdio.h> int main() {int n8;int table[n]…

【MySQL】-19 MySQL综合-5(MySQL日期和时间类型+MySQL字符串类型+MySQL二进制类型)

MySQL日期和时间类型MySQL字符串类型MySQL二进制类型 一 MySQL 日期和时间类型1.1 YEAR 类型1.2 TIME 类型1.3 DATE 类型1.4 DATETIME 类型1.5 TIMESTAMP 类型 二 MySQL 字符串类型2.1 CHAR 和 VARCHAR 类型2.2 TEXT 类型2.3 ENUM 类型12.4 SET 类型 三 MySQL 二进制类型BIT 类…

python+flask+django医院预约挂号病历分时段管理系统snsj0

技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django/flask Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5.7 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm . 第一&#xff0c;研究分析python技术&#xff0c…

python32-Python列表和元组之通过索引使用元素

列表和元组非常相似&#xff0c;它们都可包含多个元素&#xff0c;多个元素也有各自的索引。程序可通过索引来操作这些元素&#xff0c;只要不涉及改变元素的操作&#xff0c;列表和元组的用法是通用的。 1&#xff09;通过索引使用元素 列表和元组都可通过索引来访问元素&am…

浅谈人工智能之深度学习~

目录 前言&#xff1a;深度学习的进展 一&#xff1a;深度学习的基本原理和算法 二&#xff1a;深度学习的应用实例 三&#xff1a;深度学习的挑战和未来发展方向 四&#xff1a;深度学习与机器学习的关系 五&#xff1a;深度学习与人类的智能交互 悟已往之不谏&#xff0…