【JAVA练习】理解Java的数据类型和数组

该博客探讨了两个Java程序。第一个程序通过排序和二分查找判断用户输入的整数是否存在于一个给定的整数数组中。第二个程序展示了数组的引用和赋值操作,解释了当两个数组引用相同时,改变一个数组会影响另一个数组的现象。
摘要由CSDN通过智能技术生成

工具:eclipse

题目: 判断用户输入的一个整数是否在已知的组块中

import java.util.*;
public class Exdate_1 {
	public static void main(String arg[]) {
		int start=0,end,middle;
		int a[]= {12,45,67,89,123,-45,67};
		int N=a.length;
		for(int i=0;i<N;i++) {		//从小到大排序			
			for(int j=i+1;j<N;j++) {		
				if(a[j]<a[i]) {
					int t=a[j];
					a[j]=a[i];
					a[i]=t;
				}
			}
		}
		Scanner scanner = new Scanner(System.in);	//控制输入语句的类创建对象scanner
		System.out.println("输入一个整数,判断其是否在已知序列中:");
		int Number=scanner.nextInt();  //等待用户输入
		int count=0;
		end=N;
		middle=(start+end)/2;
		while(Number!=a[middle]) {		//从中间开始查找
			if(Number>a[middle])
				start=middle;
			else if(Number<a[middle])
				end=middle;
			middle=(start+end)/2;
			count++;
			if(count>N/2)		//控制跳出
				break;
				
		}
		if(count>N/2)
			System.out.printf("%d不在数组中\n",Number);
		if(count<N/2)
			System.out.printf("%d在数组中\n",Number);
	}
}

运行结果

输入一个整数,判断其是否在已知序列中:
50
50不在数组中

理解数组的输出和引用

public class ExDate {
	public static void main (String arg[]) {
		int a[]= {1,2,3,4};
		int b[]= {100,200,300};
		char c[]= {'咘','麓'};
		System.out.println("数组a的元素个数:"+a.length);
		System.out.println("数组b的元素个数:"+b.length);
		System.out.println("数组a的引用:"+a);	//直接输出非字符型数组时,输出的是数组的引用
		System.out.println("数组b的引用:"+b);
		a=b;				//a和b具有相同的引用(地址)
		System.out.println("a=b; 赋值后");
		System.out.println("数组a的引用:"+a);	
		System.out.println("数组b的引用:"+b);
		System.out.println("数组a的值:");
		for(int x:a)
			System.out.println(x);
		System.out.println("数组b的值:");
		for(int y:b)
			System.out.println(y);
		System.out.println(c);	//字符型数组可以直接输出
		
	}

}

输出结果

数组a的元素个数:4
数组b的元素个数:3
数组a的引用:[I@7c30a502
数组b的引用:[I@49e4cb85
a=b; 赋值后
数组a的引用:[I@49e4cb85
数组b的引用:[I@49e4cb85
数组a的值:
100
200
300
数组b的值:
100
200
300
咘麓
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值