YaxuSong

代码的世界我不懂.

  • 主页
  • 随笔
  • JAVA
  • Linux
  • ATLASSIAN
  • 简历
搜索 友请链接 关于我

YaxuSong

代码的世界我不懂.

  • 主页
  • 随笔
  • JAVA
  • Linux
  • ATLASSIAN
  • 简历

《Thinking in java》读书笔记(18)

2017-09-18

3.9直接常量

直接常量是的编译器准确的知道要生成什么样的类型,但是有的时候确实模棱两可。发生这种情况,一般情况下我们需要对编译器加以适当的“指导”。

我们可以在常量后边加一些后缀字符标志它的类型。
若为大写(或小写)的L,代表Long(但是,是用小写字幕l容易造成混淆,因为它看起来很像数字1)。大写(或小写)字母F,代表float,大写(或小写)字母D,代表double。
十六进制则是用前缀0x或(0X),后边跟随0-9或小写(或大写)的a-f来代表。
八进制则是以0位前缀,后边跟随0-7的数字。

名称 前缀 后缀 字符
Long L/l 0-9
Double D/d 0-9
Float F/f 0-9
十六进制 0x/0X 0-9,a-f/A-F
八进制 0 0-7

3.9.1 指数记数法

Java采用了一种很不直观的记数法来表示指数。

1
2
3
4
float expFloat = 1.39e-43f;
expFloat = 1.39E-43f;
double expDouble = 47e47d;
double expDouble2 = 47e47;

我们知道在科学与工程领域,“e”代表自然对数的技基数,约等于2.718(Java中的Math.E给出了更精确的double值)。
example
这种用法正是C、C++以及Java中都存在的。
在Java中看到1.39e-43,表示的是1.39*10(-43).

3.10 按位操作符

按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
对应的规则是:

名称 操作
与(&) 如果两个输入位都是1,则输出1否则输出0
或(丨) 如果两个输入位有一个是1,则输出1否则输出0
异或(^) 如果两个输入位某一个是1,但不全是1,则输出1
非(~) 也成取反操作,属于一元操作符

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
*
* @ClassName AutoInc
* @author yaxuSong
* @date 2017年9月11日 下午5:50:18
* @Description TODO
*/
public class AutoInc {
public static void main(String[] args) {
int front=10;
int back=14;
int res1=front&back;
int res2=front|back;
int res3=front^back;
int res4=~front;
System.out.println(Integer.toBinaryString(front)+"&"+Integer.toBinaryString(back)+"="+Integer.toBinaryString(res1));
System.out.println(Integer.toBinaryString(front)+"|"+Integer.toBinaryString(back)+"="+Integer.toBinaryString(res2));
System.out.println(Integer.toBinaryString(front)+"^"+Integer.toBinaryString(back)+"="+Integer.toBinaryString(res3));
System.out.println("~"+Integer.toBinaryString(front)+"="+Integer.toBinaryString(res4));
}
}

Output:

1010&1110=1010
1010|1110=1110
1010^1110=100
~1010=11111111111111111111111111110101

按位操作符也可与等号(=)联合使用,&=、|=、^=都是合法的,而~是一元操作符,不呢个和=连用。
我们将布尔类型作为一种单比特值对待,所以我们可以使用按位“与”、按位“或”、按位“异或”。但不能使用按位“非”。
对于布尔值,它们与逻辑操作符的结果相同,但是他们不会中途“短路”。
虽然存在按位“异或”,但是我们并不能用它来进行“逻辑”操作。
例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
*
* @ClassName compare
* @author yaxuSong
* @date 2017年9月18日 上午12:18:16
* @Description TODO
*/
public class compare {
static boolean t1() {
System.out.println("t1运行了");
return false;
}
static boolean t2() {
System.out.println("t2运行了");
return true;
}
static boolean t3() {
System.out.println("t3运行了");
return false;
}
static boolean t4() {
System.out.println("t4运行了");
return true;
}
public static void main(String[] args) {
System.out.println("结果:"+ (t1()&t2()));
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println("结果:"+ (t2()|t4()));
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println("结果:"+ (t2()&t4()));
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println("结果:"+ (t3()|t4()));
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
}
}

