数据类型
Java是一种强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
Java的数据类型分为两大类
1.基本类型
- 整数类型:byte(范围:-128-127)、short(范围:-32768-32767)、int(范围:-2147483648–2147483647)、long(范围:-9223372036854775808-9223372036854775807)
- 浮点类型:float、double
- 字符类型:char
- 布尔类型(boolean):true、false
简称 四类八种。
//八大基本数据类型
int num = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 50L; //Long类型要在数字后面加个L
//小数:浮点型
float num5 = 10.1F;//float类型要在数字后面加个F
double num6 = 3.1415926;
//字符
char name = '清';
//布尔值
boolean flag = true;
// boolean flag = float;
2.引用类型
- 除了基本类型以外的数据类型都是引用类型。
类型转化
由于Java是强类型语言,在进行有些运算的时候,需要将不同类型的数据转化为同一类型,然后进行运算。
强制转换
//强制转换,要注意内存溢出。 高---》低
int i = 100;
byte b = (byte)i;
System.out.println(i);
System.out.println(b);
自动转化
//自动转化 低---》高
int c = 1000;
double d =c ;
注意:
- 不能对布尔值进行转换。
- 不能把对象类型转换为不相干的类型。
- 在把高容量转换为低容量时,用强制转换。
- 转换的时候可能存在内存溢出,或者精度问题。
变量
- 就是可以变化的量。‘
- 每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
格式: 数据类型 变量名 = 值 ; //不介意在一个变量里面定义多个值
//int a,b,c;
//int a=1,b=2,c=3;
int a =1;
int b =2;
int c =3;
String name = "longbao";
char x = 'X';
double pi = 3.14;
变量作用域
- 类变量:在方法体外定义,记得要加个static关键字,在方法体内可以直接调用。
public class Demo05 {
//类变量 static
static double salary = 2500;
//main方法
public static void main(String[] args) {
System.out.println(salary);
}
}
- 实例变量:在方法体外先定义,在方法体内先new这个类,之后才能在方法体内调用。
public class Demo05 {
//实例变量:从属于对象
String name;
int age;
//main方法
public static void main(String[] args) {
Demo05 demo05 = new Demo05();
System.out.println(demo05.age);
System.out.println(demo05.name);
}
}
- 局部变量:在方法体内定义变量,只能够在这个方法体内调用。
public class Demo05 {
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i = 1;
System.out.println(i);
}
}
常量
- 常量就是初始化之后不能再改变的值。
- 定义方法:final 常量名 = 值 ;
- 常量名一般使用大写字符。
public class Demo06 {
static final double PI =3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:一定要见名知意,不会命名可以在百度上翻译成英语嘛。
- 类成员变量:首字母小写和驼峰原则:monthSalary。
- 局部变量:首字母小写和驼峰原则。
- 常量:大写字母和下划线:MAX_VALUE。
- 类名:首字母大写和驼峰原则:Man,GoodMan。
- 方法名:首字母小写和驼峰原则:run(),runWhere()。
运算符
- 算术运算符:+ , - , * , / , % , ++ ,-- (加、减、乘、除、取余、自增、自减)。
public class Demo01 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 25;
int d = 30;
int e = 1;
//e = e+1;
int f = e++;//执行完这行代码后,先给f赋值,之后再自增
//e = e+1;
int g = ++e;//执行完这行代码前,先自增,再赋值给g
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/(double)b);//0.5
System.out.println(d%b);//10
System.out.println(e);//3
System.out.println(f);//1
System.out.println(g);//3
}
}
- 赋值运算符: =
- 关系运算符:> , < , >= , <= , == , !=
package operator;
public class Demo02 {
public static void main(String[] args) {
//关系运算符返回的结果是布尔值
int a = 10;
int b = 20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
}
}
- 逻辑运算符:&& , || , !(与 , 或 , 非)
public class Demo03 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,结果为true
System.out.println("!(a && b):"+!(a&&b));//逻辑非运算:如果是真,则结果为false,如果是假,结果为true
}
}