简明Java讲义 2:数据类型和运算符

news2025/1/15 19:39:18

目录

1、安装IDE编辑器

2、关键字和保留字

3、标识符

4、分隔符

5、数据类型

6、基本类型的数据类型转换

7、表达式类型的自动提升

8、变量

9、运算符

10、运算符的优先级


1、安装IDE编辑器

在开始内容之前,先下载IDE,可以是Eclipse或STS,笔者这里选择STS

STS下载地址:https://spring.io/tools

根据自己的操作系统选择对应的进行下载,笔者是windows

下载后,放到指定文件夹

双击jar文件,或者使用解压软件解压

解压出sts-4.17.1.RELEASE文件夹后,就可以将原jar文件删除 

进入解压后的sts-4.17.1.RELEASE文件夹

双击SpringToolSuite4.exe文件打开STS,或者将SpringToolSuite4.exe发送到桌面快捷方式,方便后续打开

可以选择一个电脑上已经有的文件夹,或者新建一个文件夹,作为工作区(Workspace,用来存放项目的地方),笔者新建一个文件夹作为工作区

勾选 Use this as the default and do not ask again,以后打开STS时就不会再提示选择工作区了,点击Launch,打开STS

STS使用

新建一个Java项目

项目名称是learn,java环境选择java8

这里也实现一个HelloWorld

关于编辑器的快捷键和代码提示后面会详细介绍,这里主要测试编辑器是否好用 

打印Hello World! STS编辑器安装成功,后面的学习都是在STS上进行讲解

2、关键字和保留字

Java语言中一些具有特殊意义的单词被称为关键字(keyword),关键字不能用作变量名、方法名、类名和包名

Java关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forifgotoimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnshortstaticstrictfpsuper
synchronizedswitchthisthrowthrows
transienttryvoidvolatilewhile

Java保留字

上表关键字中,goto和const也被称为保留字,意思是Java现在还未使用这2个关键字,未来可能使用

3、标识符

Java程序中的变量、类、方法命名的符号称为标识符。Java语言中的标识符必须以字母、下划线(_)、美元符($)开头,后面可以跟任意数量的字母、数字、下划线(_)和美元符号($)。

标识符命名规则

(1)、必须以字母、下划线(_)或美元符号($)开头,余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限

(2)、标识符不能是Java关键字或保留字

(3)、标识符不能包含空格

4、分隔符

在Java语言中,分号 ; 、大括号 {}、中括号 []、括号()、空格、点 . 具有特殊的分隔作用,被称为分隔符

5、数据类型

Java是强类型语言,即所有变量必须先声明,后使用;指定类型的变量只能接受与类型匹配的值

Java中数据类型分为两大类,基本类型和引用类型

基本类型:一共有8个,4个整数类型(byte、short、int、long)、1个字符类型(char)、2个浮点类型(float、double)、1个布尔类型(boolean)

(1)、整数类型:整型,包括4种,byte、short、int、long

int是最常用的整数类型,一般情况下,直接定义的整数值默认是int类型

定义long类型需要在整数后面加一个l或者L作为后缀,推荐L,因为英文字母l容易和数字1混淆

从Java7开始新增了对二进制整数的支持,以0b或0B开头,如0B1001

(2)、字符类型

