注释
单行注释:注释单行代码
//注释
多行注释 :注释多行代码
/*
多行
*/
文档注释:可以加参数
/**
*注释内容
*/
标识符
关键字
java所有的组成部分都需要名字,类名,方法名,变量名被都称为标识符
-
所有的标识符都要已(A-Z或者a-z),美元符号或者下划线开头
-
首字母之后可任何字符的数据
-
不能使用关键字作为标识符
-
标识符对大小写十分敏感
数据类型
强类型语言
要求变了的使用严格符合规定,所有变了都必须先定义后才能使用
基本数据类型
byte,short,int,long,double,float,boolean,char
数值类型:整数类型,浮点类型,字符类型
整数类型:byte,short,int,long
浮点类型:float,double
字符类型:char
boolean类型:占1位只有true和false两个
//把大基本数据类型
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4 30L;//Long类型要在数字后面加L
//小数:浮点数
float num5 =50.1F; //float类型要在数字后面加个F
double num6 =3.15159F;
//字符
char name='国';
//字符串不是关键字
String name1="股票";
//布尔值:是非
boolean b=true;
引用类型
类,接口,数组
进制
二进制0b 十进制 八进制0 十六进制0x
int i 10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i2);
//银行业务 业务使用 BigDecamal 数学工具类
//float 有限 离散 舍入误差 大约 接近单不等于
//最好完全避免使用浮点数去进行比较
//double
float f=0.1f;
double d =1.0/10;//0.1
System.out.println(f==d);//返回false
//字符
char c1='a';
char c2='国';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
//所有的字符本质还是数字
//编码 Unicode 2字节 0-65535
//转义字符
// /n换行 /t制表符
String s1=new String("aaaa");
String s2=new String("aaaa");
System.out.println(s1==s2);
//对象 从内存分析 s1不在内存常量取,而是重新再内存创建
//==是在比较 变量在内存中的位置
//布尔值
boolean flag=true;
if(flage){}与if(flage==true){}相同
//代码要精简易读
强制类型转换
优先级从低到高
Char,short,byte----int----float----double
int i=128;
byte b= (byte)i;//内存溢出
//强制转换 (类型)变量名 从高到低
//自动转换 从低到高
/*
1.不能对布尔型执行转换
2.不能吧对象类型转换为不相干的类型
3.在把高容量转换的低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/
//操作比较大的数的时候,注意内存溢出
//jdk7的新特性,数字之间可以用下划线
int money=10_0000_0000;
int years=20;
int total =money*years;//计算时内存溢出
long total2 =money*years;//还是内存溢出,因为转换之前就已经溢出了
//在计算时得出的结果会直接转换成优先级高的数
long total3=meney*(long)years;