前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Java】详细讲解数据类型与运算符

【Java】详细讲解数据类型与运算符

作者头像
Yui_
发布2025-01-21 12:43:43
发布2025-01-21 12:43:43
5700
代码可运行
举报
文章被收录于专栏:Yui编程知识Yui编程知识
运行总次数:0
代码可运行

1.变量和类型

变量指的程序运行时可以改变的量,是在内存开辟的一段空间存储的一些数据。 类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。

1.1 整型变量

语法:

代码语言:javascript
代码运行次数:0
复制
int 变量名 = 初始值;
代码语言:javascript
代码运行次数:0
复制
int a = 100;
System.out.print(a);

注意:

  • int表示变量的类型是一个整型。
  • 变量名是变量的标识,后续就是通过变量名来使用这个变量的。
  • java中的=是用来赋值的,数学中的相同用==来表示。
  • 定义变量时是否初始化是可选择的,不过建议赋一个值。
  • 记得加;,这不是python。 在java中,整型也是占4个字节。字节是什么东西就不需要我再科普了吧。 4个字节可以表示的数据范围:-2^32 ~ 2^32-1 打印整型的最大于最小数据:
代码语言:javascript
代码运行次数:0
复制
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 长整形变量

语法格式:

代码语言:javascript
代码运行次数:0
复制
long 变量名 = 初始值;

使用:

代码语言:javascript
代码运行次数:0
复制
long a = 100L;
System.out.print(a);
  • 初始值设定为10L,表示的是一个长整形的数字,当然写成10l也可以。
  • 单纯使用10表示的整型,虽然会继续整型提升为long,但是直接使用10L初始化还是更好一点。 java中long的数据范围-2^64 ~ 2^64-1
代码语言:javascript
代码运行次数:0
复制
System.out.println(Long.MAX_VALUE);  
System.out.println(Long.MIN_VALUE);
//打印结果:
/*
9223372036854775807
-9223372036854775808
*/

这种数据范围,还是能够支持绝大多数的场景的。

1.3 双精度浮点型变量

语法格式:

代码语言:javascript
代码运行次数:0
复制
double 变量名 = 初始值;
代码语言:javascript
代码运行次数:0
复制
int a = 1;
int b = 2;
System.out.print(a/b);

//打印结果:0

Java中也有与C语言相同的截断操作,整型运算的结果一定是整型,小数部分会直接截断。 为了计算小数部分,java也提供了浮点型。

代码语言:javascript
代码运行次数:0
复制
double a = 1;
double b = 2;
System.out.print(a/b);
//打印结果:0.5

double的误差

代码语言:javascript
代码运行次数:0
复制
double num = 1.1;
System.out.print(num*num);

//打印结果:1.2100000000000002

java的double类型的内存布局遵循IEEE754标准,尝试使用有限的内存空间表示无限的小数,势必存在一定的误差。

1.4 单精度浮点数

格式:

代码语言:javascript
代码运行次数:0
复制
float 变量名 = 初始值;

代码实例:

代码语言:javascript
代码运行次数:0
复制
float num = 1.0f;
System.out.print(num);

float类型再java中占4个字节,同样遵循IEEEE754标准,由于表示的数据精度范围较小,一般在工程中优先考虑double,不太使用float。

1.5字符类型变量

格式:

代码语言:javascript
代码运行次数:0
复制
char 变量名 = 初始值;

代码实例:

代码语言:javascript
代码运行次数:0
复制
char ch = 'A';
  • java中使用单引号 + 单个字母的形式表示字符字面值。
  • 计算机中的字符本质是一个整型,在C语言中使用ASCII表示字符,但是在java中使用Unicode表示字符,因此一个字符会占两个字节,表示的字符种类更多,也能表示中文了。
代码语言:javascript
代码运行次数:0
复制
char chinese = '我';
System.out.print(chinese);

//打印结果:我

执行javac如果出现错误,加上以下内容:

代码语言:javascript
代码运行次数:0
复制
javac -encoding UTF-8 Test.java

1.6 字节类型变量

语法:

代码语言:javascript
代码运行次数:0
复制
byte 变量名 = 初始值;

代码实例:

代码语言:javascript
代码运行次数:0
复制
byte value = 0;
System.out.print(value);
//0
  • 字节类型表示的也是整数,只占一个字节,表示的范围小。\[-128,+127]
  • 字节类型与字符类型不相干

