数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别

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区别的更多相关文章
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...
- JavaScript深入浅出补充——(一)数据类型,表达式和运算符
项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...
- C++里的强制类型转换符reinterpret_cast、static_cast 、dynamic_cast、const_cast 区别
C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的 ...
- PHP数据类型转换和运算符表达式
一:数据类型的转换 获取类型: gettype($a); 判断是否是某种类型的数据: is_类型名($a); 1.(int)$a; 2.settype($a,int); 二:运算符表达式 1.数学运算 ...
- 2-Java基本数据类型和运算符
目录 Java基本类型 Java数据类型转换 Java运算符 1.Java基本类型 1.1.boolean布尔 - 只有true和false两种值,在内存中占1bits(位),默认是false 1.2 ...
- Qt中的强制类型转换
在C++开发中经常要进行数据类型的强制转换. 刚开始学习的时候,直接对基本数据类型强制类型转换,如float fnum = 3.14; int num = (int)fnum; 随着C++标准的发展, ...
- Java学习笔记 01 基本数据类型、标识符、关键字和运算符
一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127 short 16位 -32768~32767 int 32位 -2147 ...
- 2 JavaScript输出&字面量&变量&操作符&语句&标识符和关键字&字符集&语句&数据类型与类型转换
JS输出: JavaScript没有任何打印或者输出的函数,但是可以用不同的方式输出数据 window.alert():弹出警告框 document.write():写入文档 innerHTML:写入 ...
- Java中的变量,数据类型和运算符
变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...
随机推荐
- 转贴 IT外企那点儿事完整版
转贴 IT外企那点儿事完整版 第一章:外企也就那么回儿事(http://www.cnblogs.com/forfuture1978/archive/2010/04/30/1725341.html) 1 ...
- python 写文件,utf-8问题
写文件报数据. 同样的编码. 含中文字段的输出文件 编码为utf-8 无中文的却是asc import codecstxt = u”qwer”file=codecs.open(“test”,”w”,” ...
- hdu 5821 (贪心排序) Ball
题目:这里 题意:T组数据,两个长度都为n的数组,有m次操作,操作是对a数组而言,每次操作给一个区间范围l,r,可以将这个区间内的数任意交换顺序,问经过m次操作后, 是否可以将a数组变为b数组. 输入 ...
- 11 个 Linux 上最佳的图形化 Git 客户端
Git是软件开发和若干其他版本控制任务免费和开源的分布式版本控制系统.它被设计用来以应付一切从小到非常大的项目,基于速度,效率和数据完整性. Linux用户主要通过命令行管理Git,不过,一些图形用户 ...
- android设置多个类似APP其中的一个为默认
05-09 17:01:13.547: I/ActivityManager(3003): START u0 {act=android.intent.action.VIEW cat=[android.i ...
- 批量导入Excel存在的问题及解决方案
许多传统的做法,导入excel就是将excel上传到服务器的某个文件夹里如upload,之后再次读取,导入系统.这边就存在一些问题: 1.服务器需要安装Office,用于读取Excel文件. 2.系统 ...
- Server Transfer()和Response.Redirect()的使用
一.Server Transfer() Server.Transfer:对于当前请求,终止当前页的执行,并使用指定的页url路径来开始执行一个新页. 1. Server.Transfer只能够转跳到本 ...
- 解Tom大叔出的Javascript题目
原文参考,http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html Tom大叔的博客深入理解Javascript系列真是我们学习Java ...
- 【Java】XML解析之SAX
SAX介绍 SAX(Simple API for XML)是一种事件驱动的流式XML文件处理方式,区别与DOM方式的是不需要在内存中建一棵DOM树,而是根据读取XML时遇到的标签事件来顺序处理,因此具 ...
- 【Java学习笔记】<集合框架>对字符串进行长度排序
package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定 ...