JAVA基础
注释、标识符、关键字
注释
-
单行注释://
-
多行注释:/* */
-
文档注释:/** */
标识符
类名、变量名以及方法名都被称为标识符。可以使用中文命名,但一般不建议这样使用。
关键字
高亮的
数据类型
-
强类型语言
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(Java属于强类型语言)
-
-
弱类型语言
-
Java的数据类型分为两大类
-
基本类型
-
数值类型
-
整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
-
浮点类型:float(4个字节)、double(8个字节)
-
字符类型:char(2个字节)
-
-
boolean类型:占1位,其值只有true和false
-
-
引用类型
-
类
-
接口
-
数组
-
-
数据类型拓展
-
整数拓展
-
进制
-
二进制0b、八进制0、十六进制0x
-
-
-
浮点数拓展
最好完全避免使用浮点数进行比较,因为有精度损失!!!
float f=0.1f; //0.1 double d=1.0/10; //0.1 System.out.println(f==d); //false float d1=23131312312313f; float d2=d1+1; System.out.println(d1==d2); //true
因此,银行业务不能使用float、double进行表示,可以使用BigDecimal类。
-
字符拓展
-
所有的字符本质还是数字
unicode编码,2个字节,可以表示65536个字符
char c1='a'; char c2='中'; System.out.println(c1); System.out.println(int(c1));//强制转化 System.out.println(c2); System.out.println(int(c2));//强制转化 //unicode编码 U0000-UFFFF char c3='\u0061'; System.out.println(c3); //'a'
-
转义字符
\t、\n
System.out.println("Hello\tWorld");
-
-
字符串拓展
对象,从内存分析
String sa=new String("hello world"); String sb=new String("hello world"); System.out.println(sa==sb);//false 分配堆内存 String sc="hello world"; String sd="hello world"; System.out.println(sc==sd);//true 常量池
类型转换
-
byte、short、char -> int -> long -> float -> double(由低容量到高容量,小数的优先级大于整数),这些类型可以混合计算,但运算中,不同类型的数据要先转化为同一类型,然后进行运算。在转化过程中,可能存在内存溢出或者精度问题。
int i=128; byte b=(byte)i; //-128,内存溢出 System.out.println((int)23.7);//23 精度问题
-
强制类型转换
由高到低,需要强制转化。
-
自动类型转化
由低到高,自动转化。
int i=128; double b=i;
-
操作比较大的数时,注意溢出问题
int money=10_000_000; //JDK新特性,数字之间可以用下划线分割 int years=20; int total=money*years;// -1471836480,计算的时候溢出了 long total2=money*years;// -1471836480,默认是int,转换之前已经出现问题了 long total3=money*((long)years);//200000000
变量、常量
-
变量作用域
public class demo08 { //类变量,加static static double salary=2500; //实例变量:从属于对象。如果不自行初始化,则是这个类型的默认值。数值的默认值为0,0.0;String的默认值是null;boolean的默认值是false;除了基本类型,其余的默认值都是null String name; int age; public static void main(String[] args) { int i=10; //局部变量 System.out.println(i); demo08 d=new demo08(); System.out.println(d.age);//实例变量,先创建对象实例 System.out.println(salary);//类变量,无需创建对象实例,即可使用 } }
-
常量
-
常量名一般用大写字符,使用final关键字定义
static final double PI=3.14; final static double PI=3.14;//两种写法均可,修饰符,不存在前后顺序
-
-
变量的命名规范
-
类成员变量、局部变量、方法名:首字母小写和驼峰原则(除了第一个单词以外,后面的单词首字母大写)
-
常量:大写字母和下划线(如MAX_VALUE)
-
类名:首字母大写和驼峰原则
-
运算符
-
多种数据类型的混合运算(多种数据类型做混合运算的时候,最终的结果类型是“最大容量”对应的类型。char+short+byte混合运算的时候除外,会各自先转换成int类型再做运算)
long a=123123123; int b=123; short c=12; byte d=8; System.out.println(a+b+c+d);//long System.out.println(b+c+d);//int System.out.println(c+d);//int
-
字符串连接符
int a=10; int b=20; //字符串连接符 System.out.println(""+a+b); //1020 System.out.println(a+b+""); //30
包机制、JavaDoc
包机制
-
一般利用公司域名倒置作为包名,com.baidu.www
-
为了能够使用某一个包的成员,我们需要在JAVA程序中使用import明确导入该包。
JavaDoc
-
Javadoc命令是用来生成自己API文档的
-
IDEA 生成API文档
-
Tools->Generate JavaDoc
-
3处传入参数为:-encoding UTF-8 -charset UTF-8 -windowtitle "文档HTML页面标签的标题"