Java 总结篇2
第02章:数据类型和运算符
一、概述:
1、数据类型:int、float、char、boolean
2、运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符(了解即可)、条件运算符
3、基本数据类型的类型转换:自动类型转换、强制类型转换。
二、重点内容:
1、标识符:必须以字母、下划线、美元符$开头,其他部分可以是字母、下划线、美元符、数字的任意组合,不建议使用中文。(注意:标识符不能为Java关键字)
2、ASCII英文字符集1个字节,Unicode国际通用字符集2个字节。
3、Java是一种强类型语言就:常量是有数据类型的,变量都必须声明其数据类型。
4、变量要素:变量名、变量类型和作用域。(注意:只有在变量声明以后,才能为其分配相应长度的存储单元)
5、进制数表示:十进制(如99)、八进制(要求以0开头,如015)、十六进制(要求0x或0X开头,如0x15)
6、数据类型的范围和所占字节数:
注意:一个字节八位,2的8次方等于256,其他的以此类推。
7、科学计数法:double f=314e2; //314*10^2--->31400.0 (或者是314E2,如果是314*10^-2,则表示为314e-2)
8、浮点数存在舍入误差,很多数字不能精确表示,如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
9、转义字符:退格\b 换行\n 回车\r 制表符\t 双引号\” 单引号\’
反斜杠\\
10、注意:尽量在if或者其他的判断语句中去掉所有的==fasle和==true,换种思考用不能与!=就可以了。
11、命名规范:首字母小写和驼峰原则(第二个单词首字母大写,如:monthSalary),常量(大写字母和下划线:MAX_VALUE),类名(首字母大写和驼峰规则,如:GoodMan)。
12、注意:%(取模、求余,如6%4=2),/除(如6/4=1),+:字符串相加,只要有一个操作数是字符串,自动变为字符串相连
13、整数运算:
① 如果两个操作数有一个为long,则结果也为long
② 没有long时,结果为int。即使操作数全为short、byte,结果也是int。
14、浮点运算:
① 如果两个操作数有一个为double,则结果为double
② 只有两个操作数都是float,则结果才为float。
15、运算符优先级:赋值<三目<逻辑<关系<算术<单目
16、整数运算中相邻两个操作数先转化为同一类型,转换从低级到高级,然后进行运算,以此类推。
17、自动类型转换(类型转换方向):byte-->short,char-->int-->long-->float-->double(从左到右)
18、强制类型转换:强转时,当心丢失数据或失真。
Java 总结篇2的更多相关文章
- Java提高篇——对象克隆(复制)
假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...
- Java提高篇(三三)-----Map总结
在前面LZ详细介绍了HashMap.HashTable.TreeMap的实现方法,从数据结构.实现原理.源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结. ...
- Java提高篇(三二)-----List总结
前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识 ...
- Java提高篇(三一)-----Stack
在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过 ...
- java提高篇(三十)-----Iterator
迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...
- java提高篇(二九)-----Vector
在java提高篇(二一)-–ArrayList.java提高篇(二二)-LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现 ...
- Java提高篇(二八)------TreeSet
与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.在<Java提高篇(二七)-----TreeMap>中LZ详细讲解了TreeMap实现机制,如果 ...
- Java提高篇(二七)-----TreeMap
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致 ...
- Java提高篇(二六)-----hashCode
在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最 ...
- java提高篇(二四)-----HashSet
在前篇博文中(java提高篇(二三)-----HashMap)详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素. ...
随机推荐
- c++ main函数
vs 2015的运行环境 1.参数 int main(int argc, char* argv[]) 1)两个参数的类型是固定的,但参数名可以是符合命名规则的任何命名 2)argv[0]为执行文件的路 ...
- telegraf 学习三 telegra inputs.net_response + smtp2http+ grafana 进行tcp服务状态监控
以下演示一个简单的使用telegra inputs.net_response 进行tcp 服务状态的监控,统计集成grafana 的alert 为了方便使用了一个smtp2http 的服务,对于htt ...
- QML学习(二)——<QML语法>
一.Qml类型 QML类型分为三类:基本类型.QML对象类型以及JavaScript类型 1 基本类型 我们可以再qt帮助文档中搜索基本类型查看 基本类型的概念是相对于QML对象类型而言的,QML 对 ...
- 多线程 fork/join 并行计算
1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 我们再通过 ...
- MacBook Air在macOS Mojave和macOS Seirra系统下使用Loopback在OBS Studio推流时输出系统软件声音
转载请标注原地址:https://www.cnblogs.com/lixiaojing/p/11440533.html 运行环境: Loopback破解版获取: https://pan.baidu.c ...
- 用于KV集群的一致性哈希Consistent Hashing机制
KV集群的请求分发 假定N为后台服务节点数,当前台携带关键字key发起请求时,我们通常将key进行hash后采用模运算 hash(key)%N 来将请求分发到不同的节点上, 后台节点的增删会引起几乎所 ...
- nodeJs实现文件上传,下载,删除
转:https://blog.csdn.net/qq_36228442/article/details/81709272 一.简介 本文介绍了nodeJs+express框架下,用multer中间件实 ...
- semi-join子查询优化 -- Duplicate Weedout策略
duplicate weedout是执行semi-join子查询的一种策略. 将semi-join作为一个常规的inner join.然后使用一个临时表,将重复的记录排除. 假设,你有一个查询,你在寻 ...
- MyBatis插入记录时返回主键id的方法
有时候插入记录之后需要使用到插入记录的主键,通常是再查询一次来获取主键,但是MyBatis插入记录时可以设置成返回主键id,简化操作,方法大致有两种. 对应实体类: public class User ...
- lint-staged那些事儿
一.工具选型 [预提交工具](https://www.npmtrends.com/lint-staged-vs-pre-commit-vs-pretty-quick) 1.lint-staged 检查 ...