栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

week

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

week

Day_05 1、方法【重点】 1.1、方法的使用 1.1.1、语法格式
//无参无返回值的方法
public static void 方法名() {
    //方法体
}

//有参无返回值的方法
public static void 方法名(数据类型 形参名1,数据类型 形参名2,数据类型 形参名3,...) {
    //方法体
}

//无参有返回值的方法
public static 数据类型 方法名() {
    //方法体
    return 返回值;
}

//有参有返回值的方法
public static 数据类型 方法名(数据类型 形参名1,数据类型 形参名2,数据类型 形参名3,...) {
    //方法体
    return 返回值;
}
1.2、总结
  • 方法声明时的参数是形参,方法调用时传入的参数是实参,实参赋值给形参。

  • 方法调用时,实参的数据类型要与形参的数据类型保持一致

  • 返回值的数据类型必须与方法声明的数据类型保持一致

  • return返回值的后面不可以写代码

2、break和continue关键字 2.1、break 2.1.1、语法格式
break;
2.2、continue 2.2.1、语法格式
continue;
2.3、总结
  • break关键字只能在switch-case结构中或循环结构中使用
  • continue关键字只能在循环结构中使用
2.4、面试题
  • break和continue的区别?

    答:break 和 continue 都是用来控制循环的语句。break用于完全结束一个循环,跳出循环体执行循环后面的语句。continue 用于跳过本次循环,继续下一次循环

Day_06 1、数组_1【重点】 1.1、定义数组 1.1.1、语法格式
//第一种方式
数据类型[] 数组名 = {值1, 值2, 值3,...};
数据类型 数组名[] = {值1, 值2, 值3,...};

//第二种方式
数据类型[] 数组名 = new 数据类型[容器(数组长度)];
数据类型 数组名[] = new 数据类型[容器(数组长度)];

//第三种方式
数据类型[] 数组名 = new 数据类型[]{值1, 值2, 值3,...};
数据类型 数组名[] = new 数据类型[]{值1, 值2, 值3,...};
1.2、数组赋值
public static void scanArr(int[] arr) {
    Scanner s = new Scanner(System.in);
    for (int i = 0; i < arr.length; i++) {
        arr[i] = s.nextInt();
    }
}
1.3、数组遍历
public static void printArr(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i] + " ");
    }
}
1.4、二维数组的使用【了解】
import java.util.Scanner;

public class Demo_01 {
	public static void main(String[] args) {
		int rows,cols;
		Scanner s = new Scanner(System.in);
		System.out.print("输入二维数组arr行数:");
		rows = s.nextInt();
		System.out.print("输入二维数组arr列数:");
		cols = s.nextInt();
		int[][] arr = new int[rows][cols];
		System.out.println("输入二维数组arr元素:");
		scanArr(arr);
		System.out.println("输出二维数组arr元素:");
		printArr(arr);
	}
	
	public static void scanArr(int[][] arr) {
		Scanner s = new Scanner(System.in);
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[i].length; j++) {
				arr[i][j] = s.nextInt();
			}
		}
	}
	
	public static void printArr(int[][] arr) {
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[i].length; j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}
	}
	
}
1.5、数组在方法中的使用 1.5.1、语法格式
//数组作为方法的参数
public static void 方法名(数据类型[] 形参) {
    方法体
}

//数组作为方法的返回值
public  static 数据类型[] 方法名() {
    方法体
    return 返回值;
}

//数组作为方法的参数和返回值
public  static 数据类型[] 方法名(数据类型[] 形参) {
    方法体
    return 返回值;
}
1.6、数组的内存解析
内存区域作用
寄存器给CPU使用,和开发没有关系
本地方法栈虚拟机(JVM)操作电脑系统时才会使用
方法区存储和运行.class文件
堆区【重点】存储对象或数组,new出来的都存在堆区
栈区【重点】存储基本数据类型和引用数据类型的数据

1.7、经典实例 1.7.1、数组逆序
public static void reverse(int[] arr) {
    for(int i = 0,j = arr.length - 1;i < j;i++,j--) {
        int temp;
        temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
	}
}
1.8、总结
  • 数组arr长度:arr.length
  • 输出数组arr元素:char类型数据使用 sout(arr); 直接输出数据,其他类型数据使用 sout(Arrays.toString(arr)); 输出数据。
Day_07 1、数组_2【重点】 1.1、排序【重点】 1.1.1、选择排序

