浮点型
float : 单精度 四个字节 在储存大型浮点数组的时候可节省内存空间
double: 双精度 八个字节 double类型同样不能表示精确的值
float和double类型不能表示精确的值
float定义时要在数后加上f或F
double d = 123.4;
float f = 234.5f ;
2.布尔型
boolean :布尔值取值的时候只允许取true或false , 不能用其他的代替 。
该类型适于逻辑运算 , 一般用于程序流程控制。
3.字符型
char : 字符型的值是一个用单引号引起来的单个字符 , 例如:
char a = 'a';
char b = '中';
Java采用Unicode编码 , 一个字符占两个字节 , 16位 , 所以可以用十六进制编码来表示
char a = '\\u0061'; //a的Unicode编码为97
注意:Unicode 转义序列会在解析代码之前得到处理。例如 ,\" \\u0022 + \\u0022\"(Unicode值\\u0022标识双引号)并不是一个由引号包围加号构成的字符串。实际上, \\u0022 会在解析之前转换为 \", 这会得到也就是一个空串(\"\"+\"\")。
(2)引用数据类型
类 :最常用的就是String类型(字符串)
接口 : 如:List< E >:列表( E代表泛型 )
Map<KV>:双链的集合 , 以键值对形式存储的 , K(键)和V(值)都是泛型
数组:数组是指存储在一个连续的内存块中的相同数据类型的元素集合 。 因为引用的是内存地址 , 所以数组属于引用数据类型 。
6.基本数据类型转换首先boolean型的值不能与其他类型相互转换
默认转换
整形 , 字符型 , 浮点型的数据在混合运算中相互转换 , 转换时遵循以下原则:
容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:
byteshortchar->int->long->float->double
byteshortchar之间不会互相转换 , 他们三者在计算时首先会转换为int类型
强制转换
容量大的数据类型转换为容量小的数据类型时 , 要加上强制转换符 , 但可能造成精度降低或溢出;使用时要格外注意 。
int i = 100;
double d = i;
double d1 = 10.99;
int i1 = (int) d1;
注意:
在多种类型的数据混合运算时 , 系统首先自动地将所有数据转换成容量最大的那一种数据类型 , 然后再进行计算 。
7.运算运算符
Java 语言支持如下运算符:
算术运算符:
字符串连接运算符:+ ;
关系(比较)运算符: > , < , >= , <= , == , != ;
逻辑运算符:
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或
异或就是左右的值一样时就是false , 追求一个“异”字 。
我们可以看到用逻辑与和短路与计算的值是相同的 , 那它们的区别在哪呢?
逻辑与:会把符号俩边的表达式都计算一边 , 然后判断 。
短路与:因为与运算符号俩边的表达式有一个false就返回false , 所以如果计算了符号左边的表达式是false , 就不会计算符号右边的表达式 , 直接返回false , 如果左边的是true才会计算右边 。
逻辑或和短路或同理 , 短路或左边的表达式是true时就不会计算右边 , 直接返回true 。
输出如下:
赋值运算符:
位运算:
运算顺序
单目>算数运算符>移位>比较>按位>逻辑>三目>赋值
单目运算符(一元运算符 , 即一个变量):+ , - , ++ , –
算数运算符:+ , - , * , / , %
移位运算符:<<>>
关系运算符:><>=<===!=
位运算符:& , | , ~ , ^
逻辑运算符:&& , ||
三目运算符:表达式1?表达式2:表达式3;
赋值运算符:= 等
8.控制台的输入 / 输出输入
使用Scanner类取得一个字符串或一组数字
在使用Scanner类对象时 , 需要在文件头带入 java.util.Scanner; 把类导入写法为:
import java.util.Scanner;
在创建一个Scanner对象时需要传入一个System.in参数给构造函数 , 因为实际上是System.in在取得用户输入 。 Scanner的next()方法用于取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;nextFloat()转换成浮点型;nextBoolean()转 换成布尔型 。
输出
可以使用 System.out . print ( x ) 将数值 x 输出到控制台上 。这条命令将以x 对应的数据类型所允许的最大非 0 数字位数打印输出 X。
System.out . println ( x ), 如果将print改为println就会在输出完之后进行换行 。
我在这里提到的输入/输出都是最基础的 , 还有文件的输入/输出等该知识更深层次的理解会在日后慢慢积累并分享 , 尽情期待 。
- 滴滴出行|滴滴消失4个月后,开始另寻出路,盯上美团王兴的生意?
- 机器人|得物App公布“潮流主场计划”:3.2亿现金,200亿流量扶持潮流内容创作者
- 物联网|苹果一夜市值大涨!真相与造车计划有关,马斯克下场直接泼冷水
- UFO|是否有重大发现?在蓝皮书计划结束52年后,美国重组UFO追踪小组
- 太空|核电应用太空?我国未来月球和火星任务离不开它,美也有类似计划
- 太空|中国将在太空计划中开发核能,最新反应堆动力比美国强100倍
- 古人类|在2033年,为了抵御小行星的撞击并拯救地球,人类已部署了月球月盾计划。
- 华为|史上最良心换屏?华为启动五折换屏计划,最低只要79元
- |探索宇宙从月球开始,世界各国迎来“探月热”,中国又有哪些新计划?
- 大数据|“云终端飞扬计划”启动!中兴与电信再合作!