java基础之操作符
一:赋值
1.对基本数据类型的赋值,int a=b; //把b的值复制给a,如果修改了a的值,b 的值不会受到影响。
2.对引用类型的赋值,
public class Text {
public static void main(String[] args) {
Person a=new Person();
Person b=a;
//System.out.println(b.age);
b.age=14;
System.out.println(a.age);
}
}
class Person
{
int age=15;
}
输出结果:14
解: 引用a指向一个堆空间,接着b也指向这个空间,ab共用一个堆空间,当b.age=14改变时候,a也跟着改变。(String虽然也是引用,但是)
二:自增自减
- 前缀递增(递减):++i(--i) :先执行递增(递减)操作,再执行语句。
- 后缀递增(递减):i++(i--) :先执行语句,在执行递增(递减)操作。
int i=1;
System.out.println(i++);
i=2;
System.out.println(++i); 结果:1
3
三:关系操作符
- 组成:大于(>) 小于(<) 小于等于(<=) 大于等于(>=) 等于(==) 不等于(!=)
- 结果:生成的是boolean类型的结果。
- 等于(==)和不等于(!=)适用于所有的基本类型,而其他比较符不适用于boolean类型,比如true>false 没有实际意义。
- 等于(==)和不等于(!=)比较的是对象的引用。
- 我们知道==和!=是用于比较对象的引用,但是如果我们想直接比较对象的值呢?这里可以用equlas()方法来比较,但是这个方法不适用与基本数据类型,基本数据类型用==和!=就可以比较。 注意:equals()默认的是比较引用,但是大多数类都覆盖了equals()以便比较对象的内容,如果是我们创建类中,equals()就不能比较对象的内容因为我们没有重新定义并覆盖这个方法。
public class Text {
public static void main(String[] args) {
String a=new String("abc");
String b=new String("abc");
System.out.println(a.equals(b)); //true a的类String覆盖了equlas()以便比较对象的内容,所以ab相等 Person a1=new Person();
Person b1=new Person();
System.out.println(a1.equals(b1)); //false 自定义类Person中没有覆盖equals(),故还是原来的equals()只能比较地址。
}
}
class Person
{
int i=15;
}
结果: true
false
四、逻辑操作符
1.组成
&&(短路与) ||(短路或) !(非) & |
2.应用范围
与或非只可适用于布尔值,!flag 中flas只能是true或者false,int a=true; 这种表达方式是错误的
java基础之操作符的更多相关文章
- Java基础(一)--操作符
Java底层都是使用操作符来操作Java中的数据 常见的操作符:+.-.*./.= 优先级: 当一个表达式存在多个操作符时,操作符的优先级决定了计算顺序,这点在我们刚开始学习数学的时候就会了解到 如果 ...
- Java基础——2 操作符
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- Java基础知识【上】(转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础应用
Java集合类解析 List.Map.Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素.Set 无法拥有重复元素,内部排序.Map 保存key-value值,v ...
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
- 经典的Java基础面试题集锦
经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用 ...
随机推荐
- 在egret中使用protobuf
原文章删除,重新使用MarkDown排版 在H5游戏领域,对于服务端与客户端的通信协议有一个选择,那就是使用protobuf.js.对于那些直接使用JavaScript开发的引擎而言,protobuf ...
- C#简单验证并限制登录次数小示例
描述:提示用户输入用户名,密码,与数据库中的数据匹配,如果正确则提示登陆成功,否则,提示登陆失败 错误次数超过三次,提示登陆次数过多,禁止登陆 数据表示例: //数据库中ErrorTimes的次数增加 ...
- 在code first结构下的生成的数据迁移文件,upadate-database失败
程序控制台出现 already exist Table "xxx",是由于项目中的Migrations(迁移文件)与连接的mysql数据库里迁移记录表里的数量及名称不一致.
- C语言之printf函数
一 基本用法 格式化控制符:%d %c %ld %lf 意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值 printf ...
- shapeless官方指南翻译写在前面
目录 前言 Shapeless简介 The Type Astronaut's Guide to Shapeless简介 总结 一.前言 在我的2016,感恩.乐观.努力一文中,说2017 ...
- Android自定义控件系列(二)—icon+文字的多种效果实现
转载请注明出处:http://www.cnblogs.com/landptf/p/6290810.html 今天给大家带来一个很简单但是很常用的控件ButtonExtendM,在开发中我们经常会用到图 ...
- 使用LR11录制手机脚本
要使用Loadrunner11录制手机脚本,需要先搭建好测试环境: 能够正常使用的LoadRunner11: 安装一个LR11的补丁包,用于手机录制: pc端和手机端的网络在同一个网段. ...
- JS 处理十六进制颜色渐变算法-输入颜色,输出渐变rgb数组
html颜色有几种表示方式: 英文单词颜色值:background-color:Blue:十六进制颜色值:background-color:#FFFFFF: RGB颜色值三元数字:backgroun ...
- C#笔记(一)常量
常量必须在声明时初始化 常量的值必须能在编译时用于计算.因此,不能用从一个变量中提取的值来初始化常量. 常量总是静态的.但注意,不必(实际上,是不允许)在常量声明中包含修饰符static .
- CountDownLatch使用详解
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...