java基础
数据类型转换
由于Java是强类型语言 ,所以要进行一些运算的时候需要类型转换
低 -----------------------高
byte,short,char->int->long->float->double
运算中,不同类型的数据转化为同一类型,然后在进行比较
由高到低 强制转换 (类型)变量名
由低到高 自动转换
int a = 128;
byte b = (byte) a;
System.out.println(a);//128
System.out.println(b);//-128
// 内存溢出
注意点 :
1.不能对布尔值转换
2.不能把对象转化成不相干的类型
3.把高质量向低质量转的时候,用强制转换
4.转换的时候,可能会出现内存溢出或者精度问题
System.out.println((int)25.64);//25
System.out.println((int)-15.34f);//-15
char a = 'a';
int b = a+1;
System.out.println(b); //98
System.out.println((char) b);//b
int a =10_0000_0000;
int b =20;
int c = a * b ;
System.out.println(c);//-1474836480
System.out.println((float)c);//-1.47483648E9
System.out.println((long) c);//-1474836480
long d = a * (long)b;//20000000000
System.out.println(d);
新特性
jdk 7新特性 数字与数字之间可以用下划线隔开
变量
1.类变量
2.实例变量
3.局部变量
public class Demo {
//类变量
static int lv = 20;
//实例变量:从属于对象 如果不自行初始化 这个类型的默认值 0 0.0
//boolean 布尔值默认是false
//除了基本类型以外,其他的都是null
int j;
boolean k;
public static void main(String[] args) {
//局部变量 必须声明和初始化值
int i = 20;
//类变量可以直接调用输出
System.out.println(lv);
// 实例变量 调用输出
//变量类型 变量名 = new 类名();
Demo aa = new Demo();
System.out.println(aa.j);
}
}
常量
常量 :初始化后不能再改变值,不会变动的值
所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行中不允许被改变
// final 常量名 = 数值
final double PI = 3.14;
常量名一般用大写字符
变量命名规范
所有变量,方法,类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部成员变量:首字母小写和驼峰原则:
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man GoodMan
方法名:首字母小写和驼峰原则:run() runRun()
运算符 优先级 用()
- 算数运算符:+ ,-,*,/,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符: && ,||, !
- (了解)位运算符:&,|,^, ~ , >> , << , >>>
- 条件运算符 ? :
- 扩展赋值运算符:+=,-=,*=,/=
//自增 自减
int a=3;
int b=a++; //执行完这个代码后 先给b赋值 然后再自增
int c=++a; //执行完这个代码后 先给c赋值 然后再自增
System.out.println(a);
System.out.println(b);
System.out.println(c);
// 幂运算 math类 工具类
double pow = Math.pow(2, 3);
System.out.println(pow);
// 位运算符
A = 0011 1100
B = 0000 1101
--------------
A&B = 0000 1101
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0011
//效率较高
<< 左移 *2
>> 右移 /2
System.out.println(3<<2); //12
// 扩展赋值运算符
int aa = 10;
int bb = 20;
aa+=bb; //aa = aa+bb;
aa-=bb; //aa = aa-bb
System.out.println(aa);
//三目运算符
// x ? y : z ; 如果x==true 则为 y 否则 z
int a = 70;
String typ = a>60?"及格":"不及格";
System.out.println(typ);
包机制
一般利用公司域名倒置作为包名
为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。使用import语句可完成此功能
import package1.package2.package3.* //* 通配符 表示全部
JavaDoc
javadoc命令是用来生成自己的api文档的
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况