目录
变量--程序运行时可以改变的量,在程序运行时才知道里面的值
数据类型
?整型变量int
?长整型变量long
?双精度浮点型变量double
单精度浮点型变量float
字符类型变量char
字节类型变量byte
?短整型变量short?
布尔类型变量boolean
字符串类型变量string
常量--程序运行时不能改变的量,在程序编译时就确定其值是几了
字面值常量
final关键字修饰的常量? 常用大写来进行标识
类型转换
int和long/double相互赋值
int与boolean相互赋值
类型提升
?byte & int
int & long
int & string
变量--程序运行时可以改变的量,在程序运行时才知道里面的值
数据类型
?整型变量int
int a=10;//4字节
//java中的int没有所谓的无符号类型,统一都是有符号类型
System.out.println(a);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
//变量的命名:小驼峰-数字,字母,下划线。数字不能打头
//java使用变量前要初始化,不初始化会报错
?长整型变量long
long b=20L;//10+大写L表明数据类型为long 10的类型是int
//java中不存在long long类型
System.out.println(b);
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
?双精度浮点型变量double
double d=2.0;
double e=5.0;
System.out.println(d);
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
单精度浮点型变量float
?Java本身是一个强类型语言,数据类型之间不匹配就会报错,应写成 12.5f
字符类型变量char
char ch='A';
1、Java 中使用“单引号 + 单个字母”的形式表示字符字面值; 2、计算机中的字符本质上是一个整数, C使用 ASCII 表示字符,Java 使用 Unicode 表示字符。因此一个字符占用两个字节,表示的字符种类更多,包括中文g
字节类型变量byte
表示整数,占一个字节,表示范围 -128~+127
?短整型变量short?
short c=10;//2字节16位,取值范围 -2^15~2^15-1
布尔类型变量boolean
1. boolean 类型的变量只有两种取值,true 表示真,false 表示假; 2. Java的 boolean 类型和 int 不能相互转换,不存在 1 表示 true,0 表示 false 这样的用法; 3. boolean 类型有些 JVM 的实现是占 1 个字节,有些是占 1 个比特位,这个没有明确规定
字符串类型变量string
String str="hello";
System.out.println(str);
System.out.println("hello"+"world");//+是拼接的意思
System.out.println("hello"+10+20);//其他数据类型和字符串使用+拼接,结果就是一个字符串
System.out.println(10+20+"hello");
System.out.println(10+""+20+"hello");
//输出a=10,b=20
System.out.println("a="+10+",b="+20);
?
转义字符 | 解释说明 | \n | 换行 | \t | 水平制表符 | \' | 单引号 | \" | 双引号 | \\ | 反斜杠 |
常量--程序运行时不能改变的量,在程序编译时就确定其值是几了
字面值常量
10??????? int 字面值常量(十进制) 010????? int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8 0x10??? int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16 10L????? long 字面值常量. 也可以写作 10l (小写的L) 1.0 ?? ?? double 字面值常量. 也可以写作 1.0d 或者 1.0D 1.5e2 ? double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2 1.0f????? float 字面值常量, 也可以写作 1.0F true ? ?? boolen 字面值常量, 同样的还有 false 'a' ? ? ? ? char 字面值常量, 单引号中只能有一个字符 "abc"??? String 字面值常量, 双引号中可以有多个字符
final关键字修饰的常量? 常用大写来进行标识
final int a=10;
类型转换
?Java作为强类型编程,不同类型之间相互赋值时,会有严格的校验
int和long/double相互赋值
int a=10;
long b=20;
a=b;//编译出错,提示可能会损失精度
b=a;//编译通过
int a=10;
double b=1.0;
a=b;//编译出错,提示可能会损失精度
b=a;//编译通过
int与boolean相互赋值
两种类型不相干,不能相互赋值
类型提升
?byte & int
byte c=1+2;
System.out.println(c);
1和2是整型的字面值常量,在编译时当成是3
int & long
进行类型提升后就不会报错
不同类型的数据混合运算, 范围小的会提升成范围大的. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算
int & string
?
?如有错误,请多指教!
|