9-22易科 日志

数组

数组是具有相同的数据类型,且按照一定次序排列的一组变量的集合体

用一个变量表示一组数据

Java中数组在内存中分配一段连续的空间,这段空间中存储的数据个数是固定的

数组元素

构成一个数组的每个数据叫做数组元素

数组下标

下标是数组中的位置,在一个数组中,数组下标使用整数来表示的,从1开始依次累加

数组大小

数组中元素的个数叫做数组的大小,也叫数组的长度

定义数组

数组类型[] 数组名; int[] arr;

数组类型 数组名[]; int arr[];

为数组元素分配内存

数组名=new 数组类型[数组长度] arr =new int[10]

提示:数组长度是在为数组元素分配内存时确定的,数组长度一旦确定,数组长度不可更改

编码经验:通常都使用for循环为数组初始化,将for循环的循环变量i当做数组的下标

冒泡排序

案例:

Scanner input=new Scanner(System.in);
// int[] arr=new int[5];
// for(int i=0;i // System.out.println("请输入你要输入的第"+(i+1)+"个值");
// arr[i]=input.nextInt();
// }
// for(int i=0;i // for(int j=0;j // if(arr[i]>arr[i+1]) {
// int temp=arr[i];
// arr[i]=arr[i+1];
// arr[i+1]=temp;
// }
// }
// }
// for(int i=0;i<arr.length;i++) {
// System.out.println(arr[i]);
//

// }

常见问题

下标越界异常

public static void main(String[]args){

int[]score=new int[]{67,68,93,11};

System.out.println("第5个学生的成绩是"+score[5]);

}

public static void main(String[]args){

int[]score=null;

System.out.println("第5个学生的成绩是"+score[0]);

}

常见的语法错误

等号左边的中括号中不允许写长度

直接为数组元素初始化时不允许指定数组长度

直接初始化数组元素的代码必须写在一行

Arrays的应用

Arrays.equals(arr1,arr2):判断arr1和arr2的长度及元素是否相等 返回值boolern类型

Arrays.sort.(arr):对数组arr中的元素进行排序

Arrays.toString(arr):将数组arr转化为字符串

Arrays.fill(arr,value):将数组中的元素都替换成value的值

Arrays.copyf(arr,4):将数组赋值成一个长度为设定值的新数组

如果新长度小于被复制的长度,就取前面的值,如果大于被复制的长度则多余的长度取默认值0

二维数组

二维数组实际上也是一维数组

心得体会

循环嵌套用的不熟练

原码:不对其进行操作的二进制表达式

反码:1.正数的反码是其本身

​ 2.负数的反码,符号位不变,其他位置取反

补码:1.正数的补码与原码一致

​ 2.负数的补码,是反码+1

左移<< 右移>>

1 <<:左移操作,在不越界的情况下,x<<n等于x乘以2的n次幂

2 >>:右移操作,在不越界的情况下,x>>n等于x除以2的n次幂

从键盘中输入数据

1 导入Scanner类

import.java.util.Scanner;

2 创建Scanner对象

Scanner input=new Scanner(System.in);

3 从键盘上获取用户输入的数据

input.next() 获取一个字符串

input.nextInt() 获取一个整数

input.nextdouble() 获取一个双精度浮点数

input.nexthasNext() 判断是否有输入数据,有则返回true,没有返回false

运算符的优先级

1 优先级最低的是赋值运算符,其次是条件运算符

2 单目运算符包括!~ ++ -- 优先级最高

3 在表达式中()的优先级最高,先对括号里的进行运算

4 结合性从右往左的只有赋值运算符 、单目运算符、三目运算符

5 优先级顺序-->算数运算符>关系运算符>逻辑运算符

if控制语句

1 单分支if结构

if(表达式){

​ 语句

}

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1