Output

t1运行了
t2运行了
结果:false
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
t2运行了
t4运行了
结果:true
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
t2运行了
t4运行了
结果:true
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
t3运行了
t4运行了
结果:true
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

赏

谢谢你请我吃糖果

支付宝
微信
  • 读书笔记
  • Java

扫一扫,分享到微信

微信分享二维码
《Thinking in java》读书笔记(19)
《Thinking in java》读书笔记(17)
  1. 1. 3.9直接常量
    1. 1.1. 3.9.1 指数记数法
  2. 2. 3.10 按位操作符
Like Issue Page
Error: Not Found
Login with GitHub
Styling with Markdown is supported
Powered by Gitment
© 2019 YaxuSong
Hexo Theme Yilia by Litten
  • 搜索
  • 友请链接
  • 关于我

tag:

  • 随笔
  • ATLASSIAN
  • 读书笔记
  • Java
  • Linux
  • JAVA

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • jira-managing-project-permissions

    2018-08-22

    #读书笔记

  • SpringBoot使用Swagger2

    2018-06-10

    #JAVA

  • Redisson 的介绍与使用

    2018-06-04

    #JAVA

  • Spring Boot 关乎java程序员

    2018-05-16

    #JAVA

  • Kafka在SpringBoot 2.0中的整合-1

    2018-05-07

    #JAVA

  • 微信公众号后台在SpringBoot2.0中的实现(上)

    2018-05-01

    #JAVA

  • Kafka在SpringBoot 2.0中的整合

    2018-04-23

    #Java

  • Redis在SpringBoot 2.0中的整合

    2018-04-18

    #Java

  • 好久都没有发表博客了

    2018-04-18

    #随笔

  • 使用Xtrabackup备份InnoDB(MySQL)

    2018-03-06

    #Linux

  • LinuxMySQL的安装(3)

    2018-02-08

    #Linux

  • Linux下MySQL主从数据库的安装与配置

    2018-02-08

    #Linux

  • Linux离线安装Nginx

    2018-02-07

    #Linux

  • Linux定时任务备份mysql和数据

    2018-02-06

    #ATLASSIAN#Linux

  • 回家过年前一周

    2018-02-05

    #随笔

  • LinuxMySQL的安装(2)

    2018-02-02

    #ATLASSIAN#Linux

  • Atlassian产品设置JVM

    2018-01-31

    #读书笔记

  • Crucible安装

    2018-01-29

    #读书笔记

  • 当璀璨速朽成尘埃

    2018-01-25

    #读书笔记

  • JIRA高于7.2版本导出xlsx格式的EXCEL文件

    2018-01-22

    #ATLASSIAN

  • Linux离线git的安装

    2018-01-17

    #Linux

  • 终于复活啦

    2018-01-15

    #随笔

  • LinuxMySQL的安装(1)

    2018-01-15

    #ATLASSIAN#Linux

  • Bitbucket的安装

    2018-01-15

    #ATLASSIAN

  • JIRA修改license

    2018-01-11

    #ATLASSIAN

  • rsync的使用与配置

    2018-01-09

    #Linux

  • 最近电脑重装了,导致电脑里边的博客全没了

    2018-01-08

    #随笔

  • JIRA安装

    2017-12-15

    #ATLASSIAN

  • Nginx代理Atlassian产品(2):Use Domain:*.mydomain.com

    2017-12-13

    #ATLASSIAN

  • Nginx代理Atlassian产品(1):Use Domain:www.mydomain.com/*

    2017-12-13

    #ATLASSIAN

  • Atlassian产品使用单点登陆-SSO

    2017-12-13

    #ATLASSIAN

  • Atlassian产品安装环境准备-数据库(1):MySQL

    2017-12-11

    #ATLASSIAN

  • 《Thinking in java》读书笔记(23)

    2017-11-24

    #读书笔记#Java

  • 《Thinking in java》读书笔记(22)

    2017-11-24

    #读书笔记#Java

  • Java工程师成神之路

    2017-11-24

    #Java

  • say something to myself

    2017-11-23

    #随笔

  • 怀念那些我喜欢的经典

    2017-10-25

    #随笔

  • 《Thinking in java》读书笔记(21)

    2017-10-24

    #读书笔记#Java

  • 国庆快乐

    2017-10-01

    #随笔

  • 《Thinking in java》读书笔记(20)

    2017-09-30

    #读书笔记#Java

  • 《Thinking in java》读书笔记(19)

    2017-09-27

    #读书笔记#Java

  • 《Thinking in java》读书笔记(18)

    2017-09-18

    #读书笔记#Java

  • 《Thinking in java》读书笔记(17)

    2017-09-18

    #读书笔记#Java

  • 《Thinking in java》读书笔记(16)

    2017-09-11

    #读书笔记#Java

  • 回忆总是会使我泪流满面

    2017-09-05

    #随笔

  • 迷茫

    2017-09-01

    #随笔

  • 一个人的情人节

    2017-08-28

    #随笔

  • 没有什么事情是办不到的,只怕你没法战胜自己

    2017-08-23

    #随笔

  • 感觉最近有点霉运

    2017-08-07

    #随笔

  • 确实感觉还是有点小累的

    2017-08-04

    #随笔

  • 难受

    2017-08-01

    #随笔

  • 《Thinking in java》读书笔记(15)

    2017-08-01

    #读书笔记#Java

  • 感觉慢慢的步入正轨了

    2017-07-31

    #随笔

  • 每次写标题都很困难啊

    2017-07-24

    #随笔

  • 2017.07.18记

    2017-07-18

    #随笔

  • 《Thinking in java》读书笔记(14)

    2017-07-14

    #读书笔记#Java

  • 停更ThinKing in Java的读书笔记

    2017-07-11

    #读书笔记

  • 做决定看似简单其实很难

    2017-07-05

    #随笔

  • 《Thinking-in-java》读书笔记(13)

    2017-06-23

    #读书笔记#Java

  • 《Thinking in java》读书笔记(12)

    2017-06-22

    #读书笔记#Java

  • 《Thinking in java》读书笔记(11)

    2017-06-22

    #读书笔记#Java

  • 《Thinking in java》读书笔记(10)

    2017-06-21

    #读书笔记#Java

  • 《Thinking in java》读书笔记(9)

    2017-06-17

    #读书笔记#Java

  • 《Thinking in java》读书笔记(8)

    2017-06-15

    #读书笔记

  • 《Thinking in java》读书笔记(7)

    2017-06-14

    #读书笔记

  • 一些想法

    2017-06-14

    #随笔

  • 《Thinking in java》读书笔记(6)

    2017-06-12

    #读书笔记#Java

  • 《Thinking in java》读书笔记(5)

    2017-06-10

    #读书笔记#Java

  • 《Thinking in java》读书笔记(4)

    2017-06-07

    #读书笔记#Java

  • 决定

    2017-06-07

    #随笔

  • 《Thinking in java》读书笔记(3)

    2017-06-06

    #读书笔记#Java

  • 听完这首歌忘记所有的一切

    2017-06-05

    #随笔

  • 《Thinking in java》读书笔记(2)

    2017-06-04

    #读书笔记#Java

  • 《Thinking in java》读书笔记(1)

    2017-06-01

    #读书笔记#Java

  • 六一儿童节快乐

    2017-06-01

    #随笔

  • The mood may be better

    2017-05-31

    #随笔

  • NoTitle

    2017-05-27

    #随笔

  • 努力吧,少年

    2017-05-26

    #随笔

  • 想念那些日子

    2017-05-08

    #随笔

  • 此时此刻的心情

    2017-05-04

    #随笔

  • welcome

    2017-05-03

    #随笔

  • Leno's Blog
  • GitHub
  • CSDN博客
  • 国内站点(同站)
宋亚旭,就读于内蒙古大学软件工程专业,在大学期间就很喜欢写代码,现在在一家公司做Java后端工作。