package com.user.contact;
public class Test001 {
public static void main(String[] args) {
char x = 'x';
int i1 = 10;
System.out.println(true ? x : i1);
System.out.println(true ? 'x' : 10);
//连续工作66小时,编程计算共多少天零多少小时?
int hour = 66;
int day = hour / 24;
int hour1 = hour % 24;
System.out.println(day + "天" + hour1 + "小时");
// 今天是周二,100天以后是周几?
int weakDay = 2;
weakDay += 100;
weakDay = weakDay % 7;
System.out.println("100天以後是星期:" + weakDay);
// 算术运算符的使用
int a = 23;
int b = 12;
System.out.println(a + "+" + b + "=" + (a + b)); // 23 + 12 = 35
int sum = a + b;
System.out.println(a + "+" + b + "=" + sum);// 35
int sub = a - b;// 11
// System.out.println(a + "-" + b + "=" + a-b);//错误,原因是a + "-" + b + "=" +
// a的结果是字符串,字符串不能进行减法
System.out.println(a + "-" + b + "=" + (a - b));// a - b = 11
System.out.println(a + "-" + b + "=" + sub);// a - b = 11
int mul = a * b;// 276
System.out.println(a + "*" + b + "=" + a * b);// a * b = 276
System.out.println(a + "*" + b + "=" + mul); // a * b = 276
System.out.println("**********************");
// 整数相除,只保留整数部分
int div = a / b; // 1
System.out.println(a + "/" + b + "=" + a / b);// a / b = 1
System.out.println(a + "/" + b + "=" + div);// a / b = 1
double d = (double) a / b;// 先把a的类型进行转换,转换成double类型,然后再和b相除
System.out.println(a + "/" + b + "=" + d);// a / b = 1.91
int yu = a % b;
System.out.println(a + "%" + b + "=" + yu);// a % b = 11
System.out.println("------------------特殊的取模----------------------");
System.out.println(5 % 2);// 1
System.out.println(-5 % -2);// -1
System.out.println(-5 % 2);// -1
System.out.println(5 % -2);// 1
System.out.println("-----------负号-----------");
int num1 = 12;
int num2 = -num1;
System.out.println("num2=" + num2);// -12
System.out.println("---------自增-----------");
int i = 0;
System.out.println("自增之前i=" + i);// 0
i++;
System.out.println("自增第一次之后i=" + i);// 1
++i;
System.out.println("自增第二次之后i=" + i);// 2
int j = ++i;// 把i自增1,然后结果赋值给j,或者说,先算++i,然后再赋值
System.out.println("自增第三次之后i=" + i);// 3
System.out.println("j=" + j);// 3
int k = i++;// 先算赋值,把i的值赋值给k,i原来是3,把3赋值给k,然后i在自增1,i变成4
System.out.println("自增第四次之后i=" + i);// 4
System.out.println("k=" + k);// 3
// 陷阱题
i = i++;// 先赋值,把i原来的值重新赋值给i,不变,然后i自增,但是这个自增后的值没有在放回变量i的位置
System.out.println("自增第五次之后i=" + i);// 4
int x2 = 0, y = 1;
if (++x2 == y-- & x2++ == 1 || --y == 0)
System.out.println("x=" + x2 + ",y=" + y); // x2 = 2,y = 0;
else
System.out.println("y=" + y + ",x2=" + x2);
// 编写代码实现两个变量值交换,int m = 10, n =2
int m = 10, n = 2;
// 方法一
int temp = m;
m = n;
n = temp;
System.out.println("m = " + m + " n = " + n);
// 方法二
int m1 = 10, n1 = 2;
m1 += n1;// 12
n1 = m1 - n1;// 10
m1 = m1 - n1;// 2
System.out.println("m1 = " + m1 + " n1 = " + n1);
//方法三 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
int m2 = 10, n2 = 2;
m2 = m2 ^ n2;
n2 = m2 ^ n2;
m2 = m2 ^ n2;
System.out.println("m2 = " + m2 + " n2 = " + n2);
// 22的转制
String str1 = Integer.toBinaryString(22);
String str2 = Integer.toHexString(22);
System.out.println("str1的二进制:" + str1);
System.out.println("str2的16进制是" + str2);
// 摄氏度与华氏度转换
int h = 90;
double c = (h - 31) / 1.8;
System.out.println(h + "华氏度,是摄氏度" + c);
System.out.println(h + "华氏度,是摄氏度" + Math.round(c));
// 前++,后++,三元运算符
int a0 = 3, b0 = 8;
int c0 = (a0 > b0) ? a++ : b0++;// b=9
System.out.println("a0=" + a0 + "\tb=" + b0 + "\tc=" + c0); // 3 9 8
int d0 = (a0 > b0) ? ++a0 : ++b0;//
System.out.println("a0=" + a0 + "\tb=" + b0 + "\td=" + d0); // 3 10 10
int e0 = (a0 < b0) ? a0++ : b0++;
System.out.println("a0=" + a0 + "\tb=" + b0 + "\te=" + e0); // 4 10 3
int f0 = (a0 < b0) ? ++a0 : ++b0;
System.out.println("a0=" + a0 + "\tb=" + b0 + "\tf=" + f0); // 5 10 5
// short s1 = 1;
// s1 = s1 + 1;
// short s2 = 1;
// s2 += 1;
}
运行结果:
120
x
2天18小时
100天以後是星期:4
23+12=35
23+12=35
23-12=11
23-12=11
23*12=276
23*12=276
**********************
23/12=1
23/12=1
23/12=1.9166666666666667
23%12=11
------------------特殊的取模----------------------
1
-1
-1
1
-------------负号------------
num2=-12
-------------自增-------------
自增之前i=0
自增第一次之后i=1
自增第二次之后i=2
自增第三次之后i=3
j=3
自增第四次之后i=4
k=3
自增第五次之后i=4
x=2,y=0
m = 2 n = 10
m1 = 2 n1 = 10
m2 = 2 n2 = 10
str1的二进制:10110
str2的16进制是16
90华氏度,是摄氏度32.77777777777778
90华氏度,是摄氏度33
a0=3 b=9 c=8
a0=3 b=10 d=10
a0=4 b=10 e=3
a0=5 b=10 f=5