java总结3:1.Java基础:20181213第一次课:1.数据类型和变量、进制的转换、2.运算符
1.数据类型和变量
基本类型
占用内存 取值范围
byte 8bit/1字节 -128~127
short 16bit/2字节 -32768~32767
int 32bit/4字节 -21亿~21亿
long 64bit/8字节 -922亿亿~922亿亿
float 32bit/4字节 3.4E38 保留8位有效数字,最后一位不精确
double 64bit/8字节 1.7E308 保留16位有效数字,最后一位不精确
char 16bit/2字节 0~65535 '\u0000'~'\uFFFF'
boolean 1bit true false
'a' 'A' '中'
保存字符的时候,实际上存储的是字符对应的Unicode编码(是一个0~65536之间的整数)
半角字符的Unicode编码和ASCII码一致
aA
aA
进制的转换
十进制和二进制之间的转换
59 111011
二进制转十进制
111011 59
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
59=32+16+8+2+1 111011
123=64+32+16+1 1110001
------------------------------------------
十进制和八进制
59 73
八进制转十进制
73 59
--------------------------------------------
八进制转二进制
73 111011
二进制转八进制
111011 73
十进制转十六进制
59 3b
十六进制转十进制
3b 59
FFFF 1111 1111 1111 1111
2.运算符
a.算术运算符
+ - * / %
/ 整数相除只计算整除的商,会丢掉余数
浮点数相除会保留相应的精度
浮点数和整除相除,首先将整数自动转换成浮点数类型,再计算
% 取余数
不管是整数还是浮点数都是计算整除之后的余数
++ --
a++ 和++a的区别
a++是先执行取值操作,再++
++a是先++,再执行取值操作
b.赋值运算符
=
+= -= *= /= %=
a+=3 --> a=a+3
c.关系运算符 比较两个数值的大小,运算结果一定是一个布尔值
==
!=
>
<
>=
<=
d.逻辑运算符 对布尔值进行运算的
! 逻辑非 对一个布尔值进行运算 非真既假 非假既真
& 逻辑与 对两个布尔值进行运算,都为真,就为真
&&短路与 对两个布尔值进行运算,都为真,就为真
逻辑与无论条件是否成立,都会计算完所有的表达式
短路与计算到为假的表达式,就结束
| 逻辑或 对两个布尔值进行运算,只要有一个为真,就为真
|| 短路或 对两个布尔值进行运算,只要有一个为真,就为真
逻辑或无论条件是否成立,都计算完所有的表达式
短路或计算到为真的表达式,就结束
e.条件运算符 三目运算符 三元运算符
? :
表达式1?表达式2:表达式3
表达式1的结果一定是一个布尔值
如果表达式1为真,就执行表达式2
如果表达式1为假,就执行表达式3
|a-b|
if(a<b){
c = b-a;
}else{
c=a-b;
}
int c = a<b?b-a:a-b;
f.位运算符 按照二进制位进行运算的运算符
& 按位与 按照位,都为1则为1,否则为0
1&1=1 0&0=0 0&1=0
3&5=1
011
&101
------
001
| 按位或 按照位,只要有一个1就为1
1|1=1 0|0=0 0|1=1
3|5=7
011
|101
------
111
^ 按位异或 按照位,相同为0 不同为1
3^5
011
^101
------
110
<< 左移 按位向左移动,在右边补0,超出该类型的位数,会先和类型的长度做取模运算,再位移
>> 右移 按位向右移动,在左边补符号位[正数补0,负数补1]
>>> 无符号右移 按位向右移动,无论正负数,都是在左边补0
int 32 01101010 00101010 11010010 01011101
00000000 00000000 00000000 11111111
----------------------------------------
00000000 00000000 00000000 01011101
交换a和b的值
01101010 00000000 00000000 00000000
00000000 00101010 00000000 00000000
00000000 00000000 11010010 00000000
00000000 00000000 00000000 01011101
计算机中是采用二进制的补码形式表示数据
正数的补码和原码相同
负数的补码=对应正数的原码的反码+1
3 00000011
-3 00000011 --> 11111100 --> 11111101
1+(-1)=0
00000001
11111111
------------
100000000
00000001 11111110 11111111
- JAVA基础二(java中的注释、ava编程语法基础、java数据类型、数据类型的转换、变量、运算符、分支语句、循环语句)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java基础__(环境变量配置,关键字,标识符,进制,数据类型,运算符)
- java语言基础day02(变量,进制,数据类型,字符和字符串参与的运算,运算符)
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- JAVA基础知识:标识符-变量-常用进制及转换-数据类型-键盘录入功能实现
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java基础-02总结关键字,标识符,注释,常量进制,变量数据类型
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- Java基础教程,第三讲,如何使用运算符?如何定义变量 以及数据类型转换
- JAVA基础知识点汇总【入门程序、常量、变量、数据类型转换、运算符、方法入门、流程控制语句、IDEA、方法、数组、类与对象、封装、构造方法】
- JAVA基础-2.关键字,标识符,常量,变量,进制,数据类型
- 黑马程序员——2.1.基础语法(关键字、常量、进制、变量、类型转换、运算符、流程控制(判断、选择、循环))
- JAVA 基础语法(二)——基本数据类型转换以及运算符
- java基础学习总结(一):标识符、变量、数据类型、注释
- 黑马程序员—JAVA基础—常量、变量、数据类型、运算符
- 【知识整理】javascript基础语法总结(2)——数据类型转换和运算符
- Java基础一:关键字、标示符、变量、常量和数据类型转换