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

目录

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关键字

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for if goto implements import
instanceof int interface long native
new package private protected public
return short static strictfp super
synchronized switch this throw throws
transient try void volatile while

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 赋值运算符 = += -+ *= /= %=

至此完

猜你喜欢

转载自blog.csdn.net/wsjzzcbq/article/details/128555101