sgg第二天Java的语法

news2024/11/16 9:44:50

关键字

关键字(keyword)的定义和特点
定义:被Java语言赋予了特殊含义

特点:关键字中所有字母都为小写

注意,关键字不能被用作标识符!

保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使
用。
自己命名标识符时要避免使用这些保留字goto、const

一共有50个关键字。其中有两个保留字:const和goto。

在这里插入图片描述

需要注意的是,除了上述的50个关键字以外,true,false,null也不可以被用作标识符~
官方地址:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

1.1 标识符

标识符可以简单的理解成一个名字。凡事自己起的名字都成为标识符。
在Java中,我们需要给代码中的很多元素起名,包括类名、方法名、字段名、变量名等等。我们给对应元素起的名称就被称为标识符,

标识符需要遵循以下规则:如果不遵循规则就会报错

标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
不能以数字开头。如:123name 就是不合法
标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符
标识符不能是Java的关键字

下面我们一起通过idea一起测试一下

Java中的名称命名规范:(习惯的命名,如果不遵循也不会报错)


包名:多单词组成时所有字母都小写:xxxyyyzzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
这样写的优点就是容易区分类名,包名变量名
注意
1:标识符的命名最好能反映出其作用,做到见名知意。
2:java标识符也可以使用汉字声明,但是不建议使用。

注释

几乎所有编程语言都允许程序员在代码中写注释
因为编译器会忽略注释,所以注释并不会影响程序的运行结果。
注释的真正作用是: 它可以向任何阅读代码的人描述或者解释程序的实现思路,如何使用以及其它任何相关信息, 提高代码的可读性,方便后期的维护与复用。
Java的注释有3种:

单行注释: 注释单行内容.
格式: 每行都以”//”开头.
快捷方式: Ctrl+/ 添加注释,同样的快捷键,再按一次取消注释

