Java基础语法
1.注释、标识符、关键字
注释:
书写注释很非常好习惯
Java中的注释有三种:
单行注释、多行注释、文档注释
public class HelloWorld {
public static void main(String[] args) {
//单行注释
System.out.println("helloworld");
/*多
行
注
释*/
}
}
//JavaDoc:文档注释
/**
* @Description HelloWorld
* @Author 叶说喜欢你
*/
标识符
2.数据类型
注意:
long num=350L;//long类型的要在后面加个L或l
float num=3.8F;//float类型的要在后面加个F或f
string ok="ok";//string字符串不是关键字,它是一个类,是引用类型
boolean flag=true;//java布尔是boolean不是bool
//整数扩展:进制 二进制0b 十进制 八进制0 十六进制0x
int a=10; //十进制的10
int b=010; //十进制的8
int c=0x10; //十进制的16
//浮点数扩展:银行业务怎么表示?钱?
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float a=0.1; //0.1
double b=1.0/10;//0.1
//a和b都是0.1但是不相等!!!
//字符扩展
//转义字符 \t制表符 \n换行符
//注意是反斜杠!!!
计算机存储单位
3.类型转换
public class demo {
public static void main(String[] args) {
int i=128;
byte b=(byte)i;//byte最大127,内存溢出,b等于-128
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4. 转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("=========精度损失==========");
System.out.println((int)23.8); //23
System.out.println((int)-45.7); //-45
System.out.println("===========低转高=========");
char c='a';
int d=c+1;
System.out.println(d); //98
System.out.println((char)d); //b
System.out.println("===========内存溢出=========");
//操作比较大的数的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int year=20;
int total=money*year;
System.out.println(total);//-1474836480,计算的时候溢出了
long total2=money*year;
System.out.println(total2);//-1474836480,默认为int计算完,再转换为long,转换之前已经存在问题了
long total3=money*(long)year;//先把一个数转换为long
System.out.println(total3);//20000000000,两百亿成功
}
}
4.变量、常量
public class demo {
//属性:变量
//类变量 static,从属于类
static double salary=2500;
//实例变量:从属于对象。如果不自行初始化,会赋值这个类型的默认值
//boolean:默认值是false
//除了8个基本类型,其余默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
//变量类型 变量名字 = new demo();
demo demo = new demo();
System.out.println(demo.age);//int默认值是0
System.out.println(demo.name);//String默认值是null
//类变量 static
System.out.println(salary);
}
//其它方法
public void add(){
}
}
public class demo {
//final关键字
//修饰符,不存在先后顺序,【变量前面的都是修饰符】
//final static double PI=3.14;
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
5.运算符
重点:
int b=a++;//先执行完这条赋值语句,a再加1,
int b=++a;//先a+1,再赋值
//三元运算符号
a?b:c //如果x==true,则返回y,不然返回z
6.包机制、JavaDoc
包的本质就是文件夹,为了不让文件重名
点击小齿轮后,如下设置,可以使建包分层