字符类型表示单个字符,必须使用英文单引号(')括起来。Java使用16位的Unicode字符集进行编码。例如 'a','中'

转移字符:使用\将其转化成字符本身,以‘\’为开头的字符

计算机底层使用字符对应的编号保存字符,Java字符类型固定长度是16位,因此可以将0~65535(2^16-1)范围内的一个整数值直接赋给char类型变量,系统会自动把整数当成char类型处理,其中前256个字符和ASCII码中的字符一样

(3)、浮点类型

浮点类型有2种,float(单精度浮点数)和double(双精度浮点数),默认是double类型,如果要声明一个变量为float类型,则需在数字后面加fF,例如 0.2f 或 0.2F

 Java语言浮点数有2种表示方式

十进制数形式:如1.2、1.0、.23,必须包含一个小数点

科学计数形式:如1.2e3(即1.2✖10^3)或1.2E3

Java7引入新功能,可以在数值中使用下划线,方便查看数值位数,即整数和浮点数中都可以使用下划线,如

int a = 0B1_000;
float f = 0.12_4F;
double d = 5.233_456;

Java浮点类型有固定的表数范围和字段长度,遵循IEEE754标准,使用二进制数据的科学计数法表示浮点数。float类型第1位表示符号,接下来8位表示指数,再下面23位表示尾数;double类型第1位表示符号,接下来11位表示指数,再下面52位表示尾数

(4)、布尔类型

布尔类型:boolean 表示逻辑上的真或假,只有2个值,true 和 false。Java中没有强制指定boolean类型占用的内存空间

6、基本类型的数据类型转换

基本类型的数据类型转换有2种方式,自动类型转换和强制类型转换

自动类型转换:Java中的数值型变量可以相互转换,当一个表数范围小的数值或变量赋给一个表数范围大的变量时,系统会自动进行类型转换

boolean类型不能转换成其他类型

整型、字符型、浮点型在相互转换时,遵循下面规则

上面的类型转换可能会有个疑问,为什么64位的long能装换成32位的float,原因在于long类型在内存中是直接换算成二进制存储的,而float是用科学计数法存储的

任何基本类型的值和字符串进行连接运算时,基本类型的值会自动转换成字符串类型。因此若想把基本类型的值转换成字符串,可以将基本类型的值与一个空字符串连接,可以使用+运算符

强制类型转换:容量大的数据类型转化成容量小的数据类型时,需要强制类型转换。强制类型转换的语法是:变量=(目标类型)值,强制类型转换的运算符是圆括号()。强制类型转换可能造成精度降低或溢出

7、表达式类型的自动提升

当一个算数表达式有多个基本类型的值时,整个表达式的数据类型将发生自动提升。Java中定义如下提升规则

(1)、byte、short、char类型提升到 int 类型

(2)、整个算数表达式的数据类型将提升到表达式中最高的类型

8、变量

变量:在程序运行时可以发生变化的量

Java中变量声明的格式:变量类型 变量名称 = 变量值

//定义byte类型变量b=1
byte b = 1;
//定义short类型变量s=6
short s = 6;
//定义int类型变量a=5
int a = 5;
//定义long类型变量l=100
long l = 100L;
//定义float类型变量f=0.2
float f = 0.2F;
//定义double类型变量d=0.6
double d = 0.6;
//定义boolean类型变量bool=true
boolean bool = true;
//定义char类型变量c=A
char c = 'A';

9、运算符

运算符:一种特殊的符号,表示数据的运算、赋值和比较等

Java语言中的运算符有下面几种

算数运算符,+、﹣、*、/、%、++、 --

赋值运算符,=、+=、﹣=、*=、/=、%=

比较运算符,>、<、>=、 <=、= =、!=

逻辑运算符,!、&&、||、&、|、^

位运算符,&、|、^ 、 ~、>>、<<、>>>

(1)、算数运算符

除法运算符/,当除法运算符的2个操作数都是整数时, 计算结果也是整数,是除法结果取整的部分,即5/2=2,5/3=1。如果2个操作数有1个是浮点数,那么结果也是浮点数,结果是自然除法的结果,即 5.0/3=1.666666

++,自加,单目运算符,可以出现在操作数左边,也可以出现在操作数右边。例如 i++,先把操作数 i 放入表达式中运算,然后将 i+1;++i,先把 i 的值 + 1,然后才将操作数 i 放入表达式

--,自减,单目运算符,用法类似++,区别是将操作数的值减1

(2)、赋值运算符

赋值运算符,为变量指定变量值

(3)、比较运算符

比较运算符,用于判断2个变量或常量的大小,返回结果是一个布尔值

>、大于

<、小于

>=、大于等于

<=、小于等于

= =、等于

!=、不等于

(4)、逻辑运算符

逻辑运算符,用于2个布尔型变量或常量

!、非,取反。如果操作数是true,则返回false,反之相反

&&、与,只有前后2个操作数都为true,才返回true,否则返回false

&、不短路与,作用和&&相同,区别是不会短路

||、或,只有前后2个操作数都是false,才返回false,否则返回true

|、不断路或,作用和 || 相同,区别是不会短路

^、异或,只有2个操作数不同时才返回true,如果2个操作数相同则返回false

(5)、位运算符

&、按位与,只有当参加运算的2位都为1时才返回1,否则为0

|、按位或,只有参加运算的2位都为0时才返回0,否则为1

^ 、按位异或,当参加运算的2为不同时,返回1;相同时返回0

~、按位非,单目运算符。将操作数的每个位(包括符号位)全部取反

>>、右移

<<、左移

>>>、无符号右移

(6)、三目运算符

三目运算符格式:表达式1?表达式2:表达式3

当表达式1为true时,返回表达式2的值;当表达式1为false时,返回表达式3的值

看下面程序中的三目运算符

String 是定义一个字符串类型,后面会讲解

public static void main(String[] args) {
		int a = 5;
		int b = 6;
		//定义字符串类型接收结果
		String res = a>b?"a大于b":"b大于a";
		//打印结果字符串
		System.out.println(res);
}

结果输入 b大于a

10、运算符的优先级

运算符有不同的优先级,优先级高的运算符在程序中先执行

算术运算符优先级 > 关系运算符优先级 > 逻辑运算符优先级 > 赋值运算符优先级 

括号优先级最高,可使用括号()来控制表达式的执行顺序

下表是运算符优先级

从上到下,优先级从大到小

1单目运算符++ -- ~ !
2强制类型转换运算符(type)
3乘 除 取余* / % 
4加 减+ - 
5移位运算符<< >> >>>
6比较运算符< <= > >= == !=
7位运算符& ^ | 
8逻辑运算符&& || 
9三目运算符?:
10赋值运算符= += -+ *= /= %=

至此完

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

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

相关文章

Python函数(函数定义、函数调用)用法详解

Python 中函数的应用非常广泛&#xff0c;前面章节中我们已经接触过多个函数&#xff0c;比如 input() 、print()、range()、len() 函数等等&#xff0c;这些都是 Python 的内置函数&#xff0c;可以直接使用。除了可以直接使用的内置函数外&#xff0c;Python 还支持自定义函数…

LeetCode刷题模版:201 - 210

目录 简介201. 数字范围按位与202. 快乐数203. 移除链表元素204. 计数质数205. 同构字符串206. 反转链表207. 课程表【未实现】208. 实现 Trie (前缀树)209. 长度最小的子数组210. 课程表 II【未实现】结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您…

LeetCode[1319]连通网络的操作次数

难度&#xff1a;中等题目&#xff1a;用以太网线缆将 n台计算机连接成一个网络&#xff0c;计算机的编号从 0到 n-1。线缆用 connections表示&#xff0c;其中 connections[i] [a, b]连接了计算机 a和 b。网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其…

(十六)异步编程

CompletableFuture在Java8中推出&#xff0c;Java8中的异步编程就是依靠此类。几种任务接口四种任务无参数有一个参数有两个参数无返回值RunnableConsumerBiConsumer有返回值SupplierFunctionBiFunctionCompletionStage接口这个类中定义的许多能够链式调用的方法和组合方法时是…

Unity3DVR开发—— XRInteractionToolkit(PicoNeo3)

目录 一、开发前的准备 二、基础配置 三、Pico项目配置 四、添加基础功能 一、开发前的准备 1、为了方便开发&#xff0c;先在Pico开发者平台里下载预览工具 Pico开发者平台https://developer-global.pico-interactive.com/sdk?deviceId1&platformId1&itemId17 2、…

【哈希表】关于哈希表,你该了解这些!

【哈希表】理论基础1 哈希表2 哈希函数3 哈希碰撞3.1 拉链法3.2 线性探测法4 常见的三种哈希结构5 总结1 哈希表 哈希表 Hash table &#xff08;一些书籍翻译为散列表&#xff09; 哈希表是根据关键码的值而直接进行访问的数据结构。 直白来讲其实数组就是一张哈希表。 哈希表…

用1行Python代码识别增值税发票,YYDS

大家好&#xff0c;这里是程序员晚枫。 录入发票是一件繁琐的工作&#xff0c;如果可以自动识别并且录入系统&#xff0c;那可真是太好了。 今天我们就来学习一下&#xff0c;如何自动识别增值税发票并且录入系统~ 识别发票 识别发票的代码最简单&#xff0c;只需要1行代码…

CSS的总结

从HTML被发明开始&#xff0c;样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长&#xff0c;为了满足页面设计者的要求&#xff0c;HTML添加了很多显示功能。但是随着这些功能的增加&…

ISIS的路由器级别level-1、level-2、level-1-2,报文格式

2.1.0 ISIS的路由器级别level-1、level-2、level-1-2&#xff0c;报文格式 通过该文章了解ISIS的路由器级别类型、级别之间建立的邻接关系、各级别的作用、ISIS报文的结构。 ISIS路由器级别 Level-1 level-1路由器又称L1路由器&#xff0c;是一种ISIS区域内部路由&#xff0c…

6、运算符

目录 一、赋值运算符 二、算数运算符 三、自增和自减运算符 四、比较运算符 五、逻辑运算符 六、位运算符 1. “按位与”运算 2. “按位或”运算 3. “按位取反”运算 4. “按位异或”运算 5. 移位操作 七、三元运算符 八、运算符优先级 一、赋值运算符 赋值运算…

[Android开发基础1] 五大常用界面布局

文章目录 一、线性布局 二、相对布局 三、帧布局 四、表格布局 五、约束布局 总结 一、线性布局 线性布局&#xff08;LinearLayout&#xff09;主要以水平或垂直方式来显示界面中的控件。当控件水平排列时&#xff0c;显示顺序依次为从左到右&#xff0c;当控件垂直排列时…

29/365 java 网络通信 IP InetAddress

1.网络通信&#xff1a; 如何定位到一台主机&#xff1f; IP地址 定位主机&#xff0c; 端口号定位到具体的应用程序 如何在主机之间通信&#xff08;传输数据&#xff09;&#xff1f; 网络通信协议 2.IP地址分类 IPv4: 32位 IPv6地址&#xff1a;128位 IPv6地址使用以冒号…

初学python100例-案例37 合并排序列表 少儿编程python编程实例讲解

目录 python合并排序列表 一、题目要求 1、编程实现 2、输入输出

C语言形参和实参的区别

如果把函数比喻成一台机器&#xff0c;那么参数就是原材料&#xff0c;返回值就是最终产品&#xff1b;从一定程度上讲&#xff0c;函数的作用就是根据不同的参数产生不同的返回值。这一节我们先来讲解C语言函数的参数&#xff0c;下一节再讲解C语言函数的返回值。C语言函数的参…

浅谈多任务学习

目录 一、前言及定义 二、多任务学习&#xff08;MTL&#xff09;的两种方法 2.1 参数的硬共享机制&#xff08;hard parameter sharing&#xff09; 2.2 参数的软共享机制&#xff08;soft parameter sharing&#xff09; 三、多任务学习模型 3.1 MT-DNN 3.2 ERNIE 2.0…

数学建模学习笔记(9)多元线性回归分析(非常详细)

多元线性回归分析1.回归分析的地位、任务和分类2.数据的分类3.对线性的理解、系数的解释和内生性4.取对数预处理、虚拟变量和交互效应5.使用Stata进行多元线性回归分析6.异方差7.多重共线性8.逐步回归法1.回归分析的地位、任务和分类 回归分析的地位&#xff1a;数据分析中最基…

cclow 面试心得

开源ccflow学习的一些心得目录概述需求&#xff1a;设计思路实现思路分析1.心得参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge …

JavaEE-文件和IO(一)

目录一、文件1.1 认识文件1.2 树型结构组织和目录1.3 文件路径二、Java中操作文件2.1 文件系统相关的操作一、文件 1.1 认识文件 平时说的文件一般都是指存储再硬盘上的普通文件&#xff0c;形如txt&#xff0c;jpg&#xff0c;MP4&#xff0c;rar等这些文件都可以认为是普通…

Java集合常见面试题(四)

Map 接口 HashMap 的底层实现 JDK1.8 之前 JDK1.8 之前 HashMap 底层是 数组和链表 结合在一起使用也就是 链表散列&#xff0c;数组是 HashMap 的主体&#xff0c;链表则是主要为了解决哈希冲突而存在的。 HashMap 通过 key 的 hashcode 经过扰动函数&#xff08;hash函数&…

JAVA基础知识08集合基础

目录 1. 集合 1.1 什么是集合&#xff1f; 1.2 ArrayList 1.2.1 ArrayList 长度可变原理 1.2.2 集合和数组的使用选择 1.2.3 ArrayList 集合常用成员方法 1. 集合 1.1 什么是集合&#xff1f; 集合是一种容器&#xff0c;用来装数据的&#xff0c;类似于数组。 其长度可…