Day2_数据类型与运算符
来源:互联网 发布:linux php5.6编译参数 编辑:程序博客网 时间:2024/05/01 07:08
Day2_数据类型与运算符
Java是一种强制类型语言,必须声明其类型
1、 基本数据类型 包含8个基本数据类型,是:
(类:bigdecimal)
数值型整数型(byte、short、int、long)
浮点型(float、doubole)
字符型(Char)
布尔型( Boolean)
2、 引用数据类型。
数组、类、接口、枚举(先创建后使用)
3、 数据转型规则
带有小数点的数字变量默认都为double型。定义float型必须进行强制类型转换。 Floatf=11.2f;
所占字节数小赋值给所占字节数比它大的类型时,自动转型。
int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的字符,再赋值给char型变量。反之也是。
Byte 与char --short与char之间没有可比性,之间转换的话,需要强制转换
初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
基本数据类型默认初始值 boolean false ,byte 0 ,char 0 ,short 0, int 0, float 0.0, double 0.0, long 0
4、 类型提升
相同类型的变量、常数运算,结果还是原类型。(byte,char,short之间的运算会提升为int类型)
不同类型的变量、常数运算,结果的类型为参与运算的类型中精度最高者。(byte,char,short之间的运算结果为int类型)
5、 整型之间的除法,结果依然为整型(结果向0取整)例如:7/10不等于0.7,而是等于0。-5/2不等于-2,5,而是等于-2。
6、 浮点只是一个大概的值,得不到一个精确的值
7、 转义字符
\b 退格符 \n 换行符
\r 回车符 \t 制表符
\’ 单引号’ \f 换页符
\” 双引号” \\ 反斜扛\
8、 运算符
除法,正数,0不能做除数,负数的时候0可以,结果无限大。
取余的结果与被除数的符号相同 -10/-3=结果为负数
移位需要扩展为int进行移位运算
<<左移运算符 1010 1010-----0101 0100
>>右移运算符 1010 1010-----1101 0101,补位的是符号位。
>>> 无符号右移运算符 补位的是0 --- 0101 0101
逻辑:
与(&)、非(~)、或(|)、异或(^)
1.与运算符: “&”
两个都为1,结果才为1,否则结果为0
逻辑与 && 并且,只有全部为真
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
运行结果:a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
2.或运算符 :符号“|”
逻辑或 || 只要有一个为真就为真
只有一个符号,不会短路
两个位只要有一个为1,那么结果就是1,否则就为0。
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
运行结果:a 和b 或的结果是:129
3.非运算符:符号“-”
如果位为0,结果是1,如果位为1,结果是0,
int a=2;
System.out.println("a 非的结果是:"+(-a));
4.异或运算符:“^”
两个操作数的位中,相同为0,不同为1。
int a=15;
int b=2;
System.out.println("a与 b 异或的结果是:"+(a^b));
运行结果:a 与 b 异或的结果是:13
分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。
5、复合赋值运算符能够自动将运算结果转换为左侧操作数的类型。
+= x+=y----x=(XXX)x+y XXX是类型转换,XXX是x的类型。
-= x-=y–---x=(XXX)x-y
*= x○=y –---x=(XXX)x○y /= %=
&= ^= |= <<= >>= >>>=
1) 使用异或交换变量:
a= a ^ b;
b = a ^ b;
a = a ^ b;
2) 算术运算
简单来说,就是通过普通的+和-运算来实现。代码如下:
int a,b;
a=10;b=12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
- Day2_数据类型与运算符
- 数据类型与运算符
- 数据类型与运算符
- 数据类型与运算符
- 数据类型、运算符与表达式
- python数据类型与运算符
- 数据类型、运算符与表达式
- java数据类型与运算符
- c# 数据类型与运算符
- JavaScript数据类型与运算符
- 数据类型与运算符简介
- java数据类型与运算符
- 2.数据类型与运算符
- day2_数据运算和类型、列表、元组、字典
- 第二章 变量、数据类型与运算符
- 2. JavaScript数据类型与运算符
- 数据类型、运算符与选择语句
- C语言数据类型、运算符与表达式
- Windows7安装Theano
- Maven Could not transfer artifact org.apache.maven.plugins
- python类的定义的学习
- 监听器,监听文件是否改变。
- windows命令行下用netsh实现端口转发(端口映射)
- Day2_数据类型与运算符
- 解决vs2013控制台程序一闪而过的问题
- C++终极复习篇(三)----类和对象
- Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT…
- 【zookeeper】错误处理机制
- Java基础中的基础01
- Java Calendar 类时间操作,代码很简单。 演示了获取时间,日期时间的累加和累减,以及比较。
- subplot函数用法(MATLAB)
- 【转】将图集切割成单个单个的图片