【Java】详细讲解数据类型与运算符
🏠大家好,我是Yui_💬
🍑如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🚀如有不懂,可以随时向我提问,我会全力讲解~
🔥如果感觉博主的文章还不错的话,希望大家关注、点赞、收藏三连支持一下博主哦~!
🔥你们的支持是我创作的动力!
🧸我相信现在的努力的艰辛,都是为以后的美好最好的见证!
🧸人的心态决定姿态!
💬欢迎讨论:如有疑问或见解,欢迎在评论区留言互动。
👍点赞、收藏与分享:如觉得这篇文章对您有帮助,请点赞、收藏并分享!
🚀分享给更多人:欢迎分享给更多对编程感兴趣的朋友,一起学习!
文章目录
- 1.变量和类型
- 1.1 整型变量
- 1.2 长整形变量
- 1.3 双精度浮点型变量
- 1.4 单精度浮点数
- 1.5字符类型变量
- 1.6 字节类型变量
- 1.7 短整型变量
- 1.8 布尔类型变量
- 1.9 字符串类型变量
- 1.9.1 字符串拼接
- 1.10 变量的作用域
- 1.11 变量的命名规则
- 2. 运算符
- 2.1 算术运算符
- 2.2 关系运算符
- 2.3 逻辑运算符
- 2.4 位运算符
- 3. 总结
1.变量和类型
变量指的程序运行时可以改变的量,是在内存开辟的一段空间存储的一些数据。
类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。
1.1 整型变量
语法:
int 变量名 = 初始值;
int a = 100;
System.out.print(a);
注意:
- int表示变量的类型是一个整型。
- 变量名是变量的标识,后续就是通过变量名来使用这个变量的。
- java中的
=
是用来赋值的,数学中的相同用==
来表示。 - 定义变量时是否初始化是可选择的,不过建议赋一个值。
- 记得加
;
,这不是python。
在java中,整型也是占4个字节。字节是什么东西就不需要我再科普了吧。
4个字节可以表示的数据范围:-2^32 ~ 2^32-1
打印整型的最大于最小数据:
public class Main {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
//打印结果:
/*
2147483647
-2147483648
*/
如果我们超出最大范围会怎么样呢?
数据会溢出!
为了避免数据溢出的情况,java也提供了具有更大数据范围的类型,long
。
1.2 长整形变量
语法格式:
long 变量名 = 初始值;
使用:
long a = 100L;
System.out.print(a);
- 初始值设定为10L,表示的是一个长整形的数字,当然写成10l也可以。
- 单纯使用10表示的整型,虽然会继续整型提升为long,但是直接使用10L初始化还是更好一点。
java中long的数据范围-2^64 ~ 2^64-1
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
//打印结果:
/*
9223372036854775807
-9223372036854775808
*/
这种数据范围,还是能够支持绝大多数的场景的。
1.3 双精度浮点型变量
语法格式:
double 变量名 = 初始值;
int a = 1;
int b = 2;
System.out.print(a/b);
//打印结果:0
Java中也有与C语言相同的截断操作,整型运算的结果一定是整型,小数部分会直接截断。
为了计算小数部分,java也提供了浮点型。
double a = 1;
double b = 2;
System.out.print(a/b);
//打印结果:0.5
double的误差
double num = 1.1;
System.out.print(num*num);
//打印结果:1.2100000000000002
java的double类型的内存布局遵循IEEE754标准,尝试使用有限的内存空间表示无限的小数,势必存在一定的误差。
1.4 单精度浮点数
格式:
float 变量名 = 初始值;
代码实例:
float num = 1.0f;
System.out.print(num);
float类型再java中占4个字节,同样遵循IEEEE754标准,由于表示的数据精度范围较小,一般在工程中优先考虑double,不太使用float。
1.5字符类型变量
格式:
char 变量名 = 初始值;
代码实例:
char ch = 'A';
- java中使用
单引号 + 单个字母
的形式表示字符字面值。 - 计算机中的字符本质是一个整型,在C语言中使用ASCII表示字符,但是在java中使用Unicode表示字符,因此一个字符会占两个字节,表示的字符种类更多,也能表示中文了。
char chinese = '我';
System.out.print(chinese);
//打印结果:我
执行javac如果出现错误,加上以下内容:
javac -encoding UTF-8 Test.java
1.6 字节类型变量
语法:
byte 变量名 = 初始值;
代码实例:
byte value = 0;
System.out.print(value);
//0
- 字节类型表示的也是整数,只占一个字节,表示的范围小。\[-128,+127]
- 字节类型与字符类型不相干。
1.7 短整型变量
语法:
short 变量名 = 初始值;
代码实例:
short value = 0;
System.out.print(value);
- short占用2个字节,数据范围:\[-32768,+32767]。
- 表示范围小,一般不用。
1.8 布尔类型变量
语法:
boolean 变量名 = 初始值;
代码实例:
boolean value = False;
System.out.print(value);
//False
- boolean类型的变量只有两种取值,True表示真,False表示假。
- java的boolean类型和int类型不能相互转换,不能和C/C++那样0表示假,非0表示真。
- boolean类型有些JVM的实现占一个字节,有些占一个比特位,没有明确规定。
1.9 字符串类型变量
字符串就是一些字符的集合。
语法:
String 变量名 = "初始化";
代码实例:
String name = "yui";
System.out.print(name);
//yui
- java使用双引号和一些字符来表示字符串的字面值。
- 与前面的类型不同,String不是基本类型,而是引用类型。
- 字符串中的一些特定的不太方便的直接表示的字符需要进行转义。
String name = "my name is \"yui\"";
大家可以去百度一些常见的转义字符。
1.9.1 字符串拼接
字符串与字符串拼接
String str = "hello ";
String str2 = "world";
String str3 = str + str2;
System.out.print(str3);
//hello world
字符串与整数拼接
String str = "hahaha";
int a = 100;
String mix = str+a;
System.out.print(mix);
//hahaha100
这段代码也就说明了,当+
表达式中存在字串时,都是执行字符串拼接行为,这也就导致了我们在打印数据时,可以利用这一点。
int a = 100;
int b = 200;
System.out.print("a = "+a+",b = "+b);
1.10 变量的作用域
就是该变量能生效的范围,一般是变量定义所在的代码块(大括号)
class Test{
public static void main(String[] args){
{
int x = 10;
System.out.println(x);//编译通过
}
System.out.println(x);//编译不通过
}
}
1.11 变量的命名规则
硬性指标:
- 一个变量名只能包含数字, 字母, 下划线
- 数字不能开头.
- 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.
注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈 不推荐这样做.
软性指标: - 变量命名要具有描述性, 见名知意.
- 变量名不宜使用拼音(但是不绝对).
- 变量名的词性推荐使用名词.
- 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大
写
2. 运算符
2.1 算术运算符
就是基本的四则运算+ - * /
加上%
(取模)
- 增量赋值运算符
+= -= *= /= %=
int a = 10;
a+=1; // a = a + 1
- 自增/自减运算符
++/--
int a = 10;
a++;
/*
a = a
a = a+1
*/
++a;
/*
a = a+1;
a = a;
*/
2.2 关系运算符
== != < > <= >=
注意: 关系运算符的表达式返回值都是 boolean 类型
2.3 逻辑运算符
&& || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean
你只要知道:
&&
等同于且
||
等同于或
!
等同于非
就可以了。
2.4 位运算符
Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个:
& | ~ ^
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的
每一位依次进行计算
3. 总结
Java 类型汇总. 以上的内容介绍的是基本数据类型,后续会给大家介绍引用数据类型。
由于 Java 是强类型语言, 因此对于类型检查较严格, 因此像 && 之类的运算操作数必须是 boolean,整体来看, Java 的运算符的基本规则和 C 语言基本一致。