疯狂Java讲义_Chapter04流程控制与数组

1.顺序结构

  • 顺序结构就是程序从上到下执行,没有跳转和循环;

2.分支结构

1.if条件语句

public class IfTest {
    public static void main(String[] args){
        int age = 20;
        if(age > 20){
            System.out.println("true");
        }
        else{
            System.out.println("false");
        }
    }
}
  • 如果if和else语句后面只跟一句程序时,可以省略花括号;否则语句就是全局执行的;

 2.switch分支语句

  • switch语句后面只能是byte, short, char, int, 枚举,String这几种;

public class SwitchTest
{
	public static void main(String[] args)
	{
		var score = 'C';
		switch (score)
		{
			case 'A':
				System.out.println("优秀");
				break;
			case 'B':
				System.out.println("良好");
				break;
			case 'C':
				System.out.println("中");
				break;
			case 'D':
				System.out.println("及格");
				break;
			case 'F':
				System.out.println("不及格");
				break;
			default:
				System.out.println("成绩输入错误");
		}
	}
}

 

3.循环结构

1.while循环:先判断再执行

public class WhileTest {
    public static void main(String[] args) {
        var count = 0;
        while (count < 10) {
            System.out.println(count);
            count++;
        }
        System.out.println("循环结束");
    }
}

 2.do..while:先执行再判断

public class DoWhileTest
{
	public static void main(String[] args)
	{
		var count = 1;
		do
		{
			System.out.println(count);
			count++;
		}while (count < 10);
		System.out.println("循环结束!");
		var count2 = 20;
		do
			System.out.println(count2++);
		while (count2 < 10);
		System.out.println("循环结束!");
	}
}
  • 和if一样,只有后面跟的是单行语句,才可以省略{}

3.for循环

//大部分情况下,for循环可以替代while和do-while

public class ForTest{
    public static void main(String[] args){

        for(int i = 10; i<100; i++){
            System.out.println("输出i"+i);

        }
    }

}


4.控制循环结构

1.使用break结束循环;

2.使用continue忽略本次循环的剩余语句,进行下一次循环;

3.使用return结束方法;

5.数组类型

1.定义数据

  • 数组中的元素都是同一类型;
  • 数组长度不可变化;
  • 数组是引用类型;
  • 定义数组的方式
int[] arr1;
int arr1[];

 2.数组初始化

  • 在Java中,数组必须先初始化,然后才能使用;
  • 初始化方式
//静态初始化
int[] arr1;
arr1 = new int[]{1,2,3,4,5};

Object[] arr2;
arr2 = new String[]{"ASD","DDD"};

int[] arr3 = {1,2,3,4};


//动态初始化
int arr4;
arr4 = new int[10];    默认为0,false,null

3.使用数组

  • 数组使用[]来访问数组元素;
  • 数组的第一个索引是a[0],最后一个是a[length - 1];
  • 数据越界异常:java.long.ArrayIndexOutOfBoundsException:N

4.foreach循环

  • foreach循环适用于遍历数组和集合;
public class FETest{
    public static void main(String[] args){
        String[] strarr = {"ASS", "ADDS"};
        //如果希望在循环过程中改变数组的值,则不能使用foreach,因为foreach中的循环变量是临时变量;
        for(String ste : strarr)
            {
            System.out.println(ste);
             }
    }
}

6.深入数组

1.内存中的数组

  • 方法体执行的时候是在栈中执行的,方法使用的成员除了值类型之外(值类型一般是局部变量),都是引用对象类型;
  • 引用类型放在堆中,供方法反复使用,直到被垃圾回收;

2.基本类型数组的初始化(page97)

3.引用类类型数组的初始化(page99)

4.多维数组(page100)

  • 多维数组的计算机本质就是一维数组;

5.操作数组的工具类Array(page103)

  • static修饰的方法可以直接通过类名调用;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值