`

3_(JAVA基础300集最全教程 学习)java 数据类型--一个类型强制转换的问题

阅读更多
1.运行以下代码会报:Type mismatch: cannot convert from int to byte

public static void main(String[] args) {
byte a=1;
byte b=2;
byte c=a+b;
System.out.println(c);
}


使用2目运算符的运算中,低于int型的都会转成int运算
高于int型的会转成最高的那个类型运算
使用3目运算符时,相对低级的数值会提升

所以应该修改为以下方式:
public static void main(String[] args) {
byte a=1;
byte b=2;
byte c=(byte)(a+b);
System.out.println(c);
}


2.计算时溢出问题:

public static void main(String[] args){
    long times=7000*60*24*365*70;
    System.out.println(times);
}


运行结果为:-154037760

看结果应该是溢出了。

public static void main(String[] args){
    long times=7000*60*24*365*70L;
    System.out.println(times);
}


运行结果为:-43103710720

最后已经转换为long类型了,问什么还是会溢出呢??

再把类型转换放在最前面:
public static void main(String[] args){
    long times=7000L*60*24*365*70;
    System.out.println(times);
}


运行结果为:257544000000

所以这里就要求我们在进行这类计算时,需要把类型转换放置到最前面,避免在计算中就已溢出。

3.类型的转换规则:
                  char
                   |
                   |
byte---->short---->int---------->long
                   |              |
                   |              |       
                  float--------->double

int--->double

int---->float丢失精度
long--->float丢失精度
long--->double丢失精度



4. swhitch 支持的类型为整型和枚举型(在JDK7中新增String类型),当出错时则会报:Only convertible int values or enum variables are permitted

根据基本类型的转换规则,所以此处所有会自动转换为int类型的类型就可以,所以包含的类型为:byte,short,char,int及enum

分享到:
评论

相关推荐

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-066-Java基本语法-数据类型转换-强制转换.avi 北京动力节点-Java编程零基础教程-067-Java基本语法-数据类型转换-大小容量数据混合运算.avi 北京动力节点-Java编程零基础教程-068...

    java 常用基础类型之强制转换

    在Java编程语言中,强制类型转换是将一个数据类型转换为另一个数据类型的语法操作。这通常发生在需要将数值从精度较高的类型转换为精度较低的类型,或者在处理对象时需要明确指定子类对象为父类类型的情况。在“java...

    【IT十八掌徐培成】Java基础第02天-03.数据类型-强制类型转换.zip

    当我们将一个数据类型赋值给另一个兼容的、范围更大的数据类型时,Java会自动进行类型转换,这称为自动类型提升。例如,byte到int,short到int,char到int,以及float到double。 4. 强制类型转换: 相反,当我们...

    Java基本数据类型转换-学习笔记.docx

    在Java编程语言中,了解和掌握基本数据类型的转换至关重要,因为这是编写高效、无错代码的基础。本篇学习笔记将详细解析Java中的数据类型转换及其相关的知识点。 首先,我们需要了解Java的基本数据类型,它们分为两...

    java 强制类型转换示例

    在Java编程语言中,强制类型转换是将一个数据类型转换为另一个兼容的数据类型的过程。这通常发生在处理不同类型的变量或对象之间需要交互的情况。在Java中,有两种类型的转换:自动类型转换(隐式转换)和强制类型...

    java-数据类型转换、运算符、方法入门_java_

    在Java编程语言中,数据类型转换、运算符和方法是构建程序的基础元素。这篇入门级资料将引导初学者深入理解这些关键概念。 首先,我们来探讨数据类型转换。Java提供了两种类型转换:自动类型转换(隐式转换)和强制...

    java基础教程_java教程_java_

    - **变量与数据类型**:Java支持基本数据类型(如int、float、boolean等)以及引用数据类型(类、接口和数组)。变量是用来存储数据的容器。 - **运算符**:包括算术运算符、比较运算符、逻辑运算符等,用于执行...

    JAVA【第3章:Java基础程序设计】_Java数据类型

    在Java编程语言中,数据类型是程序设计的基础,它们决定了变量可以存储的值的种类和范围。本章将深入探讨Java中的数据类型,分为两大类:基本数据类型和引用数据类型。 1. 基本数据类型: - 整型:Java提供了四种...

    深入分析java中的类型转换

    类型转换是Java编程语言中的一个重要特性,它使得程序可以在不同类型的数据之间进行转换。在Java中,类型转换主要分为两大类:**隐式自动类型转换**和**强制手动类型转换**。 #### 隐式自动类型转换 隐式自动类型...

    Java基础案例教程(第2版)_PPT.zip

    3. **数据类型**:Java有两类数据类型:基本类型(如整型、浮点型、字符型和布尔型)和引用类型(如类、接口和数组)。理解它们的区别和使用场景至关重要。 4. **变量和常量**:变量是存储数据的容器,常量则是不可...

    JAVA数据类型思维导图

    在Java编程语言中,数据...通过以上内容,我们可以看到这个“JAVA数据类型思维导图”资源对于Java初学者来说非常有价值,它涵盖了Java编程的基础,并提供了辅助学习的视觉工具。结合实际操作,可以有效地提升编程技能。

    Java数据类型操作包含转换代码实例.rar

    在Java编程语言中,数据...总之,Java数据类型的转换是编程基础中的重要一环,理解和熟练运用这些转换技巧对于编写高效、安全的代码至关重要。这个压缩包的代码实例和中文注释无疑为初学者提供了一个很好的学习资源。

    Java实验-基本数据类型及操作

    2. 显示类型转换:显示类型转换是指使用强制类型转换符号将一种数据类型转换为另一种数据类型的过程,例如将int类型转换为float类型。 三、控制台输入输出方法 控制台输入输出方法是指使用System.in和System.out...

    Java基础尚硅谷宋红康学习笔记

    2. **泛型**:泛型提供了一种在编译时检查类型安全的方法,允许在类、接口和方法中使用类型参数,减少强制类型转换。 3. **枚举**:枚举是Java中的一种特殊类,用于定义一组固定的常量,提高了代码的可读性和安全性...

    JAVA数据类型转换.pdf

    ### JAVA数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要的技能。本文档将详细介绍Java中的数据类型转换,包括简单数据类型之间的转换、字符串与其他数据类型的转换以及一些实用的...

    Java大学实用教程 实验二 基本数据类型和数组 实验报告

    通过这个实验,学生不仅能学习到Java的基本数据类型和类型转换,还能掌握如何从键盘读取数据,并理解Unicode字符集的工作原理。这些基础知识对于进一步学习Java编程至关重要,也是后续学习面向对象编程、类和对象等...

    SE_JAVA_EXP_E046.zip

    【SE_JAVA_EXP_E046.zip】是一个与Java编程相关的学习资源,它包含了易智教云课堂上一道练习题的满分答案。这道习题可能是面向正在学习Java编程的学生们,旨在帮助他们理解和掌握Java语言的核心概念和编程技巧。由于...

    java数据类型-数据转换-转义字符借鉴.pdf

    Java编程语言中的数据类型是程序设计的基础,它们分为两种主要类别:原始(primitive)数据类型和引用(reference)数据类型。原始数据类型包括整型、浮点型、字符型和布尔型,而引用数据类型通常指的是类(class)、接口...

    java 数据类型转换

    当一个数据类型转换为另一个兼容的、范围更大的数据类型时,Java会自动执行这种转换。例如: 1. **数值类型之间的转换**: - 小型数据类型可以自动转换为大型数据类型,如`byte`到`short`,再到`int`,再到`long`...

Global site tag (gtag.js) - Google Analytics