注释不会执行,是写给人看的
单行注释 //
多行注释 /* 文字 */
文档注释 /** */
所有标识符都以字母,美元符,下划线开始
首字母之后是字母、数字、下划线、美元符的任意组合
不能使用关键名
标识符大小写敏感
可以用中文,但不要用拼音
Java 强类型语言( 要求变量的使用严格符合规定,所以变量都必须先定义后使用,必须要初始化 )
整数类型 byte 1B, short 2B, int 4B, long 8B(long类型要在数字后面加L)
浮点类型 float 4B(float类型要在数字后面加F), double 8B
字符类型 char 1B
boolean 1B(true or flase)
( String不是基本类型,String是类 ,String不是关键字 )
操作比较大的数时候,JDK7新特性,数字之间可以用下划线分割
int money=10_000_000; System.out.println(money);
类
接口
数组
二进制 0b ,十进制 ,八进制0 ,十六进制0x
不能用float double 要用BigDecimal
float f=0.1f; double d=0.1; System.out.println(f==d);//flase float f1=2434343422321f; float f2=f1+1; System.out.println(f1==f2);//true
因为浮点数 有限 离散 舍入误差 大约 近似 但不等于
最好完全不适用浮点数进行比较
Unicode 2B 0-65535 ASCII码(97=a,65=A)
表示可以从U0000到UFFFF (十六进制)
char c1='\u0061'; System.out.println(c1);//a
字符 | 含义 |
---|---|
\n | 换行 |
\t | 制表符 |
运算中不同类型的数据转化成同一类型,再进行运算
byte short char int long float double(从高到低)
int i=128; byte b=(byte) i;//强制转换 System.out.println(b);//-128
不能对boolean进行转换
不能把对象类型转化为不相干的类型
把高容量转化为低容量时强制转换,把低容量转化为高容量自动转换
转换的时候可能内存溢出,或者精度问题
int money=1000_000_000; int year=20; long total1=year*money;//在转换前就出现了错误 long tatal2=year*((long)money); System.out.println(total1);//输出错误 System.out.println(total2);//结果正确