1.7 短整型变量

语法:

代码语言:javascript
代码运行次数:0
复制
short 变量名 = 初始值;

代码实例:

代码语言:javascript
代码运行次数:0
复制
short value = 0;
System.out.print(value);
  • short占用2个字节,数据范围:\[-32768,+32767]。
  • 表示范围小,一般不用。

1.8 布尔类型变量

语法:

代码语言:javascript
代码运行次数:0
复制
boolean 变量名 = 初始值;

代码实例:

代码语言:javascript
代码运行次数:0
复制
boolean value = False;
System.out.print(value);
//False
  • boolean类型的变量只有两种取值,True表示真,False表示假。
  • java的boolean类型和int类型不能相互转换,不能和C/C++那样0表示假,非0表示真
  • boolean类型有些JVM的实现占一个字节,有些占一个比特位,没有明确规定。

1.9 字符串类型变量

字符串就是一些字符的集合。 语法:

代码语言:javascript
代码运行次数:0
复制
String 变量名 = "初始化";

代码实例:

代码语言:javascript
代码运行次数:0
复制
String name = "yui";
System.out.print(name);
//yui
  • java使用双引号和一些字符来表示字符串的字面值。
  • 与前面的类型不同,String不是基本类型,而是引用类型
  • 字符串中的一些特定的不太方便的直接表示的字符需要进行转义。
代码语言:javascript
代码运行次数:0
复制
String name = "my name is \"yui\"";

大家可以去百度一些常见的转义字符。

1.9.1 字符串拼接

字符串与字符串拼接

代码语言:javascript
代码运行次数:0
复制
String str = "hello ";
String str2 = "world";
String str3 = str + str2;
System.out.print(str3);
//hello world

字符串与整数拼接

代码语言:javascript
代码运行次数:0
复制
String str = "hahaha";
int a = 100;
String mix = str+a;
System.out.print(mix);
//hahaha100

这段代码也就说明了,当+表达式中存在字串时,都是执行字符串拼接行为,这也就导致了我们在打印数据时,可以利用这一点。

代码语言:javascript
代码运行次数:0
复制
int a = 100;
int b = 200;
System.out.print("a = "+a+",b = "+b);

1.10 变量的作用域

就是该变量能生效的范围,一般是变量定义所在的代码块(大括号)

代码语言:javascript
代码运行次数:0
复制
class Test{
	public static void main(String[] args){
		{
			int x = 10;
			System.out.println(x);//编译通过
		}
		System.out.println(x);//编译不通过
	}
}

1.11 变量的命名规则

硬性指标:

  1. 一个变量名只能包含数字, 字母, 下划线
  2. 数字不能开头.
  3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量. 注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈 不推荐这样做. 软性指标:
  4. 变量命名要具有描述性, 见名知意.
  5. 变量名不宜使用拼音(但是不绝对).
  6. 变量名的词性推荐使用名词.
  7. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大 写

2. 运算符

2.1 算术运算符

就是基本的四则运算+ - * /加上%(取模)

  • 增量赋值运算符+= -= *= /= %=
代码语言:javascript
代码运行次数:0
复制
int a = 10;
a+=1; // a = a + 1
  • 自增/自减运算符++/--
代码语言:javascript
代码运行次数:0
复制
int a = 10;
a++;
/*
a = a
a = a+1
*/

++a;
/*
a = a+1;
a = a;
*/

2.2 关系运算符

代码语言:javascript
代码运行次数:0
复制
== != < > <= >=

注意: 关系运算符的表达式返回值都是 boolean 类型

2.3 逻辑运算符

代码语言:javascript
代码运行次数:0
复制
&& || !

注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean 你只要知道:

  • &&等同于
  • ||等同于
  • !等同于 就可以了。

2.4 位运算符

Java 中对数据的操作的最小单位不是字节, 而是二进制位. 位运算符主要有四个:

代码语言:javascript
代码运行次数:0
复制
& | ~ ^

位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的 每一位依次进行计算

3. 总结

Java 类型汇总. 以上的内容介绍的是基本数据类型,后续会给大家介绍引用数据类型。 由于 Java 是强类型语言, 因此对于类型检查较严格, 因此像 && 之类的运算操作数必须是 boolean,整体来看, Java 的运算符的基本规则和 C 语言基本一致。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档