基本数据类型和运算符(java)
基础数据类型
整数类型使用其他进制进行赋值
public class App1 { public static void main(String[] args) { // 通过二进制数据进行赋值 byte b = 0b100; // 通过八进制数据进行赋值 short s = 010; // 通过16进制数据进行赋值 int i = 0x10; System.out.println(b); System.out.println(s); System.out.println(i); // 如果超出范围,编译报错 byte b2 = 1000; System.out.println(b2); } }
浮点型
float 单精度 4个字节 小数后面使用f或者F的后缀,表示单精度数据
double 双精度 8个字节
public class App2 { public static void main(String[] args) { // 单精度值增加后缀 f/F float f = 12.3f; System.out.println(f); // 双精度类型 double d = 14.5; double d1 = 14.5e2; double d2 = 14.5e-2; double d3 = 14.5E3; System.out.println(d); System.out.println(d1); System.out.println(d2); System.out.println(d3); // 输出 0.30000000000000004 System.out.println(0.1 + 0.2); } }
字符型
char 2个字节 0-65535
java 中 char使用unicode编码,兼容ascii
使用一对儿单引号表示字符数据
转义字符: \ 表示转移符号
\u
\t \n ’ " \
public class App3 { public static void main(String[] args) { // char 占两个字节 // 使用单引号括起来的语法表示字符 char c = 'A'; char c2 = '男'; System.out.println(c); System.out.println(c2); // 直接使用数字进行赋值 char c3 = 97; System.out.println(c3); // a char c4 = 22899; System.out.println(c4); // "\u4e2d" 表示unicode编码 char c5 = '\u4e2d'; System.out.println(c5); char c6 = '\''; System.out.println(c6); char c7 = '\\'; System.out.println(c7); System.out.println("Hello\nWorld"); System.out.println("Hello\tWorld"); System.out.println("Hello\"World"); } }
布尔型
boolean true/false
public class App4 { public static void main(String[] args) { // 布尔类型 boolean b = true; boolean b2 = false; System.out.println(b); System.out.println(b2); } }
强制类型转换
public class App5 { public static void main(String[] args) { // 自动类型转换 小转大 byte b = 10; short s = b; System.out.println(s); int i = s; double d = i; System.out.println(d); // short 转 char // 错误: 不兼容的类型: 从short转换到char可能会有损失 // char c = s; // System.out.println(c); // 错误: 不兼容的类型: 从byte转换到char可能会有损失 // char c = b; long l = 100L; // (强制转换的类型)变量 int i1 = (int)l; System.out.println(i1); // 强制转换后,数据会有损失 // 将8个字节的数据硬塞到4个字节里 long l1 = 1234567890123L; int i2 = (int)l1; System.out.println(i2); } }
运算符
表达式
变量、数字、运算符组成的式子
a + b, a + 10, 12 + 13
算数运算符
算数表达式
+ - * / % ++ –
/ 除 如果参与运算都是整数,相当于取整
++ 自增 前自增、后自增
++i
先加1,再参与运算
i++
先参与运算,后加1
public class App6 { public static void main(String[] args) { // 算数运算符 int a = 10 + 23; int b = a - 15; int c = b * 10; System.out.println(a); System.out.println(b); System.out.println(c); // 如果除号两边的数据都是整数,除法相当于取整(商) int d = 10 / 3; // 3 System.out.println(d); // 浮点数使用除法,相当于数学上除法运算,得到小数 // 类型不同的数据进行运算时,系统将小的范围的数据先转为大的范围,再进行运算 System.out.println(10 / 3.0); // 取余 输出1 System.out.println(10 % 3); // 输出1.0 System.out.println(10 % 3.0); } }
public class App8 { public static void main(String[] args) { int a = 10; // 前自增 单独使用 a = a + 1 ++a; System.out.println(a); // 后自增 a = a + 1 a++; System.out.println(a); int m = 10; // 前自增的时候,变量的值先自增,然后再参与其他的运算 // m的值先加1,然后再进行赋值运算的操作 // m = m + 1; n = m; int n = ++m; // 字符串使用 + ,表示字符串的拼接 System.out.println("m = " + m); System.out.println("n = " + n); int p = 10; // 后自增的时候,变量先参与运算,然后再进行自增操作 // q = p; p = p + 1; int q = p++; System.out.println("p = " + p); System.out.println("q = " + q); int x = 10; int y = x--; System.out.println("x = " + x); System.out.println("y = " + y); } }
赋值运算符
= += -= *= /= %=
比如 a += b 相当于 a = a + b
public class App9 { public static void main(String[] args) { int a = 10; // a = a + 20 a += 20; System.out.println(a); // a = a - 5 a -= 5; System.out.println(a); } }
关系运算符
进行数据的比较,返回的boolean
== != > < >= <=
public class App10 { public static void main(String[] args) { int age = 31; // 关系运算符 比较运算符 // 条件成立,返回true;条件不成立,返回false System.out.println(age == 30); System.out.println(age != 30); System.out.println(age > 30); System.out.println(age < 30); System.out.println(age >= 30); System.out.println(age <= 30); // 判断一个值是否时偶数 boolean ret = age % 2 == 0; System.out.println(ret); } }
逻辑运算符
三目运算符
位运算符 了解