初窥Java之三
一、基本数据类型之浮点型
每个数据它自身都有一个默认的类型,如果直接打印小数,默认类型就为double类型;
float和double表示小数的精度不是特别的高,如果对于精确度要求非常的高,我们 都使用BigDecimal类型。
1、float(单精度)
申明数据类型(小数(单精度))
float f = 1.0; 编译报错,因为我们表面上看到时1.0,其实它是无限接近于1.0这个数据。那怎么解决呢? 在数据后面加一个F或者f。float f = 1.0f;告诉java,我1.0这个数据为float类型。
2、Double(双精度)
申明数据类型(小数(双精度))
double d = 1.2;
3、常见小数的表现形式
1. 直接写小数 如:3.2 4.4
2. 使用科学技术法: 3e2===3.0*10(2) 3e-2 3.0*10(-2),注意是3.0!!!
二、基本数据类型之字符类型(只能储存单个字符)
1、字符的默认值是:a,用十六进制来表示是:‘\u0000’
2、常见的形式:
1. 直接编写字符 'A' '1' '好'
2. 字符可以用数字(ASCII)来表示(了解): char a = 65
3. 字符可以用16进制来表示:语法格式 '\uXXXX' XXXX:16进制,如果不够4位用0来填充
三、基本数据类型之布尔类型(1位)
它只有2个值: true/false
怎么定义的呢? boolean flag = true;
在计算机底层它其实是用1或者0来表示的, 1表示true 0表示false
布尔类型使用场景一般都是在:选择结构 循环结构中
四、引用数据类型之字符串
1、语法格式:String str = “hello world”
2、字符串的+好问题: 它表示连接的意思,字符串和任意的数据都可以连接,得到的最终结果值,还是字符串。
五、基本数据值数据转换问题
byte short char int long float double
从左到右精度越来越高,它会自动隐式转换的 double d = 3;
从右到左精度越来越低,如果想要转换,必须进行强转
强转的格式:byte a = (byte)3.2;
注意: 在byte short char int中,如果你输入一个数据在其范围中,不需要强转,它也是会自动隐式转换的。
六、表达式
表达式:就是由常量,变量,运算符,()组成的
研究,整个表达式应该用什么类型来接收最终的结果值--》答:应该用整个表达式中精 度最高的类型来接收
七、运算符
1、运算符:
+ - * /(求商) %(余数)
++ --(--和++一样)
注意:自增与自减它只能用于变量,不能用于常量
请把a++或者++a看成一个表达式
当++在变量后面的时候,整个表达式的值,是变量自增之前的值
当++在变量前面的时候,整个表达式的值,是变量自增之后的值
不管++在前还是在后,该变量都会自增1
2、赋值运算:
+=: 累加 byte a+=2 就相当于 byte a = (byte)(a+2)
*=
/=
-=
%=
3、比较运算符:
> >= == != < <=
比较运算符,最终结果值为布尔类型
4、逻辑运算符:
& && | || ^(异或) !(逻辑非)
&与&&的区别:
&它可以用于位运算,也可以用于逻辑运算,而&&只能用于逻辑运算
如果它们都用于逻辑运算表示那么&不具备短路行为,而&&具备短路行为, 所以以后做逻辑运算推荐使用&&,因为性能高
5、三目运算(三元运算):
语法格式: X?Y:Z 如果X成立,则直接执行Y,否则执行Z
X:必须是布尔类型的结果值
注意:如果Y与Z的类型一致,可以使用变量接收,否则不行
初窥Java之三的更多相关文章
- 初窥Java之六
一.二维数组 1.动态创建 数组中元素类型[] 数组名 = new 数组中元素类型[]; 例如:int[][] arr = new int[二维数组的长度][一维数组的长度]: Int[][] arr ...
- 初窥Java之二
一.java中存在三大注释: 第一大注释: 单行注释 一般用于信息量比较少的地方 第二大注释: 多行注释 一般用于信息比较多的地方 多行注释注意事项:1.多行注释的开始行与结尾行不能写注释 ...
- 初窥Java之一
一.常用的dos命令 打开命令提示符窗口的方式: ① win + R --> 输入cmd --> 回车 ② 开始 --> 搜索程序和文件的框中输入 cmd --> 回车 ③ ...
- 初窥Java之五
一.方法 1.语法格式 修饰符 返回值类型 方法名(形参列表){ 方法体 } 2.返回值类型 返回值类型可以时:1.void(无返回值) 2.8大基本数据类型中的任意一种 3.引用数据类型中的任意一 ...
- 初窥Java之四
一.条件判断之if判断 语法格式:if(结果为布尔类型的结果值){ 功能执行语句; }else if(结果为布尔类型的结果值){ 功能执行语句; } ....{ }else{ 功能执行语句: } 注意 ...
- Java发送邮件初窥
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...
- Hadoop学习笔记(9) ——源码初窥
Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续 ...
- 初窥ElasticSearch
初窥ElasticSearch 官网上面的,不知道讲的是什么.. youtube上面有一个start with,内容是在windows以下跑这个elastic search,然后用一个fidler工具 ...
- 李洪强iOS开发之函数式 编程初窥
函数式 编程初窥 最近在学习Erlang和Python.Erlang是完全的函数式编程语言,Python语言是面向对象的语言,但是它的语法引入了大量的函数式编程思想.越研究越觉得函数式的编程思路可 ...
随机推荐
- Confluence 6 启用远程 API
XML-RPC 和 SOAP 远程 API 从 Confluence 5.5 开始已经废弃了.我们推荐你使用完全支持的Confluence Server REST API. 希望启用 XML-RPC ...
- Confluence 6 确定一个生产系统备份方案
Atlassian 推荐创建一个可选的数据库备份方案: 使用你数据库提供的备份和恢复工具 为了避免数据不完整和备份中断,我们推荐你在备份和恢复 Confluence 数据库的时候关闭 Confluen ...
- ionic3 Injectable 引入NavController
在service里 引入 navcontroller 报错 And I get error No provider for NavController. 一个比较容易解决的方法, import {Io ...
- laravel Blade 模板引擎
与视图文件紧密关联的就是模板代码,我们在视图文件中通过模板代码和 HTML 代码结合实现视图的渲染.和很多其他后端语言不同,PHP 本身就可以当做模板语言来使用,但是这种方式有很多缺点,比如安全上的隐 ...
- Burp Scanner Report
1.使用application web 漏洞平台,除此之外还有一款类似的工具 叫做mulidata,其实mulidata功能更好一点. 2.配置之前的问题处理 安装之前要确认 自己之前是否安装过 Ap ...
- CF 1051F
题意:给定一张n个点,m条边的无向联通图,其中m-n<=20,共q次询问,每次询问求给定两点u,v间的最短路长度 第一眼看见这题的时候,以为有什么神奇的全图最短路算法,满心欢喜的去翻了题解,发现 ...
- SSM 三大框架---事务处理
SSM 三大框架---事务处理 原创 2016年05月12日 20:57:03 标签: spring / J2EE / java / 框架 / 事务 7010 在学习三大框架的时候,老师说事务处理是最 ...
- 正则表达式过滤html标签
1.说明:需要使用非贪婪模式 2.示例 过滤所有span标签: var newContent = Regex.Replace(htmlContent, "<span.*?>.*? ...
- 步步为营-90-SEO(url重写+超链接技巧)
目的:便于搜索引擎抓取 url重写:将带参数的url如:https://i.cnblogs.com/EditPosts.aspx?opt=1.修改为https://i.cnblogs.com/Edit ...
- 插件使用一树形插件---zTree一zTree异步加载
zTree 可以实现异步加载.异步加载可以让初次加载速度快,带来好的用户体验. 异步加载 官方源码中的demo提示了例子.例子是采用php语言. 在java语言中,zTree如何与Servlet结合呢 ...