㈠ 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位數不確定