Java—数据类型与运算符

数据类型与运算符



前言

java和c++都属于强类型语言,定义一个变量时,必须指定这个变量的类型,这个变量在赋值过程中,只能赋值为相应类型的值

一、数据类型分类

数据类型
8大基本类型
引用数据类型
数值型
字符型
布尔型
整形
浮点型
数组
接口
byte
short
int
long
float
double
char
boolean

二、8大基本类型

基本类型都是纯小写的英文单词(在Java中,单词的大小写是完全敏感的)

8大基本类型中,每个基本类型都有对应的类的类型(包装类)
在这里插入图片描述
只有intchar类型的包装类拼写比较特殊

数据类型 包装类
byte Byte
short Short
int Interger
long Long
float Float
double Double
char Character
boolean Boolean

1.数据类型

byte(1字节) < short(2字节) < int(4字节) < long(8字节)

1.1int类型

int:使用int关键字定义一个整形变量,int类型为4个字节(4byte),与操作系统和JVM版本无关
int a = 10;
此时声明了一个变量,他的类型为int(整形),并且初始化变量a的值
在Java中变量定义时可以不赋值,但是一般推荐定义变量时赋予初始化值(int a;);在方法中定义的变量—>局部变量,必须赋值后才能使用
在这里插入图片描述

1.2long类型

long类型的基本语法格式与int类型相似,需要注意的是,在定义了一个long类型的变量时,给其赋值的时候,需要在数值后面加上字母L(或小写的l)

long numl = 100l;
long num2 = 200L;

1.3short类型

1.占用两个字节,表示范围是(-32768—32767)
2.表示范围较小,不建议使用

1.4byte类型

1.字节类型只占用一个字节,表示范围较小(-128—127)
2.一般用在文件和网络传输中

1.5字符型(char)

在对字符型变量赋值时,需要使用’ ’

char num = 'b';
char num1 = '哈'

在这里插入图片描述

1.6布尔类型(boolean)

1.布尔类型的赋值只能为false或true。true表示真,false表示假
2.在c语言中我们使用0表示假,1表示真,但是在Java的boolean不存在,同时他不能和int类型互相转换
3.boolean类型在有些有些JVM实现时占用一个字节,有些时候占用一个比特位,没有明确规定。
在这里插入图片描述

1.7双精度浮点型变量(double)

在Java中,整形和整形相除仍然是整形,这就导致很多相除之后存在小数的,小数部分会自动舍弃

 int a = 7;
 int b = 2;
 System.out.println(a/b);
 //执行结果
 3

如果想要精确值,就可以使用double类型进行运算

 int a = 7;
 int b = 2;
 System.out.println(a/b);
 //执行结果
 3.5

double类型的浮点数精确到小数点后十二位

1.8单精度浮点型变量(float)

Java中默认小数类型都是double类型,如果要定义一个float类型的的小数,要在该小数后面加上F(大写小写都可以)

float num = 1.5l;
float num1 = 1.5L;

float类型的浮点数精确到小数点后六位

1.9字符串类型(String)(非基本类型)

把一些字符放在一起构成字符串。

String ret = "初始值";
String ret1 = "chushizhi";

1.在定义字符串类型时使用" ",String的首字母S要大写
2.String不是基本类型,是引用类型
3对于一些特定的不方便表示的字符需要进行转义
转义字符
常用的转义字符表:
在这里插入图片描述

例如:

//输出\"李四'\
String ret = "\\\"李四\"\\";
System.out.println(ret);

字符串的+操作(拼接操作)

String a = "helow";
String b = "world";
System.out.println(a + b);
//输出结果
helloworld

三.运算符

1·算术运算符

1.1基本四则运算符(+ 、 - 、*)

1.规则和普通四则运算相似,唯一的不同点就是int类型的 / 和 %
2.int / int时,结果还是int,需要使用double来计算。
3.在int类型中,/ 表示取整操作,%表示取余操作。

例如

int a = 123;
System.out.println(a/10);
System.out.println(a%10);
//运行结果
12
3

1.2增量赋值运算符(+= -= *= /= %=)

int a = 3;
a += 4;//a = a + 4
System.out.println(a);
//运算结果
7

1.3自增/自减运算符(++ --)

2·关系运算符

关系运算符返回的是布尔类型的值,即true或者false。

== , != , < , > , <= , >=

int a = 10;
int b = 20;
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(a<b);
System.out.println(a>b);
System.out.println(a<=b);
System.out.println(a>=b);
//运算结果
false
true
true
false
true
false

3.逻辑运算符

&& , || , !

逻辑运算符的操作数和返回值都是boolean。

3.1逻辑与&&、逻辑或||、逻辑非!

&&:两个操作数都为true时,结果为true,否则结果为false。
|| :两个操作数结果都为false时,结果为false,否则结果为true。
!:操作数为true时,结果为false,操作数为false时,结果为true。

4.位运算符

& , | ,~ , ^

Java中对数据的操作的最小单位不是字节,而是二进制位。
位操作表示按照二进制位运算,计算机中都是使用二进制来表示数据的(01构成的序列),按位运算就是按照二进制位的每一位依次进行运算。

4.1按位与&、按位或|、按位异或^

按位与:均为1时,输出为1
按位或:均为0时,输出为1
按位异或:相同为0,不同为1

4.2按位取反

如果该位为1则转化为0,如果该位为0则转化为1
结果把这个数取相反数再减一。
在这里插入图片描述

5.条件运算符(三目运算符)

条件运算符只有一个:

表达式1? 表达式2: 表达式3 ;

规则

当表达式1的值为true时,取表达式2,当表达式为false时,取表达式3

在这里插入图片描述

6.移位运算

移位运算按照二进制来运算

6.1左移(<<)

丢弃最左侧,在最右侧补0

6.2右移(>>)

丢弃最右侧,最左侧补(正数补0,负数补1)

6.3无符号右移(>>>)

在Java中没有无符号左移

丢弃最右侧,最左侧补0

猜你喜欢

转载自blog.csdn.net/weixin_57011679/article/details/124277013