《写给大忙人看的java》笔记--基本的编程结构
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》笔记--基本的编程结构的更多相关文章
- 《写给大忙人看的java se 8》笔记
现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...
- 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
虽然看过一些Java 8新特性的资料,但是平时很少用到,时间长了就忘了,正好借着Java 9的发布,来总结下一些Java 8中的新特性. 接口中的默认方法和静态方法 先考虑一个问题,如何向Java中的 ...
- 《写给大忙人看的Java核心技术》 勘误
先附上十分讨喜的封面.这应该是爱丽丝梦游仙境里的那只兔子吧? 勘误表基于原版勘误表制作 链接 截止日期 2017-02-09 对应<写给大忙人看的Java核心技术>2016年1月第1次印刷 ...
- 《写给大忙人看的Java SE 8》——Java8新特性总结
阅读目录 接口中的默认方法和静态方法 函数式接口和Lambda表达式 Stream API 新的日期和时间 API 杂项改进 参考资料 回到顶部 接口中的默认方法和静态方法 先考虑一个问题,如何向Ja ...
- Java笔记——面向切面编程(AOP模式)
原文:http://www.cnblogs.com/yanbincn/archive/2012/06/01/2530377.html Aspect Oriented Programming 面向切面 ...
- JAVA笔记26-网络编程(不等于网站编程)
一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 1 ...
- java笔记8之选择结构IF
注意1 A比较表达式无论简单还是复杂,结果必须是boolean类型 B:if语句控制的语句体如果是一条语句,大括号可以省略: 如果是多条语句,就不能省略.建议永远不要省 ...
- 如何写出同事看不懂的Java代码?
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra. 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉满了.五花八门的代码 ...
- 写给大忙人的spring cloud 1.x学习指南
这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三 ...
随机推荐
- ASP.NET(四):ASP.net实现假分页显示数据
导读:在做数据查询的时候,有的时候查询到的数据有很多.通常呢,我们一般都是去拖动右侧边的滚动条.但是,有了分页后,我们就可以不必是使用滚动条,而直接通过分页查看我们想要的数据.在分页的过程中,有分为真 ...
- 九度oj 题目1108:堆栈的使用
题目描述: 堆栈是一种基本的数据结构.堆栈具有两种基本操作方式,push 和 pop.Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出.现在我们就来验证一下堆栈的使用. 输入: 对于每组测 ...
- 使用python实现简单的爬虫
python爬虫的简单实现 开发环境的配置 python环境的安装 编辑器的安装 爬虫的实现 包的安装 简单爬虫的初步实现 将数据写入到数据库-简单的数据清洗-数据库的连接-数据写入到数据库 开发环境 ...
- Opencv学习笔记——视频进度条的随动
1. CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程 ...
- 【bzoj2115】[Wc2011] Xor【高斯消元】
题目大意:给出一个无向有权图,找出一条从1到n的路径,使得路径上权值的异或和最大,路径可以重复走 Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条 ...
- 刷题总结——疫情控制(NOIP2012提高组)
题目: 题目背景 NOIP2012 提高组 DAY2 试题. 题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都 ...
- [SDOI2008]仪仗队 (欧拉函数)
题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...
- Failed building wheel for Twisted
在安装scrapy框架的过程中,pip install scrapy 出现报错信息: building 'twisted.test.raiser' extension error: Microsoft ...
- 洛谷 [P2216] 理想的正方形
二维单调队列 先横向跑一边单调队列,记录下每一行长度为n的区间的最值 在纵向跑一边单调队列,得出结果 注意,mi要初始化为一个足够大的数 #include <iostream> #incl ...
- codeforces edu40
H(dp计数) 题意: 有一颗树,最深的点的深度是n,每个深度为i的点都有ai个孩子. 对于1<=k<=2n-2,回答树上有多少点对之间的距离是k,答案对1e9+7取模 n<=500 ...