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);
相关文章
|
2月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
311 108
|
30天前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
165 2
|
30天前
|
Java Go 开发工具
【Java】(4)五种运算符的说明(&&、||、>=、>、<=、<)、4种控制语句(if、for、while、dowhile)、输入和输出说明
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a。并且,连接运算之后的结果还是一个字符串类型。表达式1 : 表达式2。
86 1
|
30天前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
78 1
|
2月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
79 12
|
3月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
4月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
285 14
|
4月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
197 0
|
8月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
127 13