1.操作符种类:

运算顺序1-7

  1. 一元操作符(单目操作符)  - 负号, + 正号,--递减,++递增
  2. 算术操作符 + - *  /  %
  3. 移位操作符  <<左移(低位补0),>>右移(负数高位1,正数高位补0), >>>无符号右移 (无论正负高位补0)(对二进制),(可与 = 结合使用 <<=     >>=   >>>=  类似 i += 1)
  4. 关系操作符 >  <  >=  <=  ==  !=   (生成boolean值)
  5. 逻辑操作符  &&  ||  ! (生成boolean值)
  6. 按位操作符 &与  | 或  ^ 异或  ~ 非(一元) (对二进制)
  7. 三元操作符
boolean-exp? value0 : value1 //如果表达式为真则为值value0,为假则为value1

2.前缀式和后缀式

  1. 前缀式 -- ++  如 --i; ++i; 先对i执行-1,+1 ,再赋值给i然后执行后面的运算;
  2. 后缀式 -- ++ 如 i--; i++; 运算(i--)结束后立刻再对i进行-1 +1;
  3. 后缀式有一个陷阱就是 i = i++ , 这代码有坑, i 不会自增,原因
int s = 1;
int i = s++ * 3;
System.out.println(s);//
System.out.println(i);//
s = 1;
i = ++s * 3;
System.out.println(s);//
System.out.println(i);//
s = 1;
i = s++ + (s * 3);
System.out.println(s);//
System.out.println(i);//

4.  因后缀式在表达式中位置不同而造成计算结果的不同

int g = 5;               //表达式g + (g++ + g) 在内存中从左往右加载,计算时按优先级计算
int i = g + (g++ + g); //第一个g=5, g++为5 最后一个g为6, 向内存中加载数据时第一个g是5,加载运算完g++后,之后的g就是6
System.out.println(i);//
g = 5;
i = g++ + (g + g);//g++为5 后两个g为6
System.out.println(i);//

3.别名现象: 不同引用指向同一个对象

4.随机数生成

Random rand = new Random() ;
int k = rand.nextInt(100);
int j = rand.nextFloat(); //0.0~1.0间 位数不一定
  1. 创建Random对象时没有参数(种子)传入,会以当前时间作为随机数生成器的种子传入
  2. 对于相同的种子会长生相同的随机数序列,当前时间不停在变随机数序列也不同
  3. 生成不同类型随机数调用对应方法即可
  4. nextInt()方法的参数决定了随机数的上限,同时也决定了下限0,做除数时要+1

5. 短路:

  • 使用逻辑操作符时会出现不再计算表达式余下部分例如:test1() && test2() && test3();
  • 如果首先计算出test1()为false,那么false && test2 肯定为false,test2()就不会执行,【false && test2】为false test3()也不会执行,如果&&成了|| 那么就要执行test3()了。

6.直接常量规范

  • float  或 Float 赋初始值时使用L 如 float  f =  2L;  double加d或者D,16进制数前缀0X, 8进制前缀o

7.基本数据间的类型转换详情

  1. byte,short,char 运算时会将结果提升为int
  2. 类型自动提升 小范围类型 + 大范围类型 = 大范围类型   (byte,short,char)  int  long  float  double    依次增大
  3. char c = 'a' 转整型会转为对应ASCII码值,char c = 98 转String会转为对应字符
  4. float, double转为整型直接结尾,不会四舍五入,四舍五入使用java.lang.Math中的round()方法。

8.数据类型

《Java编程思想》笔记 第三章 操作符的更多相关文章

  1. Java编程思想 4th 第3章 操作符

    有了数据,还需要进行数据间的运算,因此Java中也有数据间运算的各种符号,书本称之为操作符,正确的翻译应该是运算符. Java中的运算符同C++相同,运算符同运算符对象构成表达式,表达式是运算对象及运 ...

  2. Java编程思想 笔记

    date: 2019-09-06 15:10:00 updated: 2019-09-24 08:30:00 Java编程思想 笔记 1. 四类访问权限修饰词 \ 类内部 本包 子类 其他包 publ ...

  3. java编程思想笔记(1)

    java编程思想笔记(1) 一,对象的创建和生命周期 对象的数据位于何处?怎样控制对象的生命周期? 在堆(heap)的内存池中动态地创建对象. java完全采用了动态内存分配方式. 二,垃圾回收器 自 ...

  4. #Java编程思想笔记(一)——static

    Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static ...

  5. 《Java编程思想》第一二章

    前段时间一直通过网络教程学习Java基础,把面向对象部分学完之后本来打算继续深入学习,但是感觉自己操之过急了,基础根本不够扎实,所以入手了一本<Java编程思想>,希望先把基础打好,再深入 ...

  6. Java编程思想 4th 第2章 一切都是对象

    Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成 ...

  7. 2.1(java编程思想笔记)位移操作

    java位移操作主要有两种: 有符号位移:有符号位移会保留原有数字正负性,即正数依然是正数,负数依然是负数. 有符号位左移时,低位补0. 有符号右移时:当数字为正数,高位补0.当数字为负时高位补1. ...

  8. Java编程思想 4th 第1章 对象导论

    所有编程语言都提供抽象机制. 面向对象编程似乎是一种很好的编程思想和方式,面向对象编程中的对象简洁描述是:对象具有状态.行为和标识.状态指的是数据存储,存储的数据能反应状态:行为指的是方法,方法表示对 ...

  9. JavaScript高级编程学习笔记(第三章之一)

    继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...

  10. 深入Java虚拟机读书笔记第三章安全

    为什么需要安全性 Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术.Java安全模型侧重于保护终端用户免受从网络下载的.来自不可靠来源的.恶意程序(以及善于程序中的bug ...

随机推荐

  1. 线段树——hdu1754I Hate It

    一.题目回顾 题目链接:I Hate It Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感.不管你喜不喜欢 ...

  2. 揭开网络编程常见API的面纱【上】

    Linux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作. 1.socket(famil ...

  3. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  4. coredump分析

    首先通过命令 gdb freeswitch core.60954进入gdb. 这里freeswitch 是产生coredump的可执行应用,core.60954是应用产生的coredump文件. 然后 ...

  5. AJAX基本演示使用

    Servlet配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="h ...

  6. Elasticsearch中的分词器比较及使用方法

    Elasticsearch 默认分词器和中分分词器之间的比较及使用方法 https://segmentfault.com/a/1190000012553894 介绍:ElasticSearch 是一个 ...

  7. BZOJ 3876:支线剧情(有下界最小费用最大流)

    3876: [Ahoi2014]支线剧情 Description [故事背景]宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧 ...

  8. text-overflow使用文字超多div的宽度或超过在table中<td>

    关键字:text-overflow:ellipsis 语法:text-overflow:clip | ellipsis 取值 clip:默认值.不显示省略标记(...),而是简单的裁切. ellips ...

  9. BZOJ4321 queue2(动态规划)

    考虑套路地将1~n依次加入排列.设f[i][j]为已将1~i加入排列,有j对不合法的方案数.加入i+1时可能减少一对不合法的,可能不变,可能增加一对,对于i+1与i的关系再增设0/1/2状态表示i与左 ...

  10. 【BZOJ 1485】[HNOI2009]有趣的数列 卡特兰数

    这个题我是冲着卡特兰数来的所以就没有想到什么dp,当然也没有想到用卡特兰数的原因........... 你只要求出前几项就会发现是个卡特兰数,为什么呢:我们选择地时候要选择奇数位和偶数位,相邻(一对里 ...