java基本语法-跳转控制语句、数组-day05

跳转控制语句

break(在switch里用于结束语句,在循环里使用结束当前循环)
/*

跳转控制语句

*/
class JavaDemo{
public static void main(String[] args) {
//打印5行7列星星
for(int i=1;i<=5;i++){
for(int j=1;j<=7;j++){

			//
			if(j==2)
				break;
			System.out.print("*");
			
		}
		System.out.println();
		
	}
}

}
//*
//*
//*
//*
//*

continue(跳过当次循环)
return
/*

跳转控制语句


标号  名称:循环

*/
class JavaDemo{
public static void main(String[] args) {
//打印5行7列星星
for(int i=1;i<=5;i++){
for(int j=1;j<=7;j++){

			//
			if(j==2)
				continue;
			System.out.print("*");
			
		}
               //换行
		System.out.println();
		
	}
}

}
//******
//******
//******
//******
//******

数组

1.概念

可以存储多个相同数据类型元素的容器

2.定义格式

1.数据类型[] 数组名=new数组类型[元素个数/数组长度];
int[] arr=new int[3];//指定长度
数据类型 名称 =初始化;//定义变量
变量的定义可以分为声明和初始化两个过程
数组的定义也可以分为声明和初始化两个过程
通过唯一的内存地址值(数组名)来确定数组,Java自动给数组元素
进行编号(小标),从0开始,由地址值和小标就能唯一
确定数组里的元素----数组名[下标]
在这里插入图片描述
数组的定义

*/
class ArrayDemo{
public static void main(String[] args) {
//定义数组
int[] arr=new int [3];

	//给数组元素赋值操作
	//给数组元素第一个元素赋值为10
	arr[0]=10;
	//声明
	int [] arr1;
	//初始化
	arr1 =new int[5];
	//输出数组名(数组地址值)
	System.out.println(arr);
	//输出数组元素值
	System.out.println(arr[0]);
	

}

}

2.数据类型[] 数组名=new数据类型[]{元素值1,元素值2,…};
int[] arr=new int[]{1,2,3};//给定元素值确定数据长度不用给定长度值

可以分为声明和初始化两个过程
/*\

数组的定义

*/
class ArrayDemo{
public static void main(String[] args) {
//定义数组
int[] arr= new int[]{1,2,3};

	//声明
	int arr1;

	//初始化
	arr1=new int[]{1,2,3};
	
	

}

}

3.数据类型[] 数据名={元素值1,元素值2,…};
int[] arr ={1,2,3};

不可以分为声明和变量两个部分

/*\

数组的定义

*/
class ArrayDemo{
public static void main(String[] args) {
//定义数组
//底层默认开辟空间
int[] arr={1,2,3};

	//声明
	int[] arr1;

	//初始化;
	//初始化报错---没有开辟内存空间无法存储元素
	arr1  ={1,2,3};

}

}

new —开辟内存空间

3.java内存


存储变量(暂且),当存储的内容使用完毕之后会立即清除。


存储的对象,当我们存储内容使用完毕后等到某个时刻来进行回收
方法区(面向对象)
本地方法栈
寄存器(程序计数器)

系统默认初始值
(byte 、short、int—0)、(char—’\u0000’ \u代表以u16进行编码)
、(long —OL)、(float—0.0F)、(double—0.0)
(boolean—false)、(引用数据类型----null)
系统默认初始值优先于程序初始值先存在

在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806164223125.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1ODA3MD在这里插入图片描述
Q1,size_16,color_FFFFFF,t_70)

数组应用

1.遍历–依次把数组元素进行输出
/*
数组遍历

*/
import java.util.Arrays;
class ArrayBianLi{
public static void main(String[] args) {
//定义数组
int[] arr={2,4,1,6,9,5};
//普通for循环实现遍历
//数组名.length—返回数组长度值
/for(int i=0;i<arr.length;i++){//下标范围
System.out.println(arr[i]);
}
/

	//增强for循环
	//(元素类型 变量名:要去遍历的数组名)
	//把数组元素拷贝赋值给新变量来输出新变量值
	/*for(int i:arr){
		System.out.println(i);
	}*/


 	//展示数组元素内容---遍历输出
	System.out.println(Arrays.toString(arr));

}

}

2.最值—求出数值元素的最大值和最小值
/*

求最值

*/
class ArrayMaxDemo{
public static void main(String[] args) {
//定义数组
int[] arr={4,2,1,7,9,5};
//选取第一个元素当做参照物
int max=arr[0];
//遍历数组
for(int i=1;i<arr.length;i++){//下标范围
//判断大小
if(arr[i]>max){
max=arr[i];
}
}
System.out.println(max);

}

}

3.查找–给定查找返回数组第一次出现下标值
在这里插入图片描述

/*
数组查找

*/
class ArraySearchDemo{
public static void main(String[] args) {
//定义数组
//int[] arr={1,7,3,2,5,8};//无序数组
int[] arr={1,2,3,5,7,8};//有序数组
//给定查找数
int num=8;

	/*//遍历数组,依次比较(增强for实现---晚自习)
	for(int i=0;i<arr.length;i++){
		//判断数组元素是否和查找数相等
		if(arr[i]==num){
			System.out.println(i);
			//已经查找下标---结束循环
			break;
		}
	}*/

	//二分查找
	//提供三个下标
	int min=0;
	int max=arr.length-1;
	int mid=(min+max)/2;

	//循环范围不确定
	while(arr[mid]!=num){//中间下标对应的元素值和查找数不相等
		//如果num大于中间下标对应的元素值
		if(num>arr[mid]){
			min=mid+1;
		}
		//如果num小于中间下标对应的元素值
		if(num<arr[mid]){
			max=mid-1;
		}

		//查找数不在数组判断条件
		if(min>max){
			System.out.println("查无次数");
			//结束循环
			break;
		}

		//重新计算中间下标
		mid=(min+max)/2;
	}

	//输出
	if(max>=min)
	System.out.println(mid);
	
}

}

4.排序–给元素值排列顺序 冒泡,选择
在这里插入图片描述

冒泡排序
/*

冒泡排序

*/
import java.util.Arrays;
class ArrayMaoDemo{
public static void main(String[] args) {
//定义数组
int[] arr={6,1,7,3,9,2};

	//通过嵌套循环实现
	for(int i=1;i<arr.length;i++){//外层循环-控制轮数
		for(int j=1;j<=arr.length-i;j++){//内存循环-控制参与比较的元素范围
			//两两比较 j j+1  j-1 j(都可以)
			//升序排序---小的在前面
			if(arr[j-1]>arr[j]){
				//交换值
				int temp=arr[j-1];
				arr[j-1]=arr[j];
				arr[j]=temp;
			}
		}
	}

	//
	System.out.println(Arrays.toString(arr));
	
}

}

选择排序

在这里插入图片描述

/*
选择排序

*/
import java.util.Arrays;
class ArrayChooseDemo{
public static void main(String[] args) {
//定义数组
int[] arr={6,1,7,3,9,2};

	/*//通过嵌套循环实现
	for(int i=1;i<arr.length;i++){//外层循环-控制轮数
		for(int j=i;j<arr.length;j++){//内层循环-控制参与比较元素范围
		    //选择定点元素和后续元素进行比较
		    //升序排序---小的在前面
		    if(arr[i-1]>arr[j]){
			    //交换值
			    int temp=arr[i-1];
		        arr[i-1]=arr[j];
		        arr[j]=temp;
		    }
			
		}
	}*/

	//java提供的排序
	Arrays.sort(arr);

	//输出
	System.out.println(Arrays.toString(arr));
	
}

}

5.扩容

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值