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);
}
}
逻辑运算符
三目运算符
位运算符 了解