范例1:不用其他变量实现两个变量

  通常在对变量互换时,将创建一个临时变量来共同完成互换,临时变量的互换增加了系统资源的消耗。如果需要交换的是两个整数类型的变量,则可以使用异或运算符(^)进行更高效的处理。实现代码如下:



import java.util.Scanner;

public class VarExchange {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);        //创建扫描器
        System.out.println("请输入变量A的值");
        long A=scan.nextLong();                        //接收第一个变量
        System.out.println("请输入变量B的值");
        long B=scan.nextLong();                        //接收第二个变量
        System.out.println("A="+ A + "\tB="+B);
        System.out.println("执行变量互换...");
        A=A^B;                                        //执行变量互换
        B=B^A;
        A=A^B;
        System.out.println("A="+A+"\tB="+B);        //输出交换后的结果
    }

}



范例2:判断数字的奇偶性

  根据数字被2整除的余数来判断一个数是否是奇数还是偶数,如果余数为0,则表示偶数,否则为奇数。示例代码如下:



import java.util.Scanner;

public class IntegerCheck {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);    //创建输入流扫描器
        System.out.println("请输入一个整数:");
        long number=scan.nextLong();            //获取用户输入的整数
        String check=(number%2==0)?"这个数字是:偶数":"这个数字是:奇数";
        System.out.println(check);
    }

}



范例3:类型转换

  3.1. 隐式类型转换规则,如下表所示:



操作数1的数据类型                    操作数2的数据类型        转换后的数据类型
byte,short,char              int            int
byte,short,char,int            long            long
byte,short,char,int,long         float            float
byte,short,char,int,long,float      double           double



   示例代码如下:



public class Conver {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        byte mybyte=127;            //定义byte型变量mybyte,并赋初值127
        int myint=190;                //定义int型变量myint,并赋初值190
        float myfloat=368.05f;        //定义float型变量myfloat,并赋初值368.05f
        char mychar=100;            //定义char型变量mychar,并赋初值100
        double mydouble=88.1688d;    //定义double型变量,并赋初值
        //将运算结果输出到控制台
        System.out.println("127与368.05相加的和是:"+(mybyte+myfloat));
        System.out.println("127和190相乘的积是:"+(mybyte+myint));
        System.out.println("127除以100的商是:"+(mybyte/mychar));
        System.out.println("88.1688和100的和是:"+(mydouble+mychar));
    }

}



    执行结果如下:



127与368.05相加的和是:495.05
127和190相乘的积是:317
127除以100的商是:1
88.1688和100的和是:188.1688



  3.2. 强式类型转换

    当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算符(又称强制类型转换),其语法格式:(类型名)要转换的值;示例代码如下:



public class TypeConvert {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int intNum=4;            //定义变量
        float floatNum=9.5F;
        
        floatNum /= intNum;        //自动类型转换成float型
        System.out.println("9.5F除以4的商是:"+floatNum);
        
        double doubleX=4.88;
        double doubleY=78.88;
        int numZ=(int)doubleX+(int)doubleY;    //将double型强制转换为int型
        System.out.println("4.88和78.88转换成int型相加的和是:" + numZ);
        
        char charVar='T';
        int intVar=(int)charVar;    //将字符型强制转换成int型
        System.out.println("将字符T强制转换为int型:" + intVar);
        
        int num1=37;
        double num2=(double)num1/3;    //将int型强制转换为double型
        System.out.println("37的三分之一是:"+ num2);
    }

}



范例4:判断某一年是否是闰年

  为了弥补人类历法的年度天数和地球公转实际周期的时间差,设立了有366天的闰年,闰年的二月有29天。闰年的判断规定规则是:如果能被4整除且不能被100整除或者能被400整除,则该年是闰年,

否则不是。示例代码如下:



import java.util.Scanner;

public class LeapYear {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);            //创建输入流扫描器
        System.out.println("请输入一个年份:");
        long year=scan.nextLong();                        //接收用户输入
        if(year%4==0 &&year %100!=0||year%400==0) {        //判断是否是闰年
            System.out.println(year + "年是闰年!");        //输出是闰年
        } else {
            System.out.println(year + "年不是闰年!");        //输出不是闰年
        }
    }

}