java基础及练习题

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 {
    public static 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.利用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.输出所有的水仙花数,所谓水仙花数是指一个数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);    
            }
        }
    }
}

 

posted @ 2017-11-27 18:02  凯迪威  阅读(246)  评论(0编辑  收藏  举报