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);
目录
打赏
0
4
4
0
23
分享
相关文章
Java 字符串详解
本文介绍了 Java 中的三种字符串类型:String、StringBuffer 和 StringBuilder,详细讲解了它们的区别与使用场景。String 是不可变的字符串常量,线程安全但操作效率较低;StringBuffer 是可变的字符串缓冲区,线程安全但性能稍逊;StringBuilder 同样是可变的字符串缓冲区,但非线程安全,性能更高。文章还列举了三者的常用方法,并总结了它们在不同环境下的适用情况及执行速度对比。
45 17
Java字符串缓冲区
字符串缓冲区是用于处理可变字符串的容器,Java中提供了`StringBuffer`和`StringBuilder`两种实现。由于`String`类不可变,当需要频繁修改字符串时,使用缓冲区更高效。`StringBuffer`是一个线程安全的容器,支持动态扩展、任意类型数据转为字符串存储,并提供多种操作方法(如`append`、`insert`、`delete`等)。通过这些方法,可以方便地对字符串进行添加、插入、删除等操作,最终将结果转换为字符串。示例代码展示了如何创建缓冲区对象并调用相关方法完成字符串操作。
36 13
|
20天前
|
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
47 17
|
19天前
|
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
49 15
|
19天前
|
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
19天前
|
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
|
18天前
|
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
29 6
|
19天前
|
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
19天前
|
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
|
19天前
|
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容