java奇數
『壹』 關於java解惑奇數判斷
1. 奇偶判斷
不要使用 i % 2 == 1 來判斷是否是奇數,因為i為負奇數時不成立,請使用 i % 2 != 0 來判斷是否是奇數,或
使用
高效式 (i & 1) != 0來判斷。
JAVA解惑中這樣說道。
所以應該改為:
public static boolean isOdd(int i){
return i % 2!=0;//如果一個數是偶數,就算是負數整除2餘數也為0
}
『貳』 java判斷數字是奇數還是偶數
if(變數%2 == 0){
return "偶數";
}else{
return "奇數";
}
『叄』 java 如何按出現順序調換奇數和偶數的位置
java可以通過使用別的排序例如歸並或者插入排序,也可以單獨開辟數組的方式來調換奇數和偶數的位置。
這些都和內部排序演算法相似,考慮到具有穩定性的排序演算法不多,例如插入排序,歸並排序等;這里採用插入排序的思想實現。
代碼如下:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。
Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。
20世紀90年代,硬體領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意。
因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、行動電話等)的智能化程度。Sun公司為了搶占市場先機。
『肆』 用java類方法求奇數和
import java.util.Scanner;
//創建Test測試類
public class Test{
//main方法
public static void main(String[] args){
//x是輸入數,sun是奇數和
int x, sum=0;
//創建輸入器
Scanner in=new Scanner(System.in);
//循環可以輸入10次,方便測試,也可以在上面初始化,然後用輸入器輸入循環的次數
for(int i=1; i<=10; i++){
//輸入一個整數
x=in.nextInt();
//判斷是不是>0的整數
if(x > 0){
//判斷是不是奇數
if(x%2 == 1){
sum += x;
}
x = in.nextInt();
}
}
System.out.println(sum);
}
}
如有幫助請採納(不懂請提問),可以看我主頁,歡迎來交流學習;
『伍』 java 判斷奇偶數
代碼如下:
import java.util.Scanner;
public class woo {
public static void main(String args[]) {
Scanner scan =new Scanner(System.in);
System.out.println("輸入一個整數");
int a = scan.nextByte();
if(a%2 != 0)
System.out.printf("%d是奇數", a);
else
System.out.printf("%d是偶數", a);
}
}
(5)java奇數擴展閱讀:
在Java核心API中,有許多應用final的例子,例如java.lang.String,整個類都是final的。為類指定final修飾符可以讓類不可以被繼承,為方法指定final修飾符可以讓方法不可以被重寫。
如果指定了一個類為final,則該類所有的方法都是final的。Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java運行效率作用重大,具體參見Java運行期優化。此舉能夠使性能平均提高50%。
特別是String對象的使用,出現字元串連接時應該使用StringBuilder/StringBuffer代替。由於Java虛擬機不僅要花時間生成對象,以後可能還需要花時間對這些對象進行垃圾回收和處理,因此,生成過多的對象將會給程序的性能帶來很大的影響。
『陸』 如何用java輸出1到100之間的奇數呢
packagesrc;
publicclassTest{
publicTest(){
//TODOAuto-generatedconstructorstub
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
//輸出偶數
for(inti=1;i<=100;i++){
i++;
System.out.print(i);
System.out.print(" ");
}
//輸出奇數
for(inti=0;i<100;i++){
i++;
System.out.print(i);
System.out.print(" ");
}
}
}
『柒』 java怎麼判斷一個數是奇數還是偶數
能夠被2整除的整數是偶數,不能被2整除的是奇數。
i % 2 == 1 ? "奇數" : "偶數";
以上程序如果i為負數結果為偶數。
Java取余(%)演算法代碼如下:
// dividend被除數 divisor 除數public static int remainder(int dividend, int divisor){ return dividend - dividend / divisor * divisor;}
所以當輸入 -1時 運算結果是-1,當然不等於1了,所以它被判定為偶數了。
因為改為判斷是否是偶數即可
i % 2 == 0 ? "偶數" : "奇數";
『捌』 Java關於奇數偶數的
看代碼:
importjava.util.Arrays;
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
int[]arr={8,2,6,5,100,9,3,23,90,31};
System.out.println("數組為:"+Arrays.toString(arr));
intmax=Integer.MIN_VALUE;
intminOddNum=Integer.MAX_VALUE;
intevenNumCount=0;
for(inti=0,len=arr.length;i<len;++i){//遍歷數組
//如果max比當前元素小,那麼讓max等於當前元素
if(max<arr[i]){
max=arr[i];
}
//如果當前元素為奇數並且minOddNum大於當前元素
if(isOddNum(arr[i])&&minOddNum>arr[i]){
minOddNum=arr[i];
}
//如果不是奇數(即如果是偶數)
if(!isOddNum(arr[i])){
++evenNumCount;
}
}
System.out.printf("最大值:%d 最小值奇數:%d 偶數的個數:%d ",
max,minOddNum,evenNumCount);
}
//判斷一個數是否為奇數
privatestaticbooleanisOddNum(intnum){
return(num&1)==1;
}
}
運行:
『玖』 用java代碼將1到1000的奇數打出來
這是一個java基礎題
雖然基礎,但是我們練習的時候,可以加以拓展和優化,熟悉for循環 while循環, 了解運算符優先順序, 加強對業務邏輯的分析處理,強化寫代碼的能力。
首先代碼的寫法是多樣的
1.根據奇數定義 : 不能被2所整除的數是奇數
根據這個定義,我們可以寫一個最基礎的版本
publicclassOdd1{
publicstaticvoidmain(String[]args){
for(inti=1;i<1000;i++){//1~1000之間循環1000次
if(i%2!=0){//不能被2整除的
System.out.println(i);//就是奇數,列印出來
}
}
}
}
分析下,這個版本,我們發現這個版本性能可能比較低
因為要循環1000次,並且每次還要進行一次求余運算。所以性能低。
有沒有改進的空間?
2. 我們繼續對奇數進行了解(對業務進行熟悉)。還有改進的空間
然後發現:偶數可用2k表示,奇數可用2k+1表示,這里k是整數。
代碼修改如下
publicclassOdd2{
publicstaticvoidmain(String[]args){
for(intk=0;k<500;k++){//循環減少為500次
System.out.println(k*2+1);//按照奇數公式進行輸出
}
}
}
3. 繼續優化. java中乘法是性能消耗比較大的運算, 如果可以使用移位操作 , 那麼使用移位操作代替乘法
因為使用移位的操作將會更快和更有效
publicclassOdd3{
publicstaticvoidmain(String[]args){
for(intk=0;k<500;k++){
System.out.println((k<<1)+1);//移位操的優先順序低於四則運算,所以用括弧括起來優先計算,左移1位.相當於*2
}
}
}
4. 查看奇數的特性 , 來探索其他寫法
奇數1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31、33.........
每個奇數的間隔是2, 第一個奇數是1
代碼如下
publicclassOdd4{
publicstaticvoidmain(String[]args){
for(inti=1;i<1000;i+=2){//從1開始,每次自加2
System.out.println(i);
}
}
}
5. 除開for循環, while循環也可以寫.
publicclassOdd5{
publicstaticvoidmain(String[]args){
inti=1;
while(true){
if(i>=1000){
break;//跳出循環
}
System.out.println(i);
i=i+2;
}
}
}
6 再次修改,如果業務邏輯 從1~1000修改成其他數字了, 那麼在循環體中修改不是特別合適
所以需要定義成2個變數. 來記錄開始的數字和結束的數字. 並且如果輸出太多的數字, 不方便查看, 那麼需要美化下輸出的格式
publicclassOdd6{
publicstaticvoidmain(String[]args){
intstart=1;//開始的數
intend=1000;//結束的數
intindex=0;//用於換行處理的計算
for(intn=start;n<end;n+=2){
index++;
System.out.print(n+" ");// 表示製表符,這樣數字看起來排列比較整齊
if(index%10==0){//每10個數字,換一行
System.out.println();
}
}
}
}
『拾』 JAVA偶數和奇數問題
int count=0;
for( int i=1;i<101;i++){
if(i%2==0){
count=count+i;
}
}
system.out.println("一百以內偶數之和為:"+count);
-------------------------------------------------------
int count=0;
for( int i=1;i<101;i++){
if(i%2!=0){
count=count+i;
}
}
system.out.println("一百以內奇數之和為:"+count);