1. 自动类型转换
自动类型转换:类型范围小的变量可以赋值给类型范围大的变量 byte->int
public class java_7_10 {public static void main(String[] args) {//自动类型转换//类型范围小的变量可以赋值给类型范围大的变量 byte->intbyte a = 12;int b = a;//自动类型转换System.out.println(a);System.out.println(b);int c = 100; // 4字节double d = c; // 8字节System.out.println(d);char m = 'a'; //2字节 'a' AsCII码的值为97int n = m; // 4字节System.out.println(n);}
}
2. 表达式的自动类型转换
public class java_7_10 {public static void main(String[] args) {int i = 1;double j = 2;long k = 3;double rs = i + j + k;//类型范围最大的是double双精度浮点类型System.out.println(rs);short q = 6;byte p = 6;int r = p + q;//short byte char 直接转换为 int 类型参与运算System.out.println(r);}
}
3. 强制类型转换
强制类型转换 :数据类型 变量 = (数据类型)变量、数据
public class java_7_10 {public static void main(String[] args) {int num = 20;byte count = (byte)num;System.out.println(count);double pre = 99.5;int sou = (int)pre;System.out.println(sou); //输出结果为99,丢掉了小数位,保留整数部分}
}
4. 基本运算符
4.1 算数运算符
注意:'+' 在无法运算的时候就可以做连接词
public class java_7_11 {public static void main(String[] args){//算数运算符 + =>加 - => 减 * => 乘 / => 除 % => 取余int a = 50;int b = 20;System.out.println(a + b);System.out.println(a - b);System.out.println(a * b);System.out.println(a / b); //整数相除还是整数System.out.println(a % b); //取余就是将整除后无法整除的余数取出//'+'可以做连接符,将两个字符串连接起来//比如:'abc' + 5 = 'abc5'String num = "abc";int i = 5;System.out.println(num + i); // 结果:abc5//练习'+'做连接符//总结:能运算先运算,运算不了就连接int k = 5;System.out.println(k + "giao");//5 + "giao" = "5giao"System.out.println(k + 5);//5 + 5 = 10System.out.println(k + 'a' + "giao");//5 + 97 + "giao" = 102 + "giao" = "102giao"System.out.println(k + "giao" + 'a');//5 + "giao" + 'a' = "5giaoa"}
}
4.2 自增自减运算符
注意事项:自增/自减运算符在变量前则先运算再运用,在变量后则先运用再运算
public class java_7_11 {public static void main(String[] args){//自增自减运算符 ++ --//形如2++是错误的,不能对常量进行自增自减操作int count = 1;count++;System.out.println(count);// 2++count;System.out.println(count);// 3count--;System.out.println(count);// 2--count;System.out.println(count);// 1int sum = count++;System.out.println(sum);// 1 先用后加sum = ++count;System.out.println(sum);// 3 先加后用}
}
4.3 赋值运算符
public class java_7_11 {public static void main(String[] args){//赋值运算符// += -= *= /= %=double pre = 12;int sou = 21;pre += sou;//pre = (double)pre + souSystem.out.println(pre);//33.0 强制转化为double类型}
}
4.4 关系运算符
public class java_7_12 {public static void main(String[] args) {//关系运算符boolean tf = 2 >= 3;System.out.println(tf);// false}
}
4.5 逻辑运算符
public class java_7_12 {public static void main(String[] args) {//逻辑运算符 按位与:& 按位或:| 非:! 按位异或:^tf = 2 > 3 & 3 < 4;System.out.println(tf);// falsetf = 2 > 3 | 3 < 4;System.out.println(tf);// truetf = !(3 < 4);System.out.println(tf);// falsetf = 2 > 3 ^ 3 < 4;System.out.println(tf);// trueint a = 1;tf = 2 < 4 && a++ > 1;System.out.println(tf);// falseSystem.out.println(a);// 2 不论左边是否为真,右边都执}
}
4.6 三目运算符
首先判断表达式是否为真,为真则执行i++,为假则执行j++
public class java_7_12 {public static void main(String[] args) {//三目运算符int i = 2;int j = 4;int count = i > j ? i++ : j++;//首先判断表达式是否为真,为真则执行i++,为假则执行j++System.out.println(count);System.out.println(i);System.out.println(j);}
}