第三周Java学习
程序调试模式
步骤1:分析错误,设置断点
在想要设置断点的代码左侧边框栏处双击,就会出现一个圆形的断点标记,然后点击启动调试,如果再次双击,即可取消断点。
步骤2:启动调试,单步执行
F5单步跳入,
F6单步跳过,
启动调试点击昆虫按钮。
for循环
格式:for(条件一;条件二;条件3){
//循环内容
}
特殊用法for-each循环
- 对于for(类型名 类型 : 需要遍历的数组),这时候就是先创建了对象或者变量,然后遍历数组,一个一个赋值给类型
类型:可以是变量,对象
Scanner对象处理
第一步导包:import java.util.Scanner;
第二步实例化Scanner对象:Scanner ipt=new Scanner(System.in);
数组
数组的基本特点:
- 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型。元素的类型可以是java 支持的任意类型
- 数组类型可以是任何数据类型,包括基本类型和引用类型。
- 数组的元素在堆内存中被分配空间,并且是连续分配的
- 使用new 关键字对数组进行 内存的分配。每个元素都会被jvm 赋予默认值。默认规则:整数:0 浮点数:0.0 字符:\u0000 布尔:false 引用数据类型:null。
- 数组的元素都是有序号的,序号从0开始,0序的。称作数组的下标、索引、角标。
数组的声明
-
- 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
-
- 声明一个数组的时候并没有数组真正被创建。
-
- 构造一个数组,必须指定长度。
数组的格式
数组名:一个合法的标识符,命名规范 和 局部变量 规范一致。
new:是java 的关键字。用来向JVM申请内存的。
元素类型[元素个数] :决定了向JVM申请的内存空间的大小。
大小:元素类型字节数 * 元素个数。
元素的个数:只要是一个合法的java 表达式就可以。 返回一个int 类型的值即可
-
1.元素类型[ ] 数组名 = new 元素类型 [元素个数或数组长度];
例:int [] arr = new int [3];
-
2.元素类型[ ] 数组名 = new 元素类型 []{ };
-
java.util.Arrays类
Arrays类包含了:排序、查找、填充、打印内容等常见的操作。
- Arrays.toString();//打印数组元素
- Arrays.sort( );//数组排序升序
- 二分法查找 Arrays.binarySearch(数组名, key)
-
冒泡排序
/**
38 * 冒泡排序
39 *
40 * @param arr
41 * @return
42 */
43 public static void bubbleSort(int[] arr) {
44 for (int i = 0; i < arr.length - 1; i++) { // 外层循环控制趟数
45 // boolean flag = false;
46 for (int j = 0; j < arr.length - i - 1; j++) { // 内层循环控制一趟
47 // 如果前面的的数大于后面的数,定义最大值为前面的数。再进行位置置换,ASC
48 if (arr[j] > arr[j + 1]) { // arr[j] < arr[j + 1] 反则DESC
49 // flag = true;
50 int temp = arr[j];
51 arr[j] = arr[j + 1];
52 arr[j + 1] = temp;
53 }
54 }- /**
38 * 冒泡排序
39 *
40 * @param arr
41 * @return
42 */
43 public static void bubbleSort(int[] arr) {
44 for (int i = 0; i < arr.length - 1; i++) { // 外层循环控制趟数
45 // boolean flag = false;
46 for (int j = 0; j < arr.length - i - 1; j++) { // 内层循环控制一趟
47 // 如果前面的的数大于后面的数,定义最大值为前面的数。再进行位置置换,ASC
48 if (arr[j] > arr[j + 1]) { // arr[j] < arr[j + 1] 反则DESC
49 // flag = true;
50 int temp = arr[j];
51 arr[j] = arr[j + 1];
52 arr[j + 1] = temp;
53 }
54 }
- /**
类与对象
对象
用来描述客观事物的一个实体。
-
方法
用来描述对象动态特征的一个动作序列,相当于动作行为
注:多个方法不能嵌套定义。
-
引用对象的方法
-
对象名.方法名();
例:School.ad();
-
-
-
属性
-
在类中声明属性
-
数据类型 变量名;
String a=“哒哒哒”;
-
-
引用对象的属性
-
对象名.属性名=值//数值
例:School.ad=12;
-
-
-
定义一个对象(方法)
- pubulic void 对象名(){
}
- pubulic 返回值类型方法名(){
return 表达式;
}
- 接受返回值:在return返回了值的前提下,在main里写 返回值类型 变量名=对象名.方法名();
- 遇到return结构结束。
-
创建类的对象
-
实例化:
类名 对象名=new 类名();例:School center=new School( );
-
类
类相当于模具,它定义了对象将会拥有的特性(属性)和行为(方法)。
-
类的方法:对象执行的操作称之为类
-
定义一个类
- pubulic class 类名{
}
-
创建类的对象
-
实例化:
类名 对象名=new 类名();例:School center=new School( );
-
XMind - Trial Version