数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
来源:互联网 发布:怎么做好网络免费推广 编辑:程序博客网 时间:2024/05/16 05:11
3.2关键字都是小写,TRUE FALSE NULL都不是Java关键字
3.3数据类型
变量相当于一个有名称的容器,该容器用于装各种不同类型的数据
Java类型分为2种
基本类型:
引用类型:
基本数据类型包括boolean类型和数值类型 数值类型有整数类型和浮点类型 。
整数包括byte short long char int 5个 浮点:double float。
char代表字符型 也是一种整数类型 相当于无符号整数类型。
char类型使用单引号括起来,而字符串使用双引号括起来。
引用类型:包括类,接口和数组类型,还有特殊的null类型
float和double的负无穷可以相等 正无穷大也可以相等
两个非树之间不相等 a=0.0 a/a==Float.NaN
3.5 基本数据类型转换
自动类型转换 左边float= 右边int double左边= int右边 右到左
强制类型转换 int tol=(int)dVlaue 原来是double double=int 右到左。
byte 类型不能自动转换为char
强制类型转换 由大转向小 。自己推测
float a=5.6 是错误的
必须要强转 float a=(float)5.6
3.5.2*** 字符串不能直接转换为基本类型 但可以通过基本类型对应的包装类则可以实现把字符串转换成基本类型
String a="45";
//使用Integer的方法将一个字符串转换为int类型(基本数据类型)
int b=Integer.parInt(a);
Java为8种基本类型都提供了对应的包装类 boolean→Boolean byte→Byte short→Short int→Integer long→Long char→Character
float→Float double→Double 。
3.7 运算符
算术运算符号
赋值运算符
比较运算符
逻辑运算符
位运算符
类型相关运算符
算术运算符7个 +,-,*,/,%
除法注意有 ①除数不能为0 2个数都是整数 ②19/4=4 结果截断取整 2个数都是整数 可以是负数
③2个都是浮点数 计算结果也是浮点数 如果除数是0 或者0.0结果是正无穷大或负无穷大
求余数%时候 一个或者2个操作数是浮点数 则允许第二个操作数为0或者0.0 只是求余数结果是非数NaN。
0或者0.0对零以外的任何数求余数都是0或者0.0.
a++ 右边和++a左边区别
a++ 右边是先放入表达式运算 然后才把操作数+1
++a 是先把操作数+1 再放入表达式运算。
赋值运算符
赋值运算是从右到左执行计算的。
String str="Java"
String str2=str;
int a ,b ,c,d; a=b=c=d;
3.7 位运算符
7个 &与 ,|或,~非, ^异或 当两位同时返回0,不同时返回1 试用后面的运算符,<<左移运算符, >>右移运算符 ,>>>无符号右移运算符
拓展后的赋值运算符
a=a+5 a+=5 运行结果一样但是底层运行机制存在差异
3.7.5比较运算符
比较运算符用于判断两个变量或者常量的大小。比较运算的结果是布尔值true或者false
>,>=,<,<=,==,!=
Computer c1=new Computer();
Computer c2=new Computer();
System.out.println((c1==c2)); false
Computer c3=c1;
System.out.println((c1==c3)); true
3.7.6 逻辑运算符
&&与 两个操作数必须要true 才为true
&
|| 有一个为true 就为true
| 不短路会继续执行 就算条件 已经符号
!非 操作数为true 返回false 反之
^ 异或 当两个操作数不同时才返回true 相同false
3.7.7 三目运算符 可以嵌套
(expression)? if-true-statement : if-false-statement;
String str=5>3? "5大于3" :"5不大于3";
System.out.println(str);//输出"5大于3"
方法二
String str2=null;
if(5>3){
str2="5大于3"
}else{
str2="5不大于3"}
嵌套
System.out.println(a>b? "a大于b":(a<b? "a小于b":"a大于b"))
单目运算符 赋值运算符 多目运算符都是从右到左运算
- 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
- JavaSE_2th_标识符、关键字、基本数据类型、类型转换、变量和常量
- 强制类型转换和as运算符的区别
- 运算符和强制类型转换
- 运算符和类型强制转换
- 标识符、关键字和数据类型
- 数据类型和运算符(类型转换)
- java_标识符、数据类型、运算符、类型转换、运算符优先级
- 运算符a++和++a的区别
- 数据类型和运算符(标识符和变量)
- Java:自动类型转换和强制类型转换的规则
- 第5章 运算符和类型强制转换
- 重载()运算符和重载强制类型转换
- 运算符,常量和变量,强制类型转换
- 登山-C#-var关键字,dynamic关键字和类型强制转换之间的区别
- java标识符、关键字和数据类型
- 标识符、关键字和基本数据类型
- 黑马程序员——Java基础——命名规则、标识符、关键字和运算符
- 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf
- lucene6之TextField与StringField对比
- IR-CUT选择须知
- Java 判断某个时间是否在条件时间之内
- Markdown官方文档[翻译]
- 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
- 用python将cifar-10二进制数据集转成图片格式《菜鸟教程》
- Uploadify在IE,fireFox下上传报406HTTP错误
- 91-互斥量的鲁棒属性
- 30个php操作redis常用方法代码例子
- 【SysML】模块定义图(BDD, Block Definition Diagram)
- 对 MVC、MTV 和 MVVM的理解总结
- Android Studio Eclipse 快捷键英文未翻中文版
- 流程控制与数组——Java疯狂讲义