public static void selection_sort(int[] arr) {
	for (int i = 0; i < (arr.length - 1); i++) {
		for (int j = (i + 1); j < arr.length; j++) {
			if (arr[i] > arr[j]) {
				int temp;
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}
}
1.1.2、冒泡排序

public static void bubble_sort(int[] arr) {
	for (int i = 0; i < (arr.length - 1); i++) {
		for (int j = 0; j < (arr.length - i - 1); j++) {
			if (arr[j] > arr[j+1]) {
				int temp;
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
}
1.2、总结
  • 数组arr排序:Arrays.sort(arr);,Arrays.sort(arr) 使用的排序方式是快速排序
Day_08 1、面向对象_1【重点】 1.1、类的声明 1.1.1、语法格式
[public] class 类名 {
	//属性
	
    //构造方法
    
	//普通方法
	
}
1.2、对象的创建 1.2.1、语法格式
类名 对象名 = new 类名();
1.3、对象对属性赋值与方法调用 1.3.1、语法格式
//属性赋值
对象名.属性名 = 属性值;

//方法调用
对象名.方法名();
1.4、构造方法 1.4.1、语法格式
//无参构造方法
public 类名() {
    
}

//有参构造方法
public 类名(数据类型 形参1,数据类型 形参2,数据类型 形参3,...) {
    //
}
1.4.2、构造方法给属性赋值
//语法格式
类名 对象名 = new 类名(值1,值2,值3,...);
1.4.3、总结
  • 构造方法的使用:new对象是依据构造方法来创建对象。如果不写构造方法,会自动分配一个默认的无参构造方法,如果写了构造方法(无参构造方法或有参构造方法),默认的无参构造方法就不会自动分配
1.5、对象的内存解析

1.6、构造代码块 1.6.1、语法格式
{
	语句体;
}
1.6.2、总结
  • 构造代码块:必须写在实体类中
  • 实例化对象后执行流程:先执行构造代码块,再执行构造方法
1.7、局部变量和成员变量 1.7.1、局部变量和成员变量的区别【重点】【面试题】
区别成员变量局部变量
定义位置不同类中,实体类大括号的后面(属性)方法中或方法声明上(形参)
作用范围不同类中方法中
初始化值不同有默认值没有默认值。必须先定义,赋值,最后使用
内存中位置不同堆区栈区
生命周期不同随着对象的实例化而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完成而消失
1.8、总结
  • 当实体类和测试类写在同一个Java文件中时,实体类不能使用public修饰符
Day_09 1、面向对象_2【重点】 1.1、封装【重点】 1.1.1、语法格式
class 类名 {
    
    //1、成员变量加修饰符private
	private 数据类型 xxx;
	
    //2、在类中写set和get方法对属性进行赋值和取值
	public void setXxx(数据类型 xxx) {
        this.xxx = xxx;
    } 
    public 数据类型 getXxx() {
        return xxx;
    }

}
1.2.1、属性赋值与取值
类名 对象名 = new 类名();

//属性赋值
对象名.setXXX(xxx);

//属性取值
System.out.println(对象名.getXxx());
1.2、关键字:this 1.2.1、语法格式
//方法调用属性(成员变量)和成员方法
this.属性名;

this.方法名();

//构造方法调用构造方法【不常用】
this();

this(参数1,参数2,参数3,...);
1.2.2、总结
  • this关键字代表当前类的对象
  • this关键字只能在方法(成员方法或构造方法)中使用
  • this关键字可以在构造方法和成员方法中调用属性(成员变量)和成员方法
  • this关键字可以调用构造方法,但只能在构造方法中调用构造方法,并且只能写在第一行
1.3、多类合作 1.3.1、语法格式
//对象作为方法的参数
public void 方法名(类名 对象名) {
    //方法体
}

public 数据类型 方法名(类名 对象名) {
    //方法体
    return 返回值;
}

//对象作为属性(成员变量)
class 类名 {
    //属性
    类名 对象名;
    //方法
}
1.3.2、总结

数2,参数3,…);

###### 1.2.2、总结

- [ ] this关键字代表当前类的对象
- [ ] this关键字只能在方法(成员方法或构造方法)中使用
- [ ] this关键字可以在构造方法和成员方法中调用属性(成员变量)和成员方法
- [ ] this关键字可以调用构造方法,但只能在构造方法中调用构造方法,并且只能写在第一行

##### 1.3、多类合作

###### 1.3.1、语法格式

```java
//对象作为方法的参数
public void 方法名(类名 对象名) {
    //方法体
}

public 数据类型 方法名(类名 对象名) {
    //方法体
    return 返回值;
}

//对象作为属性(成员变量)
class 类名 {
    //属性
    类名 对象名;
    //方法
}
1.3.2、总结
  • 方法的参数和对象的属性可以是八大基本数据类型,引用数据类型(String、数组、对象)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号