【 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.

相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
55 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
70 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
52 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
38 1
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
43 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
42 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
31 0
|
10天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
33 4
|
8天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
22 1
|
23天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
33 0
[Java]“不同族”基本数据类型间只能“强转”吗?