范例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 + "年不是闰年!"); //输出不是闰年 } } }