-
java基本数据类型就8种,记住就好了。除了这些都是引用型的了。
-
java四类八种基本数据类型
-
第一类:整型 byte short int long
-
第二类:浮点型 float double
-
第三类:逻辑型 boolean(它只有两个值可取true false)
-
第四类:字符型 char
字节
boolean 布尔型 1/8 byte 字节类型 1 char 字符型 2 一个字符能存储一个中文汉字 short 短整型 2 int 整数类型 4 float 浮点类型(单精度) 4 long 长整形 8 double 双精度类型(双精度) 8 java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L; 默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。
一个字节等于8位,一个字节等于256个数,就是-128到127一共256。
类型转换
强制转换 (类型)变量名 高--低
自动转换 低--高
注意点
-
不能对布尔值进行转换
-
不能把对象转换为不相关的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
低----------------->高
byte,short,char--> int--> long--> float--> double
变量
-
每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
-
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分毫结束
-
变量作用域
-
局部变量
public class Demo05 {
public static void main(String[] args) {
//局部变量:必须声明和初始化值,只在此main方法里生效
int i = 10;
System.out.println(i);
}
}
-
实例变量
-
类变量 static
常量
public class Demo06 {
//常量通过final来定,一般用大写字母表示(例如:PI)
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
-
类成员变量:首字母小写和驼峰原则: monthSalary除了第-个单词以外,后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线: MAX_ VALUE
-
类名:首字母大写和驼峰原则: Man, GoodMan
运算符
-
算术运算符:+ , - , * , / , % , ++ , --
-
赋值运算 =
-
关系运算符:> , < , >= , <= , == , != instanceof
-
逻辑运算符:&&,|| , !
-
位运算符:& ,| , ^ , ~ , >> , << , >>>
-
条件运算符:?
-
扩展赋值运算符: += , -= , *= , /=
public class Demo02 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误
//if
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
//取余,模运算
System.out.println(c%a);
}
}
-
自增 自减
package operator;
public class Demo03 {
public static void main(String[] args) {
// ++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; // 执行完这行代码后,先给b赋值,再自增
// a = a + 1;
int c = ++a;
// a = a + 1;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
-
逻辑运算
public class Demo04 {
public static void main(String[] args) {
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b)); //逻辑与运算:两个变量都为true,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:有一个变量为true,则结果为true
System.out.println( "!(a && b):"+!(a&&b));//如果为真,则变为假,如果是假则变为真
//短路运算
int c = 5;
boolean d =(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
}
}
-
位运算
package operator;
public class Demo05 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 111 0010
2*8 = 16 2*2*2*2
效率高!
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
浙公网安备 33010602011771号