数据类型/强制类型转换 和运算符---标识符规则/关键字 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.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...
随机推荐
- sqlserver 分区表
我们知道很多事情都存在一个分治的思想,同样的道理我们也可以用到数据表上,当一个表很大很大的时候,我们就会想到将表拆 分成很多小表,查询的时候就到各个小表去查,最后进行汇总返回给调用方来加速我们的查询速 ...
- HTTP协议-引自孤傲苍狼博客
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
- JS控制鼠标点击事件
鼠标点击事件就是当鼠标点击元素时,就会出现另一个窗口,类似于百度首页中右上角的“登录”这个按钮,当鼠标点击 登录时,就会出现登录窗口.大体的意思就是这样,直接上代码了,简单易懂. <!DOCTY ...
- const in C++
const关键字是C++中常用的类型修饰符,用法非常灵活,使用const将大大改善程序的健壮性. const的作用 1. 定义const常量: 比如: const int Max = 100; 2. ...
- JVM调优-Java中的对象
Java对象的大小 基本数据的类型的大小是固定的,这里不做详细说明.对于非基本类型的Java对象,其大小就值得商榷. 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没 ...
- 揭开HTTP网络协议神秘面纱系列(三)
HTTP首部字段有四种类型:通用首部字段,请求首部字段,响应首部字段,实体首部字段. 通用首部字段: 首部字段 说明 Cache-Control 控制缓存的行为 Connection 逐跳首部.连接的 ...
- jquery中prop()与attr()方法的区别
一.prop() 简单来说是当需要判断真假时使用,如复选框时: if( $(this).prop('checked')){ //当返回true时在这里调用 }else{ //当返回false时在这里调 ...
- 【转】详解Python的装饰器
原文链接:http://python.jobbole.com/86717/ Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现 ...
- Struts2的值栈和对象栈
ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContex ...
- 水果项目第3集-asp.net web api开发入门
app后台开发,可以用asp.net webservice技术. 也有一种重量级一点的叫WCF,也可以用来做app后台开发. 现在可以用asp.net web api来开发app后台. Asp.net ...