JAVA基础
标识符和关键字
-
所有标识符都应以美元符($)、下划线(_)、字母开头
-
首字符后可以是字母、美元符($)、下划线(_)、数字
-
不能使用关键字作为变量名或方法名
-
可以使用中文命名(但不建议)
数据类型
注意事项:
-
所有变量必须先定义后使用
-
基本类型:新增byte型(占一个字节范围:-128~127)
-
Long类型要在数字后加L
-
String不是关键词,是个类
引用类型:
-
类
-
数组
-
接口
数据类型扩展
int类型
int i=010;//八进制0
int i1=0x10;//十六进制0x
float类型
注意事项:
最好完全使用浮点数进行比较
//float 有限 离散 舍入误差 大约 接近但不等于
//double
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//false
float f1=2323232323232f;
float f2=f1+1;
System.out.println(f1==f2);//true
拓展字符
char c1='A'
System.out.println((int)c1);//65
所有字符本质还是数字
转义字符
//制表符\t
System.out.println("Hello\tWorld");//Hello World
//换行符\n
System.out.println("Hello\tWorld");//Hello
World
类型转换
低-----------------------------------------------------------------高
byte,short , char -> int -> long -> float -> double
注意点:
-
不能对bool进行转换
-
不能把对象转换为不相干的类型
-
在把高容量转换为低容量时,进行强制转换
System.out.println((int)23.7);//浮点型转换为整型(高容量转换为低容量)23
System.out.println((int)-35.89f);//float型转换为int型-45 -
转换的时候可能存在内存溢出,或者精度问题
//强制转换 (类型)变量名 高--低
int i=128;//128
byte b=(byte)i;//-128
操作比较大的数时,注意溢出问题
int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total);//-1474836480,计算的时候溢出了
long total1=money*years;
System.out.println(total1);//计算后的结果默认是int,转换为long型前已经出了问题
long total2=money*((long)years);//先将years转换为long类型
System.out.println(total2);//2000000000
变量
变量作用域
实例变量:如果不进行初始化,这个类型默认值为 0 0.0;
布尔值:默认时false;
除了基本类型,其余的默认值都是null;
//定义变量不初始化
String name;
int age;
public static void main(String[] args)
{
//变量类型:变量名字=new Demo1();
Demo1 demo1=new Demo1();
System.out.println(demo1.age);//0
System.out.println(demo1.name);//null
}
}
局部变量:
public static void main(String[] args)
{
//局部变量:必须声明和初始化值
int i=10;
System.out.println(i);
}
类变量
语法:static 数据类型 变量名
static double salary=2500;
public static void main(String[] args)
{
System.out.println(salary);//2500.0
}
常量
语法:final 数据类型 常量名=值
//static修饰符,不存在先后关系
static final double PI=3.14;//也可final static double PI=3.14;
public static void main(String[] args)
{
System.out.println(PI);
}
运算符
注意事项:
long a=1212121212122L;
int b=20;
short c=30;
byte d=40;
System.out.println(a+b+c+d);//有long类型则输出的为long类型
System.out.println(b+c+d);//没有lang类型输出的都为int型
System.out.println((double)(c+d));
幂运算2^3
double pow=Math.pow(3,2);//3*3
System.out.println(pow);
字符串连接符
int a=10;
int b=20;
//字符串连接符 +,String
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30

浙公网安备 33010602011771号