Java第一天
public class OperateDemo
{
public static void main(String[] args)
{
/*
运算符号:
x+=4:x = x + 4
x-=4:x = x - 4
x*=4:x = x * 4
x%=4:x = x % 4
x/=4:x = x / 4
*/
int x = 4270,e,d,m;
x = x / 1000 * 1000;
e = d = m = x; // 将 x 的值同时赋给 e , d 和 m
System.out.println(x + d + m + e);
// ★取模★
System.out.println(-1%5);
System.out.println(1%-5);
int a = 3,b;
b = a++; // a++:先将 a 值赋给 b,再进行 a = a+1 运算
System.out.println("b = a++ 的运算结果为:" + b);
b = ++a; // ++a:先进行 a = a+1 运算,再将 a 值赋给 b
System.out.println(a);
// 字符串数据的和任何数据使用 + 号都是相连接,最后都回成为字符串
System.out.println("a和b的值分别是:" + a + "," + b );
/*
转义字符:通过 \ 来转变后面字母或者字符的含义
\n:换行符
\b:退格
\r:按下回车键,Windows系统中,回车符是用两个字符串来表示:\r\n
\t:制表符
*/
char ch = '\'';
char c = ' '; // 理解字节和字符的存储大小
System.out.println("\"hello world\""); // 通过转义符号将 ""进行转义
short s = 4;
s += 5; // 只做赋值运算,内部会有自动转换
// s = s + 5; ★★会发生编译失败的情况,s+5 的出来的是 int 类型的值,不能赋给short 类型的 s,会丢失精度
System.out.println(s);
/*
比较运算符: 运行结果只有 Ture 和 False
==: !=:
<=: >:
>=: <:
逻辑运算符:用于来连接布尔boolean型的表达式
&: 与,两边表达式结果同时为真则为Ture
&&:双与,具有短路功能,当符号前结果为False时,提前结束运算
|:或,两边表达式有至少有一个为真则为Ture
||:双或,具有短路功能,当符号前结果为Ture时,提前结束运算
^:亦或,与 | 不一样,当两边都为真时则为False,其余情况与或相同
!:非,!ture = false
~:反码,二进制中 1 取 0,0 取 1
*/
System.out.println(false ^ false); // 检验结果的输出
System.out.println(~6); // 6取反码= -7,即 1111 1111 1111 1001
/*
位运算符:二进制运算 最快的运算方法
3<<2 = 12:将 3 左移两位,等效于 3*4 = 12
6>>1 = 3:将 6 右移一位,等效于
★★注意>>> 与 >> 的区别,一个不添加0,一个移动后补0
*/
// 最快计算2*8的方法
System.out.println(2<<3);
/*
进制的转换:以十进制65转位16进制为例
0-9 'A' 'B' 'C' 'D' 'E' 'F'
65 66 67 68 69 70
0-9 10 11 12 13 14 15
65&15:
65>>>4: ★★注意>>> 与 >> 的区别,一个不添加0,一个移动后补0
*/
int num = 65;
int n1 = num & 15;
System.out.println(n1>9? (char)n1-10+'A':n1);
// ★★条件语句:a>b? value A(true):value B(false)--->当a>b成立时,执行true,不成立时执行false,运算结果必须是一个值
int n2 = num >>> 4;
System.out.println(n2>9? (char)n2-10+'A':n2);
}
}