java基礎及練習題
阿新 • • 發佈:2017-11-27
a* generated sca tde 字符串 ron class arr oracl
1.1基本數據類型和引用數據類型的傳遞參數區別:
基本數據類型傳遞的參數是值; 引用數據類型傳遞的參數是地址; 如:public static void main(String[] args) { // TODO Auto-generated method stub int a=9; int[] arr={1,2}; int w; System.out.println("第一"+a+","+arr[0]+","+arr[1]);//9,1,2 chuandi(a,arr); System.out.println("第二"+a+","+arr[0]+","+arr[1]);//9,1,100 } public static void chuandi(int a,int[] arr){ a=a+2; arr[1]=100; System.out.println(a+","+arr[0]+","+arr[1]);//11,1,100 } }
2.. private 是一個權限修飾符
private 是一個權限修飾符,可以用來修飾成員變量和成員方法,被private修飾的成員,只能在本類中被訪問 。 常見的應用:把成員變量使用private修飾,然後對外界提供getXxx()和setXxx()方法; 如果一個類的無參和有參構造都被private修飾,則該類將無法創建對象,可將本類中的方法使用static修飾,使用 類名.方法名(); 來訪問.class Animal{ private Animal () {} private Animal (數據類型 變量名) {.....} public static void method(....){....} } 如外界想訪問此Animal類中的method方法,可通過Animal.method(...)
3.編制程序要求輸入整數a的平方和b的平方,若大於100,則輸出百位以上的數字,否則輸出兩數之和。
package oracle.zibo.exam; public class Demo { publicstatic void main(String[] args) {//客戶端 // TODO Auto-generated method stub System.out.println(method(12,8)); } public static String method(int a,int b){ if((a*a+b*b)>100){ return "百位以上的數"+(a*a+b*b)/100; }else{ return "兩數之和:"+(a+b); } }
4.實現字符串的反轉,如"hgy123"可得到"132ygh"
package oracle.zibo.exam; public class TestDemo { public static void main(String[] args) { method1(); } public static void method1(){ String str="hgy123";for(int i=str.length()-1;i>=0;i--){ char c=str.charAt(i); System.out.print(c); } } }
5.對任意函數x,返回y的值。
package oracle.zibo.exam; import java.util.Scanner; public class Test { public static void main(String[] args) { fun3(); } public static void fun3(){ Scanner sc=new Scanner(System.in); System.out.println("請輸入x的值:"); int x=sc.nextInt(); int y=0; if(x<=1){ y=x*x+x*2; System.out.println("y的值是:"+y); }else if(x>1){ y=(int) Math.sqrt(x*x+1); //Math.sqrt();取數的根次方 System.out.println("y的值是:"+y); } } }
6.5 數組元素逆序
5.數組元素逆序 public class Total1 { public static void main(String[] args) { int[] arr={1,2,3,4,5}; int start=0,end=arr.length-1; for (int j = 0; j < arr.length; j++) { int tmp = arr[start]; arr[start] = arr[end]; arr[end] = tmp; start++; end--; if(start>end){ break; } } for (int j = 0; j < arr.length; j++){ System.out.println(arr[j]); } } }
7.4 利用for循環打印 9*9 表?
public class Total1 { public static void main(String[] args) { for(int i=0;i<9;i++){ for(int j=0;j<i+1;j++){ System.out.print((j+1)+"×"+(i+1)+"\t"); } System.out.println(""); } } }
8.3 利用for循環打印ABCDEFG...XYZ,26個大寫字母與26個小寫字母
public class Total1 { public static void main(String[] args) { char da=‘A‘; char xiao=‘a‘; for(int i=0;i<26;i++){ System.out.println("大寫字母是:"+da+"小寫字母是:"+xiao); da++; xiao++; //註意輸出語句在++(在後面時)前後的區別 //System.out.println("大寫字母是:"+da+"小寫字母是:"+xiao); } } }
9.2 輸出所有的水仙花數,所謂水仙花數是指一個數3位數,其每位數字立方和等於其 本身,如153 = 1*1*1 + 3*3*3 + 5*5*5
public class Total1 { public static void main(String[] args) { int ge=0,shi=0,bai=0; for(int i=100;i<1000;i++){ ge=i%10; shi=i/10%10; bai=i/100; if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==i){ System.out.println(i); } } } }
java基礎及練習題