`
田智伟
  • 浏览: 206405 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java--操作符

阅读更多

java中的操作符与其他主流语言的操作符基本类似,所以如果你有其他语言的编程经验,那么这里只需要了解一下不同点就是了。

我不太建议代码中使用大量的优先级操作,太复杂的分几步走,稍微复杂的加括号,我一直觉得很多时候大项目需要的不是说代码性能是第一位的,而是可读性是第一位的,如果别人看懂你的代码要1个月,那我觉得可以考虑重写或者翻新了。这可能也是框架大行其道的一个主要原因。

在java中有一种数据是特例:基本类型,java是面向对象语言,所以大部分的对象都是靠引用来传递的,唯独基本类型除外,比如 

int a=4;

int b=6;
a=b;
System.out.println(a);
a=3;
System.out.println(a);
System.out.println(b);

 这时候的输出应该是:6,3,6,因为基本类型存储的是实际值而不是指向一个对象的引用,所以当为其赋值的时候,是直接讲一个地方的内容复制到了另一个地方了,所以a的操作不会对b造成任何影响。

 

java中很多操作符刚开始可能使用场景决定了你不太可能考虑用到它,不如按位操作,不过有一种场景因为工作的缘故发现及其好用,比如如下场景:

一个博客的功能如下:可以被评论,不可以被评论;可以分享,不可以分享;可以“赞”,不可以“赞”;那么设计表的时候我们习惯上来3个字段表示三个功能,通过不同数值表示不同状态,但是,这样造成的后果也是显而易见的,如果增加了其他的功能,那么就需要做表的变更,这个有点不能接受,那么这时候我们试想一下,我们只需要表示的是一些非0即1的状态,那么习惯上我们是不是就考虑到了我们熟悉的0101的东西?于是他还有一个好处是可以表示同时拥有多种状态,所以其实我们考虑使用一个字段,通过按位操作表示多种不同的状态,比如第一位表示评论,第二位表示分享,那么11表示可评论,可分享,则用10进制表示为:3,如果按位于为3则表示两种状态,如此等等了。

详细说明参见:http://guoba6688-sina-com.iteye.com/blog/1670732

java中的102可以表示为1.02e2d,表示1.02的10的2次方,后边的d表示结果的类型,即整形。

java中的舍入使用的是java.lang.Math中的round()方法。

java中的字节自动提升是一个陷阱不过这个陷阱在IDE下基本不存在,只存在于变态面试题中

比如:

java表达式中数据类型的自动提升( + - * / %)
   首先看表达式有没有字符串的类型,如果有字符串的类型,类型自动提升为字符串类型
   然后看有没有没double,float,long类型,如果都没有的话,自定提升为int类型
byte ba = 1;
byte bb = 2;
byte result = ba + bb;
 

 

0
0
分享到:
评论

相关推荐

    mysql-connector-java-8.0.11

    - **JSON增强**:改进了对JSON数据类型的处理,包括新的函数和操作符,使得处理JSON数据更加灵活。 - **窗口函数**:引入了SQL标准的窗口函数,允许在分组后的数据上进行聚合计算,增强了数据分析能力。 - **...

    java-property-utils-1.9.jar

    Java属性工具库(Java Property Utils)是一个常用的Java开发中的组件,主要用来处理和操作Java的系统属性和配置文件。在Java编程中,属性文件通常用于存储应用的配置信息,如数据库连接字符串、日志级别等。`java-...

    jdk-1.7-java-7-openjdk-amd64.zip

    3. **钻石操作符**:对于泛型实例化,可以省略类型参数的显式指定,如`new ArrayList()`。 4. **文件API增强**:引入了`java.nio.file`包,提供了更强大、更易用的文件操作接口,支持Path、Files和Paths类等。 5. ...

    mysql-connector-java-8.0.12

    - Spring JdbcTemplate 和 Spring Data JPA:Spring 框架提供了简化数据库操作的工具,如 JdbcTemplate,以及基于注解的 JPA(Java Persistence API)接口,可以更方便地集成 MySQL 数据库。 - ORM(对象关系映射...

    陈宝峰视频-Java基础-03.操作符与表达式

    陈宝峰视频-Java基础-03.操作符与表达式 wmv格式

    java-意想不到的迷惑

    Java中的取余操作符`%`遵循这样的规则:`(a / b) * b + (a % b) == a`,这意味着取余结果与被除数具有相同的符号。所以,当`i`为负奇数时,`i % 2`实际上是-1而不是1,导致`isOdd`方法返回错误的结果。为了解决这个...

    java-code-style.xml下载

    6. **对齐与括号**:文件可能设定了括号的放置位置,例如"K&R"风格或"ALLMAN"风格,以及是否强制对齐赋值操作符。 7. **类型和变量声明**:文件可能规定了基本类型的首选使用,如`int` vs `Integer`,以及何时应...

    java72-java-advance.zip

    4. **钻石操作符**:在创建泛型类型的实例时,可以省略类型参数的指定,Java会自动推断。例如,`new ArrayList()`简化为`new ArrayList()`。 5. **文件系统API增强**:Java 7引入了新的NIO.2文件系统API,提供了更...

    java-7-openjdk-amd64-linux.tar.gz

    这个版本引入了许多新特性,包括类型推断(钻石操作符)、多 catch 块、try-with-resources语句、动态类型语言支持等,旨在提升开发效率和代码的可读性。 2. **OpenJDK**: OpenJDK项目始于2006年,是Oracle公司与...

    Java操作符总结-动力节点共20页.pdf.zip

    Java编程语言中的操作符是程序设计中的重要组成部分,它们用于执行特定的数学或逻辑运算,帮助我们...动力节点的这20页总结,全面覆盖了Java操作符的基础知识,对于初学者和有经验的开发者来说,都是很好的参考资料。

    cccctyl-java-basic-notes-master_java_

    在Java编程中,权限设置通常涉及到访问控制修饰符(如public, private, protected)以及类、方法和变量的可见性。正确地设置权限能防止未授权的访问,保护代码的内部实现细节,并维护程序的封装性。此外,描述中的...

    University-classic-java--program.rar_university

    Java的学习通常从基础开始,包括了解如何声明和使用变量、操作符、流程控制(如if语句、for循环、while循环)、函数的定义和调用。随着知识的深入,会接触到面向对象编程的核心概念,如封装、继承和多态。这些都体现...

    java-jdk1.7-jdk-7u80-windows-x64.zip

    2. **多路返回值**:使用`钻石操作符(Diamond Operator)`,在创建泛型实例时可以省略类型参数,编译器会自动推断出类型。 3. **尝试-with-resources语句**:这是一种自动关闭资源的机制,可以确保在finally块中正确...

    64位-java-Window电脑系统.zip

    Java 7,也称为Java SE 7 (Java Platform, Standard Edition 7),是Java编程语言的一个主要版本,包含了诸多新特性,如try-with-resources语句,多catch块,钻石操作符等。对于开发者来说,理解这些特性以及它们如何...

    java-jsp网站模板

    3. **控制类(Controller.java)**:在MVC(Model-View-Controller)架构中,控制器负责处理用户请求,调用模型进行数据操作,并将结果传递给视图进行展示。 4. **模型类(Model.java)**:模型层用于处理业务逻辑...

    java-ee-job-2-master.zip

    4. **JPA(Java Persistence API)**:JPA是用于对象关系映射的API,简化了数据库操作,使得Java对象可以直接与数据库表进行交互。 5. **JMS(Java Message Service)**:JMS提供了消息传递机制,允许异步通信和...

    appium-java环境搭建

    - **验证安装**: 命令提示符中输入`java -version`,查看输出结果确认安装是否成功。 **2. 安装Android ADT & SDK** - **下载ADT Bundle**: 从[官方链接]...

    cors-filter-2.6和java-property-utils-1.13

    Java Property Utils提供了便利的方法来读取、写入和操作这些文件。它可能包含以下功能: 1. 动态加载和刷新属性文件,无需重启应用。 2. 支持链接到类路径或文件系统的属性文件。 3. 转义和unescape属性值,处理...

Global site tag (gtag.js) - Google Analytics