运算符
算术运算符
赋值运算符
逻辑运算符
比较运算符
位运算符
三元运算符
i = 10 i1 = 11
i = 12 i1 = 12
i = 20 i2 = 19
i = 18 i2 = 18
class AriTest01 {
public static void main(String[] args){
int result = 153;
int result01 = result / 100;
int result02 = result % 100 / 10;
int result03 = result % 10;
System.out.println("result = " + result);
System.out.println("百位数 = " + result01);
System.out.println("十位数 = " + result02);
System.out.println("个位数 = " + result03);
}
}
逻辑运算符
位运算符
三元运算符
class AriTest02 {
public static void main(String[] args){
int result = 18;
String result01 = (result >= 18) ? "您已成年!" : "尚未常年!";
System.out.println(result01);
}
}
练习1:今天是周二,100天以后是周几?
/*
今天是周二,100天以后是周几?
*/
class AriTest04 {
public static void main(String[] args){
int week = 2;
int day = 100;
int residualDay = week + day % 7;
System.out.println(day + "天后星期" + residualDay);
}
}
练习2:十进制转十六进制
如何求一个0~255范围内的整数的十六进制值,例如60的十六进制表示形式3C
//方式一:自动实现
String str1 = Integer.toBinaryString(60);
String str2 = Integer.toHexString(60);
//方式二:手动实现
int i1 = 60;
int i2 = i1&15;
String j = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";
int temp = i1 >>> 4;
i2 = temp & 15;
String k = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";
System.out.println(k+""+j);
练习3:华氏度转摄氏度
//小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。
//它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
public static void main(String[] args) {
int h = 80;
double s = (h - 32) / 1.8;
System.out.println(h + "华氏度,是摄氏度" + Math.round(s));
}
Math.round() 参数的值四舍五入到最接近int的值
练习3:写出执行结果
class AriDemo01 {
public static void main(String[] args){
int a=3,b=8;
int c=(a>b)?a++:b++;
System.out.println("a="+a+"\tb="+b+"\tc="+c); // a=3 b=9 c=8
int d=(a>b)?++a:++b;
System.out.println("a="+a+"\tb="+b+"\td="+d); // a=3 b=10 c=10
int e=(a<b)?a++:b++;
System.out.println("a="+a+"\tb="+b+"\te="+e); // a=4 b=10 e=3
int f=(a<b)?++a:++b;
System.out.println("a="+a+"\tb="+b+"\tf="+f); // a=5 b=10 f=5
}
}
注意点:char类型与数值类型在三元运算符中,会自动将char转为int类型
public static void main(String[] args) {
char x = 'x';
int i = 10;
System.out.println(true? x : i);//120
System.out.println(true? 'x' : 10);//x
}