1. 程式人生 > >Java練習3

Java練習3

需求:根據使用者給定的月份資料,顯示該月份在那個季度

	   3,4,5   春季
	   6,7,8   夏季
	   9,10,11 秋季
       12,1,2  冬季

思路:1.怎樣獲取資料 2.對資料進行判斷 布驟:1.定義變數 2.定義if語句判斷。

  if(x==3 || x==4 || x==5)//用 || 不用 |
			   System.out.println(x+"是春天");
			   else if(x==6 || x==7 || x==8)
			        System.out.println(x+"是夏天");
			   else if(x==
9 || x==10 || x==11) System.out.println(x+"是秋天"); else if(x==12 || x==1 || x==2) System.out.println(x+"是冬天"); else System.out.println(x+"沒有對應的季節"); if(x>12 || x<1) System.out.println(x+"沒有對應的季節"); else if(x>=
3 && x<=5) System.out.println(x+"是春天"); else if(x>=6 && x<=8) System.out.println(x+"是夏天"); else if(x>=9 && x<=11) System.out.println(x+"是秋天"); else System.out.println(x+"是冬天");

需求:對給定的整數26,獲取其十六進位制的表現行式。★★★★

整數是32個二進位制位 思路:1.十六進位制是什麼?資料的一種表現形式,好處在於表現形式更短。 原理:將二進位制中的4位為一個十六進位制位。 2.對給定的整數進行二進位制的每4位的獲取。 3.(二十六的二進位制,二十六在記憶體中佔四個八位,每四位的開始拿) 咋獲取每4位?其實結束獲取四位中的1,可以通過對原資料進行無符號右移的方式。

布驟:1.定義變數記錄該整數 2.對改變數進行 & 運算 既然是獲取四位,就&四個1,二進位制四個1就是十進位制的15 3.對原資料進行無符號右移四位。

           int num=26;
		   //&15 獲取最低四位。
		   int n1=num &15;
		   System.out.println("n1="+n1);
		   //對num進行右移。
		   num=num>>>4;
		   //再進行&15.
		   int n2=num & 15;
		   System.out.println("n2="+n2);

需求:三個數,想知道最大的是哪一個?

          int a=3,b=4,c=5;

		  int tempMax=a>b?a:b;//良好的書寫習慣
		  
		  int max = int tempMax>c?tempMax:c;

需求:根據使用者給定的月份資料,顯示該月份在那個季節。

	  3,4,5   春季
	  6,7,8   夏季
	  9,10,11 秋季
      12,1,2  冬季
	  用switch完成。

switch對固定值進行選擇

       switch(month)
		  {
			  case 3:
			  case 4:
			  case 5:
			       System.out.println(x+"是春天");
				   break;
              case 6:
			  case 7:
			  case 8:
			       System.out.println(x+"是夏天");
				   break;
              case 9:
			  case 10:
			  case 11:
			       System.out.println(x+"是秋天");
				   break;
			  case 12:
			  case 1:
			  case 2:
			        System.out.println("x="+n1);
				   break;
			   default:
			       System.out.println(x+"沒有對應的季節");
				   break;
		  }
		

需求:要求在螢幕上顯示下列內容。★★★★★

大圈套小圈的思想。for巢狀迴圈。 54321 5432 543 54 5

思路:每一行的初始值為5,那麼內迴圈的初始值必須為5. 而每一行的數值是變化的所以說每次外迴圈執行內迴圈時 內迴圈的判定條件是變化的,所以可以定義一個變數,變 話的數值與x相似,所以變數為x

           for( int x=1;x<=5;x++)
		   {
			   for(int y=5; y>=x ;y--)
			    {
				     System.out.print(y);
			    }
				  System.out.println();
		    }

需求:九九乘法表。★★★★★

		1*1=1
		1*2=2 2*2=4
		1*3=3 2*3=6 3*3=9

思路:從整體來看時一個三角形想到了之前列印的倒三角的* 每行的行的第一個數為1,所以y=1, 每列的乘數在有序的變化可以看作與x的迴圈次數相同

        for(int x=1;x<3;x++)
		{
			 for(int y=1 ;y<=x ; y++)
			{
				  System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			 System.out.println();
		}

tab 製表符 在Java中用程式碼 \t 表示 (\n \r 換行)