0

0

关于Java编程思想总结笔记Chapter3详解

黄舟

黄舟

发布时间:2017-07-24 14:32:39

|

1248人浏览过

|

来源于php中文网

原创

本章需要总结的不多,但细节的东西需要注意,有些很容易遗忘。

第三章

目录:

  • 3.1 更简单的打印语句

  • 3.2 使用Java操作符

  • 3.3 优先级

  • 3.4 赋值

    立即学习Java免费学习笔记(深入)”;

  • 3.5 算数操作符

  • 3.6 自动递增和递减

  • 3.7 关系操作符

  • 3.8 逻辑操作符

  • 3.9 直接常量

  • 3.10 按位操作符

  • 3.11 移位操作符

  • 3.12 三元操作符 if-else

  • 3.13 字符串操作符 + 和 +=

  • 3.14 使用操作符时常犯的错误

  • 3.15 类型转换操作符

  • 3.16 Java没有sizeof

  • 3.17 操作符小结

  • 3.18 总结

3.2 使用Java操作符

操作符为“=”、“==”和“==”能够操作所有的对象。

3.4 赋值

若对象使用 c=d,那么c和d都指向原本只有d指向的那个对象。

当 t1 = t2 时(别名现象),接着修改 t1 同时也会改变 t2,因为 t1、t2 包含相同的引用,指向相同的对象。
若想保持两个对象彼此独立,可这样 t1.level = t2.level;  。

3.6 自动递增和递减

a = 15,++a、--a: System.out.printf("~output:" + a++);   //~ output:15a = 15,a++、a--: System.out.printf("~output:" + ++a);   // ~ output:16

3.7 关系操作符

上面两个Integer对象内容相同,但引用却是不同的,而==和!=比较的就是对象的引用(基本类型直接比较值,并没有引用)。若想比较对象内容,使用equals()方法。

注意:equals() 方法的默认行为是比较引用,所以必须在自己的新类中覆盖e quals() 方法,否则不会出现你想要的效果。大多数Java类库都覆盖了equals()方法,以便可以比较对象的内容。例子如下:

3.9 直接常量

 十六进制 :前缀 0x 、    八进制: 前缀 0 、   二进制没有直接常量的表示方法。

指数计数法: 1.39e-43f 表示1.39 * 10-43       e 代表“10的幂次”。

万兴爱画
万兴爱画

万兴爱画AI绘画生成工具

下载

3.10 按位操作符

按位操作符的运算对象是二进制的“位”(比特),Java对它的设计初衷是嵌入电视机机顶盒内,所以这种面向底层的操作仍被保留下来。但是很少用到为操作符。

&与    |或    ^异或   ~非 ,将布尔类型作为一种单比特值对待的话,不能执行非按位(~),为了避免与逻辑NOT混淆。按位操作符与逻辑运算符类似,但没有短路效果 。

3.11 移位操作符

运算对象是二进制的“位”,只可用来处理整数类型(布尔类型不行)。

负数要先转换为补码再运算就不介绍了。

左移(高位的n个0被舍去,最低位补n个0

11的二进制形式为1011  1111 = 44  相当于整数11*2n

右移(低位的n个数字移出,在高位补n个零)>>:

11的二进制形式为1011  11>>2 之后的二进制为 0010  所以11>>2 = 2   相当于整数11/2n

 无符号右移操作符>>>: 无论正负都向低位移出n个数字,在高位补n个零
注意:对byte或short值进行无符号右移(>>>),得到的可能不是正确的结果。它们先被转换成int类型,再进行右移操作,然后被截断,赋值给原来的类型,在这种操作的情况下可能得到-1的结果,例子如下:

 

位运算汇编级执行速度是很快的,所以面试的时候可能会问:Java中用最有效率的方法算出2 乘以8 等于几?   答:2

实际意义不大,这点速度提高没意义代码不直观。

3.16 Java没有sizeof

Java不需要sizeof()操作符,因为所有数据类型在所有机器中的大小都是相同的,不必考虑“移植”问题。

 

总结:太容易的知识点,又经常用到就不在笔记中出现,全部出现还不如重新看书。

 

今天在某软件看到这样的吐槽

看到立马想到Java编程思想的第二章里面的知识点:

当变量作为类的成员使用时,Java才确保给定其默认值,来确保基本类型成员变量得到初始化(初始值可能不是你想要的,最好自己初始化)。注意默认初始化的方法不适用于非某个类的字段变量,忘记初始化,Java会在编译时给你返回一个错误。

堆栈:位于通用RAM(随机访问寄存器)中,Java编译器必须知道存储在堆栈内所有数据的大小和生命周期,“堆栈指针”向下移动则分配新内存,向上移动则释放内存,速度仅次于寄存器,基本数据类型和引用存放在此。

局部变量运行时被分配在栈中,量大,生命周期短,如果虚拟机给每个局部变量都初始化一下,是一笔很大的开销,但变量不初始化为默认值就使用是不安全的。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3万人学习

C# 教程
C# 教程

共94课时 | 8万人学习

Java 教程
Java 教程

共578课时 | 53.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号