范例1:不用其他变量实现两个变量
通常在对变量互换时,将创建一个临时变量来共同完成互换,临时变量的互换增加了系统资源的消耗。如果需要交换的是两个整数类型的变量,则可以使用异或运算符(^)进行更高效的处理。实现代码如下:
importjava.util.Scanner;public classVarExchange {public static voidmain(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,则表示偶数,否则为奇数。示例代码如下:
importjava.util.Scanner;public classIntegerCheck {public static voidmain(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 classConver {public static voidmain(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.05127和190相乘的积是:317127除以100的商是:1
88.1688和100的和是:188.1688
3.2. 强式类型转换
当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算符(又称强制类型转换),其语法格式:(类型名)要转换的值;示例代码如下:
public classTypeConvert {public static voidmain(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整除,则该年是闰年,
否则不是。示例代码如下:
importjava.util.Scanner;public classLeapYear {public static voidmain(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+ "年不是闰年!"); //输出不是闰年
}
}
}