0b1010 = 1 * 2^3 + 0 *2^2 + 1*2^1 + 0*2^0
= 8 + 0 + 2 + 0
= 10
0123 = 1*8^2 + 2*8^1 + 3*8^0
= 64 + 16 + 3
= 83
0x123 = 1*16^2 + 2*16^1 + 3*16^0
= 256 + 32 + 3
= 291
正数的补码和原码相同
5
原码:0000 0101
补码:0000 0101
* 负数的补码是它的反码加1
-5:
原码:1000 0101
反码:1111 1010
+ 1
------------------
补码 1111 1011
常见的字符编码
,- , * , / , %【取余】 , ++【自加】, --【自减】
= , += , -= , *= , /= , %=
== , > , < , >= , <= , !=
& ,^ ,| ,&& ,|| ,! , ^
a == b ? c : d
格式:(条件表达式)?表达式1:表达式2
& , | , ^ , ~ , << , >> , >>>
从上到下依次执行
if , if else , if else if …… else
switch case【支持byte,short,char,int,String】
for
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
第一步:先执行初始化语句,只执行一次
第二步:执行判断条件语句
第三部:执行循环体语句
第四步:执行控制条件语句,然后再执行循环体语句【循环】
while
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
do while
do {
循环体语句;
}while((判断条件语句);
方法就是完成特定功能的代码块
修饰符 返回值类型 方法名(参数类型 参数 , ……){
函数体
return 返回值
}
数组是一个容器,可以存储多个变量,这些变量数据类型要一致
数组既可以存储基本数据类型,也可以存储引用数据类型
数组定义格式
格式1:数据类型【】 数组名
格式2:数据类型 数组名【】
int[] a; 定义了一个int类型的数组a;
int a[]; 定义了一个int类型的a数组;
推荐使用第一种定义方式。
数组的初始化
初始化分类:
数组定义格式
举例:
int[][] arr = new int[3][2];
定义了一个二维数组arr
这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]
每个一维数组有2个元素,可以通过arr[m][n]来获取,表示获取第m+1个一维数组的第n+1个元素
A:栈: 存放的是局部变量
局部变量:在方法定义或者方法声明上的变量都是局部变量。
B:堆: 存放的是所有new出来的东西
特点:
a: 每一个new出来的东西都会为其分配一个地制值。
b: 每一个变量都有一个默认的值
byte,short,int,long -- 0
float,double -- 0.0
char -- '\u0000'
boolean -- false
引用数据类型 -- null
c: 使用完毕就变成了垃圾,等待垃圾回收器对其回收
C:方法区:(面向对象部分讲解)
D:本地方法区:(和系统相关)
E:寄存器:(cpu使用)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。