java的数据类型和运算符
首先引入概念:
1.bit就是位,也叫比特位,是计算机表示数据最小的单位
2.byte就是字节
3.1byte=8bit ,0001 1100,一般用两个16进制来显示,所以我们经常看到1个字节显示为 1c
4.1byte就是1B
JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。
变量的数据类型
Java是一门强类型的编程语言。
基本数据类型:数值型:整数类型(byte,short,int,iong)
浮点类型(float,double)
字符型:(char)
布尔型:(boolean)
引用数据类型:类(class)
接口(interface)
数组
枚举(enum)
注解(annotation)
整数类型变量
类型 |
占用空间 |
类型 |
占用空间 |
字节型byte |
8位(一个字节) |
短整型short |
16位(两个字节) |
整型int |
32位(4个字节) |
长整型long |
64位(8个字节) |
*在为long类型的变量赋值时需要注意一点,在所附的值后面加一个字母L,说明赋值为long类型。如果赋的值未超过int的取值范围,则可以省略。
浮点数类型变量
类型名 |
占用空间 |
Float |
32位(4个字节) |
double |
64位(8个字节) |
在java中,一个小数会被默认为double类型的值,因此float类型的变量在赋值时一定要在后面加f或F.
字符类型变量
在给char类型的变量赋值时,需要用一对英文半角格式的单引号把字符括起来。
char c=’a’;
char c=97;具有相同的结果。
布尔类型变量
在java中用boolean表示。
Java中的常量
十六进制整型常量:以十六进制表示时,需以0x或0X开头,如0xff,0X9A。
八进制整型常量:八进制必须以0开头,如0123,034。
长整型:长整型必须以L作结尾,如9L,342L。
字符常量:字符型常量需用两个单引号括起来(注意字符串常量是用两个双引号括起来)。Java中的字符占两个字节。一些常用的转义字符:
①\r表示接受键盘输入,相当于按下了回车键;
②\n表示换行;
③\t表示制表符,相当于Table键;
④\b表示退格键,相当于Back Space键;
⑤\'表示单引号;
⑥\''表示双引号;
⑦\\表示一个斜杠\。
变量的类型转换
1、 自动类型转换
两种数据类型在转换的过程中显式的进行说明。必须满足两个条件:1、两种数据类型彼此兼容,2、目标类型的取值范围大于源类型的取值范围。
*可以进行自动类型转换的情况
1、整数类型之间可以进行转换。如byte类型的数据可以赋值给short int long的变量。short char类型的数据可以赋值给int long 类型的变量,int类型的数据可以赋值给long类型的变量。
2、整数类型转化为flort类型
例如byte int char short类型的数据可以赋值给flort 类型的变量。
1、 其他类型转换为double类型,如char byte short int long flort类型的数据可与赋值给double 类型的变量。
2、 强制类型转换
也叫显式类型转换,当两种类型彼此不兼容,或者目标类型的取值范围小于源类型时,需要进行强制类型转换。具体格式如下
目标类型 变量=(目标类型)值
如:
Public class Example{
Public static void main (String [] args){
Int nam=4;
Byte b=(byte) num;
System.out.println(b);
}
}
Java中的运算符
在java中,运算符可以分为算术运算符、赋值运算符、比较运算符、逻辑运算符、比较运算符和位运算符。
算术运算符
1、 在进行除法运算时当除数和被除数都是整数时,结果也是整数。如果除法运算中有小数参与,结果会是一个小数。
2、 在进行取模运算(%)时,结果的正负取决于被模数的符号。与模数的符号无关。
(1)如果+号用于字符串的时候,那么+号就是一个连接符,并不是做加法功能了。
(2)连接符的作用:让任何的数据都可以与字符串进行拼接。
(3)任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据。
赋值运算符
在赋值过程中,运算顺序从右往左,将右边表达式的结果付给左边的变量。
注意:
1、在java中,为三个变量同时赋值:
Int x,y,z; int x=y=z=5; 是错的
X=y=z=5;
3、 在使用+=、-=、*=、/=、%=运算符进行赋值时强制类型转换会自动完成,程序不需要做任何显式的说明。
比较运算符
比较运算符的结果都是返回一个布尔类型的值,只有两种结果true和false。
逻辑运算符
1. &(与/逻辑与):可以理解为并且
(1)&(与)符号规律:只有左右变量同时为true,结果才是true;否则就为false。
2. | (或/逻辑或):可以理解为或者
(1) |(或)符号规律:只要两边的布尔表达式有一边为true,那么结果就为true;只有两边同时为false的时候,结果才是false。
3. ^ (异或):可以从“异”字入手去理解
(1)规律:只要两边的布尔表达式结果不一致,结果就为true;如果左右两边的布尔表达式一致,结果就为false。
4. !(非)
(1)规律:结果取反
5. &&(短路与/双与)
(1)短路与和单与符号的相同点和不同点:
①相同点:短路与和单与的运算结果是一致的。
②不同点:使用短路与的时候,如果左边的布尔表达式为false,则不会再运算右边的布尔表达式,从而提高了效率;而 使用单与的时候即使发现左边的布尔表达式为false,还是会运算右边的布尔表达式的。
6. ||(短路或/双或)
(1)短路或和单或的相同点和不同点:
①相同点:短路或和单或的运算结果是一致的。
②不同点:使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式;而使用单或的时 候,当发现左边的布尔表达式结果为true,还是会运算右边的布尔表达式。
位运算符
1. &(与)
只有参与运算的两位都为1,&运算的结果才为1,否则就为0。
2. |(或)
只有参与运算的两位都为0,|运算的结果才为0,否则就为1。
3. ^(异或)
(1)只有参与运算的两位不同,^运算的结果才为1,否则就为0。
(2)规律:如果操作数A连续异或同一个操作数两次,那么结果还是操作数A。
(3)应用:对数据进行加密。(实例在博客中会单独列出一篇)
4. ~(取反)
就是二进制位按位取反,二进制只有1和0,取反就是1取反是0,0取反是1。
(1)当参与取反的数值是正数时,把对应的值加上负号,再-1。
(2)当参与取反的数值是负数时,把对应的值加上负号,再-1。
(3)负数表现形式就是对应的正数取反再+1,负数的最高位肯定是1。
参考于作者:zhuwei1035838807原文:https://blog.csdn.net/zhuwei1035838807/article/details/78941846