《21天学通Java(第6版)》—— 2.8 问与答

简介:

本节书摘来异步社区《21天学通Java(第6版)》一书中的第2章,第2.8节,作者:【美】Rogers Cadenhead,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 问与答

21天学通Java(第6版)
问:如果将一个超出变量取值范围的整数值赋给该变量,将发生什么情况?

答:从逻辑上说,您可能认为该变量将被转换为与之接近的更大类型,但情况并非如此。相反,将发生溢出,即从一个极端回到另一个极端。例如,byte变量的值从127(可接受的值)变到128(不可接受)时,将转到最小的可接受值,即−128,然后往上增大。您并不希望程序中发生溢出,因此将值赋给变量时,不应超过其所属数据类型的取值范围。

在计算机的内存很少,每个字节的内存都很金贵时,使用byte等较短的数据类型显得很重要。当前,计算机配置了大量内存和硬盘空间,其大小以吉字节计,因此最好使用较长的数据类型,如int,这样可确保变量有足够的空间存储所有可能的值。

问:为什么Java包含所有对应于数学运算和赋值的简化运算符?它们不太好阅读。

答:Java的语法是基于C++的,而后者又是基于C的(又是一个俄罗斯嵌套洋娃娃)。C是一种专家语言,它更重视功能,而不是可读性,简化运算符是这种设计思想的产物之一。并不是非得在程序中使用它们,因为可能采用其他方式。如果愿意,可以在程序中尽量避免使用它们。

相关文章
|
存储 Java C++
《21天学通Java(第6版)》—— 1.7 问与答
有些面向对象编程语言确实将它们叫做函数(C++将它们叫做成员函数)。其他一些面向对象语言将位于类(对象)内、外的函数区分开来,因为在这些语言中,使用不同的术语对理解每个函数的工作原理至关重要。因为其他语言有这种区别,同时术语“方法”在面向对象技术中很常用,所以Java也使用这个术语。
1398 0
|
Java
《Java入门经典(第7版)》—— 6.9 问与答
答:一对双引号之间没有任何文本就表示空字符串。下面的代码创建一个名为georgeSays的字符串变量,并将其值设置为空:
1051 0
|
Java 程序员 编译器
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.10 问与答
问:在Java程序的每行中插入适当数量的空格有多重要? 答:对计算机而言,这完全不重要。空格无疑会让阅读计算机程序的人受益,但Java编译器对空格的数量并不关心。在编写Saluton程序时,你也可以不使用空格或Tab键进行缩进,而且它也能成功编译。
1323 0
|
Java C++
《21天学通Java(第7版)》—— 2.8 问与答
从逻辑上说,您可能认为该变量将被转换为与之接近的更大类型,但情况并非如此。相反,将发生溢出,即从一个极端回到另一个极端。例如,byte变量的值从127(可接受的值)变到128(不可接受)时,将转到最小的可接受值,即−128,然后往上增大。
1565 0
|
存储 Java C++
《21天学通Java(第7版)》—— 1.7 问与答
有些面向对象编程语言确实将它们叫做函数(C++将它们叫做成员函数)。其他一些面向对象语言将位于类(对象)内、外的函数区分开来,因为在这些语言中,使用不同的术语对理解每个函数的工作原理至关重要。因为其他语言有这种区别,同时术语“方法”在面向对象技术中很常用,所以Java也使用这个术语。
1267 0
|
4天前
|
Java
Java并发编程:深入理解线程池
【4月更文挑战第30天】本文将深入探讨Java并发编程中的一个重要主题——线程池。我们将从线程池的基本概念入手,了解其工作原理和优势,然后详细介绍如何使用Java的Executor框架创建和管理线程池。最后,我们将讨论一些高级主题,如自定义线程工厂和拒绝策略。通过本文的学习,你将能够更好地理解和使用Java的线程池,提高你的并发编程能力。
|
2天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
12 3
|
2天前
|
Java
JAVA难点包括异常处理、多线程、泛型和反射,以及复杂的分布式系统知识
JAVA难点包括异常处理、多线程、泛型和反射,以及复杂的分布式系统知识。入坑JAVA因它的面向对象特性、平台无关性、强大的标准库和活跃的社区支持。
13 2
|
2天前
|
Java 调度 开发者
Java中的多线程编程:基础与实践
【5月更文挑战第2天】本文将深入探讨Java中的多线程编程,从基础概念到实际应用,为读者提供全面的理解和实践指导。我们将首先介绍线程的基本概念和重要性,然后详细解析Java中实现多线程的两种主要方式:继承Thread类和实现Runnable接口。接着,我们将探讨线程同步的问题,包括synchronized关键字和Lock接口的使用。最后,我们将通过一个实际的生产者-消费者模型来演示多线程编程的实践应用。
|
2天前
|
安全 Java 程序员
Java中的多线程编程:从理论到实践
【5月更文挑战第2天】 在计算机科学中,多线程编程是一项重要的技术,它允许多个任务在同一时间段内并发执行。在Java中,多线程编程是通过创建并管理线程来实现的。本文将深入探讨Java中的多线程编程,包括线程的概念、如何创建和管理线程、以及多线程编程的一些常见问题和解决方案。
12 1