【 JavaSE 】 数据类型和运算符(二)

简介: 本文主要讲解: 掌握各种数据类型 变量作用域及命名和常量 类型转换及数值提升

布尔类型变量-boolean


  • 基本语法格式:
boolean 变量名 = 初始值;//初始值只能是true\flase
  • 示例:
boolean value = true; 
System.out.println(value);
  • 注意:
  1. boolean 类型的变量只有两种取值, true 表示真, false 表示假(与C语言不同)
  2. Java 中 boolean 类型和 int 不能相互转换(类型不兼容),不存在 1 表示 true, 0 表示 false 这样的用法
  3. boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定


字符串类型变量-String


String不是基本类型,是引用类型

  • 基本语法格式:
String 变量名 = "初始值";
  • 示例:
String name = "zhangsan"; 
System.out.println(name);

注:Java 使用 双引号 + 若干字符 的方式表示字符串字面值

name存放的是字符串所占的那片空间的地址

字符串拼接

字符串“+”任意类型的数据结果是字符串

  • 示例:
//字符串与字符串拼接
String a = "hello"; 
String b = "world"; 
String c = a + b; 
System.out.println(c);
输出结果:hello world
//字符串和整数进行拼接
int a = 10;
System.out.println("a = " + a);
输出结果:a=10

注意:当想要先计算数据时可以加上括号

  • 示例:
1. int a = 10;
2. int b = 20;
3. System.out.println("a+b = " + (a + b));
4. 输出结果:a+b=30

字符串转义

字符串中的一些特定的不太方便直接表示的字符需要进行转义(同C语言)

  • 示例:
String str = "Hello \"xxx\" !";
System.out.println(str);
输出结果:Hello "xxx" !
  • 特殊的转义字符:

QQ图片20220418222615.png

变量的作用域


定义:指变量能生效的范围,

一般是变量定义所在的代码块 (大括号)(与C语言一致)

变量的命名规则

  • 硬性指标:

1. 一个变量名只能包含数字, 字母, 下划线

2. 数字不能开头

3. 变量名是大小写敏感的. num Num 是两个不同的变量

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

  • 软性指标:

1. 变量命名要具有描述性, 见名知意

2. 变量名不宜使用拼音(但是不绝对)

3. 变量名的词性推荐使用名词

4. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写

常量


定义:指的是运行时类型不能发生改变

字面值常量

10    // int 字面值常量(十进制) 
010   // int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8 
0x10  // int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16 
10L   // long 字面值常量. 也可以写作 10l (小写的L) 
1.0   // double 字面值常量. 也可以写作 1.0d 或者 1.0D 
1.5e2   // double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2 
1.0f  // float 字面值常量, 也可以写作 1.0F 
true  // boolen 字面值常量, 同样的还有 false 
'a'   // char 字面值常量, 单引号中只能有一个字符
"abc"   // String 字面值常量, 双引号中可以有多个字符

final 关键字修饰的常量

1. final int a = 10; 
2. a = 20; // 编译出错. 提示 无法为最终变量a分配值

注:常量不能在程序运行过程中发生修改

类型转换


int 和 long/double 相互赋值

隐性类型转换

小范围类型赋值给大范围类型(不会报错)

显性类型转换

大范围类型赋值给小范围类型(会报错)

  • 示例:
1. int a = 10; 
2. long b = 20; 
3. a = b; // 编译出错, 提示可能会损失精度
4. b = a; // 编译通过

注:使用强制类型转化的方式可以将 double 类型强制转成 int,但是可能精度缺失

  • 示例:
1. int a = 10; 
2. long b = 20; 
3. a = b; // 编译出错, 提示可能会损失精度
4. b = a; // 编译通过

注:使用强制类型转化的方式可以将 double 类型强制转成 int,但是可能精度缺失

总结:

1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型

2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失

3.

相关文章
|
5月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
66 1
|
19天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
4月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
93 2
|
5月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
59 1
|
5月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
49 0
|
5月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
48 0
|
2月前
|
Java
Java基础之数据类型
Java基础之数据类型
23 6
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
80 7
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
81 4
|
2月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
47 1