JavaSE:数据类型:基本类型、浮点数、强制转换、变量及命名规范、运算符等
Java数据类型分为基本类型和引用类型。
基本类型
public class demo02 {
public static void main(String[] args) {
//八大基本数据类型
//boolean byte short char int long float double
(表示范围由低到高)
//整数
int num1 =10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型要在数字后面加个L
//小数:浮点数
float num5 =50.1F; //float类型要在数字后面加个F
double num6 = 3.1415926;
//字符,一个字符
char name ='A';
//字符串,String不是关键字,类
String namea = "你好";
//布尔值
boolean flag = true;
//boolean flag = false;
浮点数的比较
public static void main(String[] args) {
float f= 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f);
System.out.println(d);
System.out.println(f==d);
//最好完全使用浮点数进行比较
float d1 = 231313123123f;
float d2 = d1+1;
System.out.println(d1==d2);
}
输出结果:0.1
0.1
false
true
如果是由高的转为低的,则需要强制类型转换。
如果是由低的转为高的,自动转换。
强制转换类型
char c1 ='a';
char c2 ='中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
输出结果:
a
97
中
20013
转义字符
\t :制表符(相当于三个空格)
\n : 换行
基本类型溢出问题
public class Demo05 {
public static void main(String[] args) {
int money = 10_0000_0000;
int years = 20;
int total = money * years;//-1474836480,计算的时候溢出了
long total2 =money * years;
System.out.println(total2); //默认是int,转换之前就存在问题了,
//输出是-1474836480
long total3 =money * (long)years;
System.out.println(total3);
//输出2000000000,正确
}
}
变量

public class Demo06 {
//实例变量,如果不自行初始化,这个类型默认值
String name;
int age;
//类变量
static double salary =2500;
public static void main(String[] args) {
//局部变量;必须声明初始化值
int i = 10;
System.out.println(i);
//实例变量
Demo06 demo06 = new Demo06();
System.out.println(demo06.age);
System.out.println(demo06.name);
System.out.println(demo06.salary);
}
}
变量命名规范
常量 :final
运算符
public class Demo1 {
public static void main(String[] args) {
long a= 14522145214L;
int b = 123;
short c = 10;
byte d = 8;
String e = "a";
String f = "b";
char g = 'u';
char h = 'v';
System.out.println(a+b+c+d); //如果有一个为long,则输出就为long
System.out.println(b+c+d); //如果没有long,都为int型
System.out.println(c+d);
System.out.println(b+e);
System.out.println(e+f);
System.out.println(""+g+h); //默认输出就是字符串了
}
}
输出:14522145355
141
18
123a
ab
uv
//短路运算
int c = 5;
boolean d =(c<4)&&(c++<4); //左边不满足了不会继续算右边的,
System.out.println(d); // 所以,输出结果为false 5
System.out.println(c);
A = 0011 1100
B = 0000 1101
---------------
A&B = 0000 1100 //位运算:都为1才为1
A|B = 0011 1101 //或运算:有一个为1就为1
A^B = 0011 0011 //异或:相同为0,不同为1
~B = 1111 0010 // 取反
System.out.println(2<<3);//表示2左移3位,结果为2的3次方,16
System.out.println(16>>3);//右移,相当于除以2
浙公网安备 33010602011771号