JAVA笔记第三节(二进制,十六进制,八进制,变量,数据类型,标识符,运算符,变量作用域,转义字符)
文章目录
二进制
二进制概念
计算机中的数据都以二进制数字保存。
- 二进制:逢二进一。即只有 0、1 两个值。
- 如:十进制的 2 在计算机内保存为二进制的 10
计算机中信息的存储单位
- 位(Bit):表示一个二进制数码 0 或 1,是计算机存储处理信息的最基本的单位。
- 字节(Byte):一个字节由 8 个位组成。它表示作为一个完整处理单位的 8 个二进制数码。一般一个字节最大就是11111111,所以在设置ip地址时,最大值只能输入255。
二进制转十进制
1010 = 1 ∗ 2 3 + 0 ∗ 2 2 + 1 ∗ 2 1 + 0 ∗ 2 0 1*2^3+0*2^2+1*2^1+0*2^0 1∗23+0∗22+1∗21+0∗20 = 8+0+2+0 = 10
取余
十进制转二进制
补码
事实上,计算机内的二进制数值是以补码形式表示的
补码:
- 一个正数的补码和其原码的形式是相同的。
- 负数的补码是:将该数的绝对值的二进制形式,按位取反再加 1。
- 由此可知,二进制补码数值的最高位(最左位)是符号位:该位为 0,表示数值为正数;该位为 1,表示数值为负数。
十进制 | 二进制补码 |
---|---|
10 = | 00000000 00000000 00000000 00001010 |
-10= | 11111111 11111111 11111111 11110110 |
十六进制
二进制表示法太冗长,所以在程序中一般喜欢用十六进制。
十六进制:基数为十六,逢十六进一。它用 abcdef 表示从 0-9 之上的值。
Java 中十六进制数据要以 0x 或 0X 开头。如:0x23D
十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可
二进制 | 十六进制 |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
八进制
八进制:基数为八。
Java 中八进制数据要以 0 开头。如:0123
八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可。
二进制 | 八进制 |
---|---|
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
例如二进制1010:0000 1010
第一位加一个0:000 001 010 得012为八进制。
变量
由于该存储单元中的数据可以发生改变,因此得名为"变量"
变量分类
按所属的数据类型划分:
- 8种基本数据类型变量
- 引用数据类型变量
按被声明的位置划分:
- 局部变量:方法或语句块内部定义的变量 (定义到public里。)
- 成员变量:方法外部、类的内部定义的变量(定义到public外,class里)
- 特别注意:类的外面不能有变量的声明
数据类型
字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。Java 中的字节是八位的字节,即它包含八位的二进制数。
类型 | 占用内存值 | 范围(含边界值) | 默认值 |
---|---|---|---|
整数型(int) | 4 字节 | -2 147 483 648 ~ 2 147 483 647(稍大于 20 亿) | 0 |
短整数型(short) | 2 字节 | -32 768 ~ 32 767 | 0 |
长整数型(long) | 8 字节 | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L | 0 |
字节型(byte) | 1 字节 | -128 ~ 127 | 0 |
浮点型(float) | 4 字节 | -3.40292347E+38-3.40292347E+38 | 0.0f |
双 精 度 型(double) | 8 字节 | -1.79769313486231570E+308-1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1 字节 | true 或 false | false |
字符型(char ) | 2 字节 | ‘ \u0000 - u\ffff ’ | ‘\u0000 ’ |
byte 不能超过127,总范围是255.
字符型范围中的0和f,指的是16进制中的最小值和最大值。
标识符
Java 对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。规则如下:
- 由字母、数字、下划线(_)和美元符号($)组成。
- 不能以数字开头。
- 区分大小。
- 长度无限制。
- 不能是 Java 中的保留关键字。
For example:
非法标识符:2UserName、user#Name、Hello World、class
类型转换
boolean 类型不能转换成任何其它数据类型 。
自动类型转换:容量小的类型自动转换成容量大的数据类型
byte,short,int -> float ->long ->double
byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符
long l = 100L;
int i = (int)l;
有可能造成精度降低或数据溢出,使用时要小心。
当两个不同类型的变量需要赋值,他们需要的内存大小一样时,他们是可以直接赋值的。例如:float a = 10;
(float 和int 都需要的是4个字节)
float变量定义
我们直接学出浮点数字,默认类型是double,会提示需要强制转换。
下面这个方法可以直接定义:
float f1 = 10.1f
(在浮点数字的后面加入f)
long变量定义
long f1 = 2000000000l
;(在超长的整型数字的后面加入l)
char变量定义
char a = 'A';
System.out.println((int)a);
输出结果为65
ASCII表
方法
方法用于封装一段特定的逻辑功能。方法的主要要素有:权限修饰符 方法名、参数列表和返回值
格式:
权限修饰符 返回值类型声明 方法名称(参数列表){
方法中封装的逻辑功能;
return 返回值;
}
返回值详解
方法调用结束后可以返回一个数据,称之为返回值。
方法在声明时必须指定返回值的类型。
通过 return 语句返回,return 语句的作用在于结束方法且将数据返回。
如果方法没有返回值(即方法不需要返回数据),需将返回值类型声明为 void。
下面简述两种返回值用法:
运算符
算数运算符
++: 如果是变量前缀:先对此变量加 1,再执行其他的操作。
如果是变量后缀:先执行当前语句的其他操作,再对此变量加 1
–: 如果是变量前缀:先对此变量减 1,再执行其他的操作。
如果是变量后缀:先执行当前语句的其他操作,再对此变量减 1
赋值运算符
赋值运算符作用是将一个值赋给一个变量,运算顺序从右到左
关系运算符
关系运算符作用是比较两边的操作数,结果总是 boolean 型的。
逻辑运算符
逻辑运算符用于对 boolean型结果的表达式进行运算,运算结果总是 boolean 型。
![**
异或:两边结果相同时为假
短路或:如果左边已经是true,右边就不参与运算了。
短路与:如果左边已经是false,右边就不参与运算了。
字符串链接运算符
String s=“He” + “llo”; 结果"Hello"
"+“除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。
如:String s=“x” + 123; 结果"x123”
三目运算符
X ? Y : Z
X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
例:
int score = 75;
String type = score >=60 ? “及格” : “不及格”;
操作符优先级
表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:
优先次序 | 运算符 |
---|---|
1 | . [] () |
2 | ++ – ! ~ instanceof |
3 | new (type) |
4 | * / % |
5 | + - |
6 | >> >>> << |
7 | > < >= <= |
8 | = = != |
9 | & |
10 | ^ |
11 | | |
12 | && |
13 | || |
14 | ?: |
15 | = += -= *= /= %= ^= |
16 | &= |
变量作用域
转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。
而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了
如果博主的这篇文章对您有帮助,点赞支持一下呀。
如果觉得文章写的可以,转载请带上我哦!
图片从各个网站转载,如有侵权请联系删除!