JAVA基础语法:数据类型及运算符

一、变量和数据类型

1、数据类型

Java属于强数据类型的语言,定义一个变量时,这个变量在之后赋值的过程中,只能赋值为相应的类型。

在这里插入图片描述

1.1整型变量

int:使用int关键字定义一个整形变量
此时声明一个变量,他的类型是int型,并且初始化变量a的值为10
在这里插入图片描述在变量定义是可以不赋值,但是一般推荐定义变量时赋予初始化值。

1.2长整型变量

long:使用long关键字定义一个长整型变量
long为8字节,取值范围非常大,足够满足日常工作需要。
在这里插入图片描述

1.3浮点型变量

1.浮点型变量分为两种:
float: 4字节(单精度浮点数)
double:8字节(双精度浮点数)常用
在java中直接写出来的小数就是double类型的变量
在这里插入图片描述
2.浮点数相乘有误差。
在这里插入图片描述
在工程中有两种解决办法:
1、仍然使用double,但是我们一般只看小数点后6位左右有效数字。
2、使用BigDecimal类来代替double使用。

3.float说明:在这里插入图片描述

1.4字符型变量

char:使用char来定义一个字符型变量
char位2字节,无论是什么语言,只要是字符型变量,都是2字节,使用’'括起来的都是字符字面量,默认都是char类型
在这里插入图片描述

1.5布尔型

boolean只有两个值,真就是true,假就是false,与0和1没有任何关系。
在这里插入图片描述

1.6字符串类型变量

string是引用数据类型,不是基本类型
在这里插入图片描述

转义字符有很多种,默认String类型
\n:换行
\t:水平制表符
':单引号
“:双引号
\:反斜杠
当碰到一些特殊字符时,需要转义输出,所谓的转义输出,就是告诉编译器,对这个字符不要做特殊处理
在这里插入图片描述
在java中,任意数据类型只要和字符串”+",都会把其他类型转变为字符串然后进行字符串的拼接操作。

在这里插入图片描述

1.7常量

若程序中的有些属性不能修改,称这些属性为常量,定义之后值无法修改。定义常量使用final关键字
在这里插入图片描述
所有的字面量也是常量,直接写出来的值,都叫字面量

2.变量的命名规则

硬性指标:
1.一个变量名只能包含数字, 字母, 下划线
2. 数字不能开头
3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量
4. 不能使用java中的关键字作为变量命名

注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈 不推荐这样做。

软性指标:
1.变量命名要具有描述性, 见名知意
2. 变量名不宜使用拼音(但是不绝对)
3.变量名的词性推荐使用名词
3. 变量命名推荐: 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写

Java有以下的关键字,不能作为命名变量
在这里插入图片描述

二.数据类型的转换

在这里插入图片描述

1.int型和long型的转换

a是一个整型,b是long类型,现在把一个long类型的变量赋值给int类型,有可能会导致整形变量放不下b的值。
在这里插入图片描述
程序执行代码都是从右向左执行
a(int)+1(int)=int+int=int ,先进行是a+1=>已经溢出了,把一个移除的值让long b接收了。并不是long放不下,而是储存了一个溢出的值。
在这里插入图片描述
解决方案在这里插入图片描述
数据溢出
在这里插入图片描述

2.int和byte的转换

在这里插入图片描述
对于数值型和字符型来说,小于4字节的数据类型,在存储时会转换为4字节,byte类型在保存时会转换为int类型。
当把byte 类型的保存区间之内的整数赋值给byte时,可以直接赋值,超出byte的范围仍然需要强制类型转换。
在这里插入图片描述
在这里插入图片描述
当把一个int变量赋值给byte时,无论是否超出保存范围,都需要强转。
在这里插入图片描述
a和b自动提升为int,所以仍需强转。
在这里插入图片描述
解决方法:在这里插入图片描述
被final修饰的变量除了数值不能改,类型也不能提升,final byte a =10;
存储时,仍然是byte类型
在这里插入图片描述

3.int和double的转换

数据部分丢失
在这里插入图片描述
解决方法
int/double=double/double
在这里插入图片描述
大类型转小类型,发生数据丢失
在这里插入图片描述

4.int和char的转换

计算机的内部都是0和1,char字符会按照不同的编码规则转为int存储。
在这里插入图片描述
大到小要强转:
在这里插入图片描述

5.int和String的转换

int->String
1.直接使用String对象+
2.使用String的ValueOf方法
在这里插入图片描述
String->int
调用int包装类Integer.parselent()的方法
在这里插入图片描述
当字符串包含了非数字时,转换会出错:由于str中包含了非数字,调用方法时就会报错,称为java运行时异常
在这里插入图片描述

三.运算符

1.算术运算符(±*/%)

a.相同数据类型进行数学运算,得到的值仍然是本类型
小类型和大类型进行数学运算,先把小类型提升为大类型然后进行运算
b.除法中,0不能作为除数
在这里插入图片描述
c.%称为取模运算,求余数,不仅可以用于整数,也可以用于小数
在这里插入图片描述

2. 增量赋值运算(+= *= /= %=)

a+=1
a=a+1

b*=2
b=b*2

3.自增和自减运算符

a++:先取a的值,然后进行自增操作
++a:先自增,然后再取值
在这里插入图片描述

4.关系运算符(== != < > <= >=)

关系运算符运算之后得到的都是布尔值
在这里插入图片描述

5.逻辑运算符(&& || !)

得到的值也是布尔值
&&:逻辑与
||:逻辑或
!:逻辑取反

6.位运算符(了解即可)

直接在二进制位上进行操作的运算符

7.移位运算(了解即可)

a.<<
b.>>
c.>>>

8.条件运算符(唯一一个三目运算符)

表达式1?表达式2:表达式3
当表达式1位true时取表达式2的值,否则取表达式3的值。在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值