Java(day05)while循环和数组

while循环 

while常用做死循环,循环条件写true,但需要设置出口break

package cn.tedu.basic;

import java.util.Random;
import java.util.Scanner;


//本类用于练习while循环
public class TestWhile {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int r=creatNum();
		//System.out.println(r);
		guessnumber(r);
	

	}

	private static void guessnumber(int r) {
		// TODO Auto-generated method stub
		
		//while常用做死循环,循环条件写true,但需要设置出口break
		while(true)
		{
			System.out.println("请输入你猜的整数:");
			int a=new Scanner(System.in).nextInt();
			if (r>a) {
				System.out.println("您猜小了");
			} else if (r<a) {
				System.out.println("您猜大了");
			} else {
				System.out.println("恭喜中奖");
				break;
			}

			
		}
	}

	private static int creatNum() {
		//
		int random=new Random().nextInt(10);
		return random;
	}

}

产生10以内(不包含10)的随机数:

int random=new Random().nextInt(10);

do-while循环

do{循环体}while(循环条件)

package cn.tedu.basic;

import java.util.Random;


public class TesatDoWhile {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n;
		do {
			System.out.println("我是循环体");
			n=new Random().nextInt(300);
			System.out.println(n);
		}while(n>100);

	}

}

循环结构的区别

for:知道循环次数

while/do while:当循环次数不确定时

while:先判断,不符合规则,不执行代码

do while:代码最少被执行一次,再去判断,符合规则,再次执行代码

数组数组结构

数组的内存空间是连续的

 动态初始化:知道数组的长度,后续给每个元素赋值

int[] a = new int[5];

静态初始化:创建数组的时候已经确定了每个元素具体的值

int[] b = new int[]{1,2,3,4,5};

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

char类型的数组,在底层代码中做了处理,可以直接查看数组中的元素

其他数组需用Arrays.toString(数组名)

public class TestArray {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		char[] c1= {'h','e','l','l','o'};
		char[] c2= new char[] {'h','e','l','l','o'};
		char[] c3=new char[5];
		c3[0]='h';
		c3[1]='e';
		c3[2]='l';
		c3[3]='l';
		c3[4]='0';
		
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		
		String[] s1=new String[]{"a","b","c"};
		String[] s2= {"a","b","c"};
		String[] s3=new String[3];
		s3[0]="a";
		s3[1]="b";
		s3[2]="c";
		//char类型的数组,在底层代码中做了处理,可以直接查看数组中的元素
		//其他数组需用Arrays.toString(数组名)
		System.out.println(Arrays.toString(s1));
		System.out.println(Arrays.toString(s2));
		System.out.println(Arrays.toString(s3));

	}

}

int是整数型,int[]是引用型,所以当他们为成员变量时,返回值不同,int返回0,int[]是null;

数组的复制:

复制整个数组:Arrays.copyof(要复制的那个数组名,新数组的长度)

对指定位置复制:copyOfRange(要截取的数组,开始位置,结束位置)

package cn.tedu.array;

import java.util.Arrays;
//数组的扩容和缩容
public class TestArraysCopyOf {
	public static void main(String[] args) {
		int[] from= {1,2,3,4,5};
		//数组的复制
		int[] to=Arrays.copyOf(from, 5);
		System.out.println(Arrays.toString(to));
		System.out.println(Arrays.toString(from));
		//数组的扩容
		int[] to2=Arrays.copyOf(from, 10);
		System.out.println(Arrays.toString(to2));
		//数组的缩容
		int[] to3=Arrays.copyOf(from, 4);
		System.out.println(Arrays.toString(to3));
		//数组的截取
		int[] to4=Arrays.copyOfRange(from, 2, 4);
		System.out.println(to4);
				
	}

}

冒泡排序

冒泡排序

package cn.tedu.basic;

import java.lang.reflect.Method;
import java.util.Arrays;


public class BubbleSort {
	public static void main(String[] args) {
		int[] a= {27,96,73,25,21};
		Method(a);
	}
	private static void Method(int[] a) {
		// TODO Auto-generated method stub
		int b;
		for (int i = 1; i <= a.length-1; i++) {
			for (int j = 0; j <a.length-i; j++) {
				if(a[j]<a[j+1]) {
					b=a[j];
					a[j]=a[j+1];
					a[j+1]=b;
				}
			}
		}
		System.out.println(Arrays.toString(a));
	}
}

对数组快速排序:Arrays.sort(数组名);
        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值