JAVA易错点详解(数据类型转换、字符串与运算符)

简介: JAVA易错点详解(数据类型转换、字符串与运算符)

JAVA易错点详解(数据类型转换、字符串与运算符)

前言

文章讲解一些易错题,小伙伴们有任何看不懂的可以评论或私信我,若文章错误,也希望大家能够指出。

一.数据类型转换

1.小类型转换为大类型

2.整数转换为小数,会有误差。

3.字符型会提升为整型在参与计算。

例如byte和short在计算时,会转换为int在参与计算,那么为什么吗?

原来计算机通常把低于四个字节的类型提升为int,再参与计算。

byte a = 10;
byte b = 20;
byte c = (byte)(a+b);//byte型的a与b参与计算后变为8个字节
      //byte型的c只能有一个字节,所以发生了强制类型转换
System.out.println(c);//30

易错:从int转换到byte可能有损失

二、字符串

再java中的类库中提供了一个预定义类,String。

使用方法如下:

String str = "abcd";
或者
String str;
str = "abcd";

易错题

1.字符串的拼接

int a = 10;
int b = 20;
System.out.println("a = "+a +"b = "+b);//a = 10b = 20
System.out.println(a+b);

2.字符串拼接其他为字符串

System.out.println("a + b = "+a+b);//a + b = 1020
System.out.println(a+b+"a + b ");//30a + b 

三、运算符

1、算术运算符中的 /与%

System.out.println(10%0);//编译错误
        System.out.println(11.5%5);//1.5
        System.out.println(10/-2);//-5
        System.out.println(-10/2);//-5
        System.out.println(-10/-2);//5

2.自增运算符

int a  =10;
        a =a++;
        System.out.println(a);//输出结果为10

3.赋值运算符

int a  = 4;
      double d = 5.0;
      a += d;
        //+=操作符来说,会自动转换
      System.out.println(a);

4.关系运算符

在JAVA中的 逻辑非!后面只能跟true或false

int a = 10;
System.out.println(!a);//错误
System.out.println(!false);
System.out.println(!true);
相关文章
|
29天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
103 60
|
19天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
37 6
|
20天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
43 4
|
19天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
33 1
|
2月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
43 7
|
2月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
53 15
|
2月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
24 3
|
2月前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
38 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
2月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
23 1
|
2月前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
21 0