2021-04-03

@javaSE

前言

随行笔记02

一、循环语句

1.for循环

		for(int i=1 ;i<=5;i++){
			System.out.println(i);
		}

2.while 循环

  1. while
		int i=1;
		while(i<=5){
			System.out.println(i);
			i++;
		}
  1. do…while
		//1.初始化语句
		int i=1;
		
		//2. do - while 
		do{
			System.out.println(i);//循环体
			
			i++;
		}while(i<6);
			

特点:不管循环条是否成立,一定执行一次

3.加强 for 循环

 	    int[] arr = new int[5];
        for (int i : arr) {
            System.out.println(i);//i 数组中元素
        }

4.死循环

1.  for(;;){

   }
   
2.  while(true){  //最常用

}

3.  do{

	}while(true);
	

5. 流程控制语句

  1. continue :跳过本次循环,继续下一次循环。

  2. break: 直接结束当前循环

public class Demo{
	public static void main(String[] args){
		//用循环打印 偶数
		
		for(int i = 0;i<10;i++){
			
			//判断i是否是奇数,如果是就跳过当次循环
			if(i%2!=0){
				continue;//跳过本次循环,继续下一次循环
			}
			
			
			System.out.println(i);
		}
		
		System.out.println("===========");
		
		//打印数字到5就结束循环
		for(int i = 0;i<10;i++){
			
			System.out.println(i);
			
			if(i==5){
				break;//结束循环
			}
		}
		
		System.out.println("继续执行~~");
		
	}
}

6. 循环嵌套,九九乘法表

	public class Demo {
    public static void main(String[] args){
        for(int j=1;j<=9;j++){
            for(int i=1 ;i<=j ;i++){
                System.out.print(i+"x"+j+"="+ i*j+"\t");
            }
            System.out.println();//换行
        }
    }
}

二、IDEA 快捷键

在这里插入图片描述

三、数组

1.数组的定义及格式

数组是一种容器,可以用来存储多个同类型的数据。

格式一:数据类型[] 变量名
int[] arr1
格式二:数据类型 变量名[]
int arr2[]

2. 数组的初始化, 元素访问

  1. 动态初始化
    数据类型[] 变量名 = new 数据类型[长度];
    int[] arr = new int [5];

  2. 静态初始化
    完整格式:
    数据类型[] arr = new 数据类型[]{数据1,数据2,…};
    简化格式:
    数据类型[] arr = {数据1,数据2,…};

  3. 数组的索引从0开始 方式:数组名[索引];

3. 数组常见异常,数组遍历

  1. 索引越界异常 ArrayIndexOutOfBoundsException
	public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        System.out.println(arr[3]);//有效的索引范围 [0,长度-1]
    }
	}
  1. 空指针异常 NullPointerException
	public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        
        arr = null; //把原来的地址清空赋值为nul
        System.out.println(arr[0]);
    }
	}
  1. 数组的遍历
 		//数组名.fori 自增遍历
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        System.out.println("===============");

        //数组名.forr 自减遍历
        for (int i = arr.length - 1; i >= 0; i--) {
            System.out.println(arr[i]);
        }

遍历可以用来求数组最值,数组求和, 数组元素查找

4. java 内存分配

区域名称 作用
寄存器 给CPU使用,和我们开发无关。
本地方法栈 JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区 存储可以运行的class文件。
堆内存 存储对象或者数组,new来创建的,都存储在堆内存。
方法栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行。

四、方法

1. 方法概述、形参、实参

  1. 方法就是具有独立功能的一个代码块
  2. 方法定义后需要调用才能执行
  3. 方法可以提高代码的复用性,减少代码的冗余
  4. 形参:方法定义中的参数
  5. 实参:方法调用中的参数

2. 方法的定义及使用

  1. 无参无返回值方法定义和使用
public static void 方法名(){
  //方法体
}

方法名(); //调用
  1. 有参无返回值方法的定义和使用
public static void 方法名(形参列表){
   //方法体
}

方法名(实参); //调用
  1. 带有返回值的方法定义和使用
public static 返回值类型 方法名(参数列表){
  //xxx
  //功能逻辑执行
  //xxx
  
  return 返回值;  //返回值数据类型要和返回值类型一样,如果能够自动转换为返回值类型也是可以的。
}


类型 变量 = 方法名(); //无参有返回值
类型 变量 = 方法名(参数);//有参有返回值
可以不接收变量
  1. 方法的通用定义格式
修饰符 返回值类型 方法名(参数列表){
  //方法体
  //如果方法的返回值类型不是void,需要返回结果一定要return语句
  return 结果;
}

3.方法的重载

概念:同一个类中多个方法,同名不同参
特点:

  • 同名:方法名一样
  • 不同参:顺序不一样,类型不一样,个数不一样,与返回值无关
 public static boolean compare(byte b1, int b2) {
        return b1 == b2;
    }
   
    public static boolean compare(int b1, byte b2) {
        return b1 == b2;
    }
    
   public static boolean compare(int b1, int b2) {
        return b1 == b2;
    }
   
    public static boolean compare(short b1, short b2, short b3) {
        return b1 == b2 || b2 == b3;
    }

4.方法的参数传递特点及注意事项

  1. 方法的形参类型是基本数据类型:

    如果方法中对形参做了改变,不会对实参有影响。调用方法时只是实参把值赋值给形参而已。在不同的方法中实参和形参的位置(地址)不一样。
    
  2. 方法的形参类型是引用数据类型:

    如果方法中对形参做了改变,会对实参有影响。调用方法时是把实参的地址值赋值给形参。实参和形参对应的数据实体地址一样的,在不同的方法中具有相同地址的数据,本质上是同一个数据。
    
  3. 方法不能嵌套定义。

  4. 方法的返回值为void,表示方法没有返回值,没有返回值的方法可以省略return语句不写,如果要写return,后面不能跟具体的数据。

  5. return语句下面不能编写代码,以为永远执行不到,属于无效代码,编译报错。

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值