JavaSE学习
位运算符
& 与 | 或 **^**非
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
<< 意思是左移一位 相当于乘二
**>>**意思是右移一位 相当于除以二
2<<3 = 16
JavaDoc
这是注释,输入 /** 再加回车即可
/**
* @author 作者名
* @version 版本号
* @since 指明需要最早使用的JDK版本
* @param 参数名
* @return 返回值情况
* @throws 异常抛出情况
*/
增强for循环
int[] number={10,20,30,40,50};
for(int x:number){
System.out.println(x);
}
把number的值赋给x并依次输出
数组定义
静态定义
int[] num = {1,2,3,4,5}
动态定义
int[] num = new int[数组大小];
稀疏数组
- 0 0 0 22 0 0 15
- 0 11 0 0 0 17 0
- 0 0 0 -6 0 0 0
- 0 0 0 0 0 39 0
- 91 0 0 0 0 0 0
- 0 0 28 0 0 0 0
创建一个6行7列的数组
稀疏数组表示为
行 | 列 | 值 | |
---|---|---|---|
all | 6 | 7 | 8 |
1 | 0 | 3 | 22 |
2 | 0 | 6 | 15 |
3 | 1 | 1 | 11 |
4 | 1 | 5 | 17 |
5 | 2 | 3 | -6 |
6 | 3 | 5 | 39 |
7 | 4 | 0 | 91 |
8 | 5 | 2 | 28 |
代码举例
public static void main(String[] args) {
//创建一个二维数组11*11
int[][] arry = new int[11][11];
arry[1][2]=1;
arry[2][3]=2;
int sum=0;
//输出原始数组的值
for (int[] ints : arry) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
for (int i = 0; i <arry.length ; i++) {
for(int j =0;j<arry.length;j++){
if(arry[i][j]!=0){
sum++;
}
}
}
System.out.println(sum);
//创建一个稀疏数组的数组
int[][] arr1 =new int[sum+1][3];
arr1[0][0] = 11;
arr1[0][1] = 11;
arr1[0][2] = sum;
int count=0;
for (int i = 0; i < arry.length; i++) {
for(int j=0;j<arry.length;j++){
if(arry[i][j]!=0){
count++;
arr1[count][0]=i;
arr1[count][1]=j;
arr1[count][2]=arry[i][j];
}
}
}
//输出稀疏数组
for (int i = 0; i < arr1.length ; i++) {
for (int j =0;j<arr1.length;j++){
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
展示稀疏数组
//把稀疏数组展示出来
int[][] num=new int[arr1[0][0]][arr1[0][1]];
for (int i = 1; i < sum+1; i++) {
num[arr1[i][0]][arr1[i][1]]=arr1[i][2];
}
//打印稀疏数组展示的东西
for(int i=0;i<num.length;i++){
for (int j =0;j<num.length;j++){
System.out.print(num[i][j]+"\t");
}
System.out.println();
}
面向对象
构造器
- 和类名相同
- 没有返回值,不能有void
作用
- new本质在调用构造方法
- 初始化对象的值
执行结果
注意点
- 定义有参构造之后,如果想使用无参构造,就要显示的定义一个无参构造
- 快捷键:Alt+Insert
封装
属性私有,get/set
作用
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 统一接口
- 系统的可维护性增加了