多行注释:注释多行内容,虽然叫多行注释,也可注释单行内容.
格式: 以” /* ”开头, 以” * / ”结束.
快捷方式: 可以输入” /* ”之后按回车添加注释

文档注释: 一般用来注释类和方法,通过注释内容来记录类或者方法的信息.
格式: 以” /** ”开头。 以” * / ”结尾
快捷方式: 输入 “ /** ” 之后按回车添加注释

变量

在JAVA中,我们需要记录一些数据,但这些数据的值是不固定的,有时候需要改变,我们可以把这些数据理解为变量。
Java定义变量格式:变量类型 变量名以及变量值。
定义变量的两种格式:
格式一:声明变量时并且赋值:int age = 18;
格式二:先声明变量:String tel ; 然后给变量赋值:tel = 119;

注意:
不能使用没有被定义的变量

变量的数据类型

就像我们定义一个家庭的类,那么在这个类中会有不同类型的数据,比如:年龄 家庭住址 收入等所以在Java中就有了不同类型的数据类型

在Java中有八大基本类型
基本数据类型有八种,我们一般说八大基本数据类型,在这里一定要注意是基本数据类型,“基本“这两个字不要省略,因为除了基本数据类型还有引用数据类型。
在这里插入图片描述
在这里讲解一下基本数据类型的内存情况

除了八大基本类型之外还有引用类型

下面就是引用数据类型
请添加图片描述

注意:
string(字符串)也属于引用类型,这个是比较常见的变量类型

在idea里面进行写;
请添加图片描述

变量根据位置的不同也分为:局部变量和成员变量,具体什么是成员变量什么是局部变量我们在这里不再进行详细讲解,在后面我们会详细讲解;

整数类型:byte、short、int、long

这四种整数它们最大的区别占用的内存空间不一样
 Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
 java的整型常量默认为int型,声明long型常量须后加‘l’或‘L’
 java程序中整数变量通常声明为int型,除非不足以表示较大的数,才使用long

下面是八大基本数据类型:
在这里插入图片描述

注意:
1字节 = 8bit。 1bit存储0或者1两种情况
1T=1024M 1M=1024 1k=1024B

内存存储方式:请添加图片描述
通过代码实现:请添加图片描述

声明long型常量须后加‘l’或‘L’

请添加图片描述

通常定义整数变量时使用int类型

浮点类型:float、double

通俗的说就是带小数部分的成为浮点型
. 浮点型常量有两种表示形式:
. 十进制数形式:如:5.12 ,512.0f ,512(必须有小数点)
. 科学计数法形式:如:5.12e2 , 512E2 ,100E-2
. float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,、精度是float的两倍。通常采用此类型。
. Java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

请添加图片描述
问题:

float 和int都是占用4个字节,并且存放的数量比int大,为什么
答:实际上在float里面存储分为两个部分:一个部分是存储小数,另一部分是存储10的次幂

代码的实现:
请添加图片描述

字符类型:char

. char型数据用来表示通常意义上“字符”(2字节)
. Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
. 字符型变量的三种表现形式:
. 字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 = ‘a’; char c2= ‘中’; char c3 =‘9’;
. Java中还允许使用转义字符‘\’. 来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // ’ \n '表示换行符
. 直接使用Unicode值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a表示\n。
. char类型是可以进行运算的。因为它都对应有Unicode码。

在这里插入图片描述

代码实现请添加图片描述

请添加图片描述

布尔类型:boolean

. boolean类型用来判断逻辑条件,一般用于程序程控制:
 if条件控制语句;
 while循环控制语句;
 do-while循环控制语句;
 for循环控制语句;
 boolean类型数据只允许取值true和false,
 我们通常情况下:true用1表示,false用0表示

基本数据类型转换:将容量大的数据类型转换为容量小的数据类型。

小到大(隐式转换)
byte m = 120;
int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
float f = 3.2f; double d = f; -->可以执行

强制类型转换:将容量大的数据类型转换为容量小的数据类型。

使用时要加上强制转换符:(),但可能造成精度降低或溢出, 格外要注意。
通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类,则可以实现把字符串转换成基本类型。
如:String a = “43”; int i= Integer.parseInt(a);

int x = 999;
byte y =(byte)x;//大转小,右面x给左面的y小类型赋值,不可以,需要强制类型转换
转换过程中可能导致溢出或损失精度
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
不能对boolean类型进行类型转换。

在代码中可能会遇到的情况

如果我们使用long类型进行定义,不加L也不会报错,因为如果不加L底层会默认为int类型的数据(前提不能大于int类型的数据值,如果大于int类型的数据值就必须添加L);
请添加图片描述
如果是浮点型数据,如果不加f,底层默认为double类型的数据;所以不加f就会报错;

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

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

相关文章

Qt Quick - 弹出控件综述

Qt Quick - 弹出控件综述一、概述一、抽屉控件二、菜单控件三、弹出控件四、工具提示控件一、概述 控件功能Dialog带有标准按钮和标题的弹出式对话框,用于与用户进行短期交互Drawer可以用滑动手势打开和关闭的侧面板Menu弹出式菜单,可以用作上下文菜单或…

springboot事务

对于从事 java 开发工作的同学来说,spring 的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据…

设备是如何实现延时关机的

文章目录1. 引言2. 延时关机的实现方式2.1 自建定时服务实现2.2 RocketMQ中间件实现2.2.1 生成端demo2.2.2 消费端demo3. 结尾1. 引言 在设备联动中,有些场景需要保持设备继续工作一段时间再关机。比如在厨房场景下,存在燃气灶和烟机的联动场景&#xf…

基于kettle部署图形化界面(spoon)

最近使用kettle部署windows,mac、linux服务遇到的坑做一个总结。 1、mac、linux部署: 1⃣️拉取docker镜像 docker pull hiromuhota/webspoon 2⃣️创建并运行docker容器 docker run -d -p 8080:8080 hiromuhota/webspoon --name webspoon --restar…

HTML:彩虹按钮

彩虹按钮&#xff08;盗版按钮&#xff0c;B站仿写&#xff0c;略有不同&#xff01;&#xff09; 链接 <html><head><title>demo</title><style>*{margin: 0;padding: 0;}body{display: flex;justify-content: center;align-items: center;…

【hello Linux】Linux软件管理器yum

目录 1.Linux软件管理器yum 1.1 关于lrzsz 1.2 使用yum时的注意事项 1.3 查看软件包&#xff1a;yum list 1.4 安装软件&#xff1a;yum install 1.5 卸载软件&#xff1a;yum remove 1.6 更新yum源 1.7 实战项目 Linux&#x1f337; 1.Linux软件管理器yum 在windows系统下有应…

交友项目【查询黑名单人员,移除黑名单人员】功能实现

目录 1&#xff1a;交友项目 1.1&#xff1a;查询黑名单人员 1.1.1&#xff1a;接口地址 1.1.2&#xff1a;流程分析 1.1.2&#xff1a;代码实现 1.2&#xff1a;移除黑名单人员 1.2.1&#xff1a;接口地址 1.2.2&#xff1a;流程分析 1.2.3&#xff1a;代码实现 1&am…

【LeetCode每日一题: 1039. 多边形三角剖分的最低得分 | 暴力递归=>记忆化搜索=>动态规划 | 区间dp 】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

0416 leetcode每日一题 1042. 不邻接植花

题目描述&#xff1a; 力扣 思路&#xff1a; 从题目描述中可知&#xff0c;花的种类一共有四种&#xff0c;且一定有满足题意的答案。 可以首先将所有花园中的花设置为0&#xff0c;然后遍历与其相邻的花园&#xff0c;选择没有使用过的花的种类&#xff08;1 2 3 4&#xf…

【ChatGPT】阿里版 ChatGPT 突然官宣意味着什么?

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 阿里版 ChatGPT 突然官宣 ​ ChatGPT 技术在 AI 领域的重要性 自然语言生成 上下文连续性 多语言支持 ChatGPT 未来可能的应用场景 社交领域 商业领域 ​编辑 医疗领域…

LeetCode_单调栈_中等_1019.链表中的下一个更大节点

目录1.题目2.思路3.代码实现&#xff08;Java&#xff09;1.题目 给定一个长度为 n 的链表 head。对于列表中的每个节点&#xff0c;查找下一个更大节点的值。也就是说&#xff0c;对于每个节点&#xff0c;找到它旁边的第一个节点的值&#xff0c;这个节点的值严格大于它的值…

Vue项目创建流程

一、安装Vue和查看Vue版本 1.1安装Vue npm i -g @vue/cli1.2 查看Vue Vue -V二、新建一个Vue项目 2.1 使用命令创建项目 vue create vue-project # vue-project是项目名称Default 表示使用默认配置,默认勾选babel、eslint ,回车之后直接进入装包 Manually 自定义勾选特性…

Vector - CAPL - CAN x 总线信息获取(续2)

继续.... 目录 ErrorFrameCount -- 错误帧数量 代码示例 ErrorFrameRate -- 错误帧速率 代码示例 ExtendedFrameCount -- 扩展帧数量 代码示例 ExtendedFrameRate -- 扩展帧速率 代码示例 ExtendedRemoteFrameCount -- 远程扩展帧数量 代码示例 ExtendedRemoteFrameRa…

01背包的算法设计和代码实现以及01背包问题的复杂度计算

01背包的算法设计和代码实现以及01背包问题的复杂度计算 1.算法分析 01背包问题是一个经典的动态规划问题&#xff0c;其目标是在给定一组物品和一个背包容量的情况下&#xff0c;选择一些物品放入背包中&#xff0c;使得背包容量最大化。以下是01背包问题的算法设计和代码实…

Python中的8种运算符

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;零基础入门篇 &#x1f4ac;个人格言&#xff1a;不断的翻越一座…

【消息队列】聊一下Kafka副本机制

副本机制的好处 副本在分布式系统下&#xff0c;不同的网络互联的机器保存同一份数据。我们知道在分布式系统中&#xff0c;都会通过数据镜像、数据冗余的方式来提升高可用性。 提供数据冗余&#xff1a;这点比较好理解&#xff0c;说白了就是通过数据冗余在不同的服务器上&a…

使用Github+picGo搭建图床,超详细教程

超详细教程使用GitHubPicGo搭建图床配置GitHub创建图床仓库生成token配置PicGo下载配置配置Typora打开Typora的设置设置picgo的监听端口号使用GitHubPicGo搭建图床 起因&#xff1a;gitee的图床挂了&#xff0c;原因是gitee的防盗链&#xff0c;所以就打算更换图床&#xff0c…

【周末闲谈】新的编程方式,程序员的未来何在?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录系列目录前言了解编程语言机器语言&#x1f4bb;&#x1f4bb;&am…

二分查找(二分法,折半查找)

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;数据结构与算法 &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录二分查找算法要求查找过程二分法的两种写法LeetCode&#xff08;持续更新&a…

【Docker】Docker网络

介绍 docker启动 在docker启动之后 &#xff0c;会生成一个docker0的虚拟网桥 [root192 kd]# ifconfig docker0: flags4099<UP,BROADCAST,MULTICAST> mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255inet6 fe80::42:faff:fef5:a71d prefix…