㈠ java 查找数组最大值最小值
刚写的 给我分吧。绝对是自己写的。
public class Find {
/**
* @param args
* @author zhou2003737
* @
*/
public static void main(String[] args) {
int[]a={1,2,4,7,6,8,32,12,45,123,565,76};//测试数组
int[] b=new Find().ToLower(a);//测试从大到小
System.out.println("数组a降序排列为:");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");//打印从大到小数据
}
int[]c=new Find().ToUpper(a);//测试从小到大
System.out.println("\r数组a升序排列为:");
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+" ");
}
}
/*
* 从大到小顺序
*/
public int[] ToLower(int[] a){
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
if (a[j]>a[i]) {
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
return a;
}
/*
* 从小到大顺序
*/
public int[] ToUpper(int[] a)
{
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
if (a[j]<a[i]) {
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
return a;
}
}
㈡ Java怎么输出最小值
做个最小值变量例如 int min;进行与x的比较,如果x小于min,min赋值为x,即可
㈢ JAVA小问题,不可以用排序法从一个int数组挑选最小的三个数
二分查找 看名字 理解意思就是
每次把你需要查找的数组分成基本平均的2部分,然后看两部分中间的那个数是不是我们要找的数。假如不是我们要找的数,那么我们看这个数是比我们的大呢还是比我们要找的数小,假如说中间这个数比我们要找的数小 那么我们要找的数是不是应该在比较大的那一部分,如果中间这个数比我们要找的数更大,那么我们要找的数应该是在比较小的那一部分的。
然后继续按照我们刚才的方法来处理刚才挑选出来的这一个部分,最不理想的情况就是:你最后把这个数组已经分到了最小的部分(一个部分就只有一个数值的时候)了,那么这个时候你一比较 就知道最后这个数就是我们要找的数了(当然 也有可能根本找不到我们要找的那个数,这种时候 说明我们这个数组里面根本就没有我们要找的这个数)。
OK了吗?
再给你举个例子吧
我们现在有一个已经排序好了的数组(顺序表) 如下
1 2 3 5 8 9 12 45 69 85 99 102 103
这个数组总共有13个数字(如果我没有数错的话)
现在我们要在其中找到5这个数字
那么我们首先把这个数组分成两个部分(以最中间的那个数为界限)我们用这个数组的长度13/2=6.5 进一法 取值为7
所以我们把第七个元素作为我们这一轮的判断标准
第七个元素=12
我们拿5(要查找的数) 和12(中间数)比较,发现5比12小 所以我们要找的数字应该是在我们12的前面的
那我们现在就只需要对1-6这六个元素进行刚才的过程了
1-6总共包含了6个元素 我们用刚才的方法取出一个值来进行比较
6/2=3 这里进一法不起作用了
我们把3号元素作为我们查找的对比项
比较5 (要查找的数)和3号元素3(中间数也就是比较项)进行比较 发现5>3 所以我们知道我们要找的数应该是在这个范围内 3的后面的
所以现在我们可以进一步确定我们要找的数的范围是 4-6这个范围了
那么我们在4-6这个范围进行查找 共3项 3/2=1.5 进一法为2 所以我们以这个范围内第二个项为中间项进行比较 也就是第5项 数值为8 我们比较5和8 发现5比8更小
所以我们确定我们要找的数应该在4-4这个范围内 (虽然说我们人是可以判断了 但是计算机还不行哦 我们这些程序都是给计算机用的 所以我们下面的步骤还得进行下去)
4-4这个范围内总共有一项 1/2=0.5 进一法为1
所以我们确定要作比较的项应该为这个范围内的第一项 也就是第四项 数值取出来为5 拿5(要找的数值)和5(中间项)进行比较 发现5=5 此时说明我们本次查找的目的达到了 找到了相同的项 我们的查找就此结束
就此推论 你可以想象
应该可以总结一张表出来
查找数组总个数 需要查找的最多次数
1个 1
2-3个 2
4-7个 3
8-15个 4
16-31个 5
32-63个 6
………………………………………………………………
(如果你通过此次回答解决问题 希望你采纳答案 如果没解决 请继续在这里发问 如果是成都本地的 可以在这里留言说是成都本地人 可以来我家教中心 我当面给你讲(讲这个不收费))
㈣ java定义一个方法,接受三个int参数,返回最小的一个数.
public int t(int a,int b,int c){
if(a<b){
if(a<c){
return a;
}else{
return c;
}
}else if(b<c){
return b;
}else {
return c;
}
}
㈤ java中的int的取值范围如何计算
1、java中int的取值范围为-2147483648到+-2147483648。
2、首先jdk中定义int占4个字节32位,32位就是jvm仅仅给分配32个格子的空间,用以存放数据。
3、计算机中用0和1存放数据。那么,32个格子中放满0或1的方法,有2的32次方种。
4、但是java中int有正负之分,所以32个格子中占用一个格子标识正负,仅仅能用31个格子来标识数值。最后int能标识的最大/最小数字是:2的31次方即+/-2147483648。取值范围即为二者之间。
(5)java最小int扩展阅读:
一字节表示八位,即:1byte = 8 bit;
int: 4byte = 32 bit 有符号signed范围:2^31-1 ~ -2^31即:2147483647 ~ -2147483648无符号unsigned范围:2^32-1 ~ 0即:4294967295 ~ 0
long: 4 byte = 32 bit 同int型
double: 8 byte = 64 bit 范围:1.79769e+308 ~ 2.22507e-308
long double: 12 byte = 96 bit 范围: 1.18973e+4932 ~ 3.3621e-4932
float: 4 byte = 32 bit 范围: 3.40282e+038 ~ 1.17549e-038
㈥ java中int类型最小值的二进制原码和补码表示方式
反码补码的规则,对int最小值没有用,最小值的源码是1个1,31个0,反码之后是32个1,直接变成-1了,补码加1变成0
㈦ Java 中一个int型数组的求最大值最小值
以下程序主要是求得数组中的最大值和最小值:
public class a {public static void main(String args[]) {int a[]={84,40,16,3,10,49,28,76,94,70};int n;int min=a[0];int i;int max=a[0];for(n=0;n<=9;n++) {if(max<a[n])max=a[n];}for(i=0;i<=9;i++) {if(min>a[i])min=a[i];}System.out.print("max="+max);System.out.print("min="+min);}}
该程序输出结果:
数组A的元素包括:74 48 30 17 62数组的最大值是:74数组的最小值是:17
程序说明如下:
第6行声明整数变量i 做为循环控制变量及数组的索引:另外也声明存放最小值的变量min与最大值的变量max。
第7行声明整型数组A,其数组元素有5个,其值分别为74、48、30、17、62。
第9行将min与max的初值设为数组的第一个元素。
第10~18行逐一输出数组里的内容,并判断数组里的最大值与最小值。
第19~20行输出比较后的最大值与最小值。将变量min与max初值设成数组的第一个元素后,再逐一与数组中的各元素相比。比min小,就将该元素的值指定给min存放,使min的内容保持最小;同样的,当该元素比max大时,就将该元素的值指定给max存放,使max的内容保持最大。for循环执行完,也就表示数组中所有的元素都已经比较完毕,此时变量min与max的内容就是最小值与最大值。
本文所述代码为比较基础的示例程序,相信对于Java的初学者仍有一定的借鉴价值。
㈧ java 中int 的范围
int的取值范围为: -2^31——2^31-1,即-2147483648——2147483647
1、对于正数来说,它的补码就是它本身。
2、对于负数来说,它的补码是它对应的正数的二进数所有位取反之后加一。
3、由负数的补码求原码也是相同的操作(所有位取反+1)即为该负数的绝对值
int是4个字节,32位,
10000000 00000000 00000000 00000000 是补码,第一位为符号位,1表示负数,所以
对剩下的位取反,结果为 1111111 11111111 11111111 11111111,加一后为10000000 00000000 00000000 00000000
4、所以原码指的是-2^31=-2147483648
int的取值范围为-2^31——2^31-1
(8)java最小int扩展阅读
int是一个向CPU发送中断的指令。
格式为INT vec。
vec为中断向量号,其值为0~255。CPU根据这个向量号去调用内核对应的中断例程。指令操作为:
(SP)←(SP)-2,((SP)+1:(SP))←(FR)
(IF)←0,(TF)←0
(SP)←(SP)-2,((SP)+1:(SP))←(CS)
(SP)←(SP)-2,((SP)+1:(SP))←(IP)
(CS)←(vec*4+2),(IP)←(vec*4)
参考资料
网络-int
㈨ 在Java中int型所能表达的最大数据和最小数据是
int 是32位的,所以是2*10^31,由于负数的最高位是符号,所以负数少1即2*10^31-1
0xffffffff
和
0xefffffff
㈩ JAVA的基本数据类型和引用数据类型的区别
一、作用的不同
1、引用类型一般都是通过new关键字创建对象,然后把这个对象赋予给相应的变量,最常用的引用类型是String类型,它也比较特殊,可以直接通过关键字new来创建对象,也可以通过字符串直接赋值,比如:
Strings=newString("abc");
Strings="abc";
2、基本类型就是直接赋值就可以了,比如:
inta=123;
floatb=123.0;
boolean=true;
二、参数方面传递的不同
引用类型是引用传递
基本类型是值传递
三、比较方面的不同
引用类型比较的是引用地址(没有重写equals方法)
基本类型比较的是值
五、类型的不同
1、引用类型分为四种
强引用(StrongReference)
软引用(SoftRefernce)
弱引用(WeakReference)
虚引用(PhantomReference)
强引用-StrongReference
2、八种基本类型
整型byte8位
整型short16位
整型int32位
整型long64位
浮点型float32位
浮点型double64位
字符型char16位
布尔型boolean位数不确定