1.字符串是UTF-16编码中的Unicode编码点的序列

2.绑定System.in的Scanner可以读取终端输入:

Scanner sc = new Scanner(System.in);

3.java不是用来快速完成几个命令的脚本语言,它明确定位为可以从组织有序的类和包中获益的大型编程语言。

4.编译命令:javac ch01/sec01/HelloWorld.java

运行命令:java ch01.sec01.HelloWorld

5.java.lang.System.out    out是一个PrintStream实例

6.随机数 new Random().nextInt()

7.基本数据类型的使用规则,巨大多数情况下,用int

存储空间宝贵的底层文件处理或者大数组中,用byte和short

很大的数字,超过20亿,用long,如果还不够,用BigInteger

8.二进制以0b为前缀,八进制以0为前缀,十六进制以0x位前缀

主动转换的方法如下

二进制Long.toBinaryString(m)

八进制Long.toOctalString(m)

十进制Long.toString(m)

十六进制Long.toHexString(m)

任意进制Long.toString(m , n)//n代表进制数,n的范围是2~36

9.float 6位有效的小数位数,double 15位有效的小数位数

浮点数不适合做金融计算,因为没有精确的表示,可以用BigDecimal类

10.char描述了Java使用的UTF-16字符编码中的编码单元,使用16进制表示时,要加前缀\u,另外,char类型包含部分笑脸☺等符号。

通过反斜杠\转义单引号和转义反斜杠

11.布尔类型不是数字类型,与整数0、1没有关系

12.尽肯能晚的声明变量,刚好在你首次需要变量的前一刻声明,被认为是一种好习惯

13.延迟final变量的初始化时允许的。

14.Math方法

Math.pow(x,y)产生x的y次方

Math.sqrt(x)开方

比较大小Math.min和Math.max

可抛出异常的乘法Math.multiplyExact(1_000_000_000,2),值大于20亿,抛出异常

类似的还有其他加减乘除

严格要求可重现的浮点运算:StrictMath类提供了严格实现的数学方法

14.数字类型转换的顺序 : double > float > long > int

15.强转换时的警告

long m = 10L;

int n = (int)m;//没有警告

long m2 = 1000000000000;

int n2 = (int)m2;//有警告,此时用Math.toIntExact方法代替,无法转换时,会报异常

16.大数

BigInteger类实现了任意精度的整数计算,

BigDecimal类对浮点数有同样的实现

17.将整数字符串转为数字,用Integer.parseInt(str);等类似方法

18.String的常用方法

boolean equalsIgnoreCase(String str)  忽略大小写的比较

19.格式化输出

System.out.printf("hello,","%sword%d.\n","beautiful ",666);//输出:hello,beautiful world666.

String.format()创建不打印输出的字符串

20.switch的case的值为整数,字符串,枚举类型值

21.构造数组时,数字类型默认填充0,Boolean类型默认填充false,对象类型默认填充null

22.this引用

23.java中,包不能嵌套

《写给大忙人看的java》笔记--基本的编程结构的更多相关文章

  1. 《写给大忙人看的java se 8》笔记

    现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...

  2. 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结

    虽然看过一些Java 8新特性的资料,但是平时很少用到,时间长了就忘了,正好借着Java 9的发布,来总结下一些Java 8中的新特性. 接口中的默认方法和静态方法 先考虑一个问题,如何向Java中的 ...

  3. 《写给大忙人看的Java核心技术》 勘误

    先附上十分讨喜的封面.这应该是爱丽丝梦游仙境里的那只兔子吧? 勘误表基于原版勘误表制作 链接 截止日期 2017-02-09 对应<写给大忙人看的Java核心技术>2016年1月第1次印刷 ...

  4. 《写给大忙人看的Java SE 8》——Java8新特性总结

    阅读目录 接口中的默认方法和静态方法 函数式接口和Lambda表达式 Stream API 新的日期和时间 API 杂项改进 参考资料 回到顶部 接口中的默认方法和静态方法 先考虑一个问题,如何向Ja ...

  5. Java笔记——面向切面编程(AOP模式)

    原文:http://www.cnblogs.com/yanbincn/archive/2012/06/01/2530377.html Aspect Oriented Programming  面向切面 ...

  6. JAVA笔记26-网络编程(不等于网站编程)

    一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 1 ...

  7. java笔记8之选择结构IF

    注意1 A比较表达式无论简单还是复杂,结果必须是boolean类型        B:if语句控制的语句体如果是一条语句,大括号可以省略:          如果是多条语句,就不能省略.建议永远不要省 ...

  8. 如何写出同事看不懂的Java代码?

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra. 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉满了.五花八门的代码 ...

  9. 写给大忙人的spring cloud 1.x学习指南

    这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三 ...

随机推荐

  1. 【Kubernetes】离线业务:Job与CronJob

    Deployment.StatefulSet和DaemonSet这三个编排概念编排的对象主要都是在线业务(Long Running Task,这些应用一旦运行起来,除非出错或者停止,它的容器进程会一直 ...

  2. Python之转换py文件为无需依赖python环境的exe文件的方法

    在日常工作中,使用python脚本开发快速敏捷,但是其代码是可见的,而且充分的依赖python开发环境.为了达到保护我们源码的目的,或者不依赖python开发环境使用python脚本,将其转换成可以直 ...

  3. 【Luogu】P2679子串(DP)

    题目链接 GuessYCB的题解讲的很棒.就这样. 因为这题我不会,而题解又讲的太全太详细太好了. #include<cstdio> #include<cctype> #inc ...

  4. RSA工作原理

    摘自:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 一.基础数论 1.互质关系 如果两个正整数,除了1以外,没有 ...

  5. c++ 多线程:线程句柄可以提前关闭,但是线程并没有关闭

    很多程序在创建线程都这样写的:ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );1,线程和线程句柄(Handle ...

  6. 数字梯形(cogs 738)

    «问题描述:给定一个由n 行数字组成的数字梯形如下图所示.梯形的第一行有m 个数字.从梯形的顶部的m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径.规则1:从梯形的顶 ...

  7. css-包含块

    在CSS中,有事一个元素的位置和尺寸的计算都相对于一个矩形,这个矩形被称作包含块.包含块是一个相对的概念,比如 子元素的初始化布局总是在父元素的左上角,这就是一个相对的概念.其中父元素就是一个参照物, ...

  8. msp430项目编程47

    msp430综合项目---有线采集传输平台系统47 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  9. C++ assert 的一点说明

    断言(ASSERT)的用法 转载自http://www.cnblogs.com/moondark/archive/2012/03/12/2392315.html 我一直以为assert仅仅是个报错函数 ...

  10. centos 7 配置多个IP地址

    centos 7 配置多个IP地址 #打开网络配置文件 cd /etc/sysconfig/network-scripts/ vim ifcfg-eno167 找到IPADDR的位置,在下面再增加需要 ...