java语法
1、注释、标识符、关键字
1.1注释
单行注释://
多行注释:/* ...*/
文档注释:javaDoc /** ... */
1.2标识符
①Java所有组成部分都需要名字,类名、变量名以及方法名字都称之为标识符。
②所有标识符都只能以字母(A-Z/a-z)美元符号($)或者下划线()开始;首字母后可以是字母(A-Z/a-z)美元符号($)或者下划线(),中任意字符的组合。
③不能使用关键字作为变量名或者方法名。
④标识符大小写敏感。String man="bambam"
与String Man="kimJIN"
是两个完全不一样的变量。
⑤标识符命名最好不要使用中文或者拼音。
1.3关键字
为类或者接口或其他起名字时不可以使用关键字的名字。
2、数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(Java、c、c++)
弱类型语言:不是严格要求的(js)
Java数据类型主要有两类{[基本类型]、[引用类型]}
1.1基本类型
数值类型:
整数类型(byte:占1个字节、short:占2个字节、int:占4个字节、long:占8个字节) long num=20L
进制:
二进制:0b开头、十进制八进制:0开头、十六进制:0x开头
浮点类型(float:占4个字节、double:占8个字节)float num=50.1F
float是有限、离散的,会舍入误差,所以最好完全避免使用浮点数进行比较,可以使用BigDecimal类进行银行业务。
字符类型(char:占2个字节 )字符串String 不是关键字,是一个类
boolean类型:true & false :占1个位
1.2引用数据类型
类、接口、数组
3、类型转换
运算中,不同类型的数据先转化成为同一类型,然后再进行运算。
转换过程:有低容量转换成高容量。小数的优先级高于整数。
byte,short,char,->int ->long ->float->double
强制类型转换:高容量到低容量,强制转换,会溢出/精度问题。转换方式:(类型)变量名
自动类型转换:从低到高。int i=128 ; double b=i
不能对布尔类型进行转换;不能把对象类型转换为不相干的类型;
4、变量、常量
4.1变量
Java是一种强类型语言,每个变量都必须声明类型,必须以分号结束。
局部变量,是在方法内部声明和初始化值,且只在方法内部有用。
实例变量:从属于对象(类)。如果不自行初始化值,就会有默认值(数值 0/0.0;布尔类型:false;除了基本类型其余的默认值都是 null)。
类变量:加static 从属于类,随类存亡。
4.2常量
初始化后不能再改变的值,不会变动的值。
final 常量名=值;一般全部用大写字母固定。
类名:首字母大写。
变量名、方法名:首字母小写和驼峰原则。
修饰符(static、final)不存在前后顺序。
5、运算符
5.1算术运算符
+、-、*、/、%、++、--
++/--自增自减符号 一元运算符
int a=3;int b=a++; int c=++a;
输出结果为: a=5;b=3; c=5
a++就是a=a+1;
幂运算,借助Java的工具类:求3^2:Math.pow(3,2);
5.2赋值运算符
=
5.3关系运算符
<、>、>=、<=、==、!= 、instance of()
instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean` `result = obj ``instanceof` `Class
5.4逻辑运算符
&&(与),||(或),!(非) 短路运算,一旦确定有假则不在判断后面。
5.5位运算符
&(两个都是1才是1)、|(有1就是会是1)、^(异或同为0,异为1)、~(取反,完全相反)、>>(右移,数字除2)、<<(左移,数字×2),左移右移效率快(如何更快的使用计算机计算2×8)、>>>
5.6条件运算符(三元运算符)
?:
x ? y :z
5.7扩展赋值运算符
+=、-=、*=、/=
字符串连接符 + 加法中只要有一端是字符串是在最前面,则整个运算都是字符串连接。
6、包机制、JavaDoc命令
6.1包机制
包的本质就是一个文件夹。解决类命名冲突。
一般以公司域名倒置命名。
通配符:.*
《阿里巴巴Java开发手册》
6.2JavaDoc命令
文档注释。
用来生成自己的API文档。
命令行控制:
javadoc -encoding UTF_8 -charset UTF-8 类名称.java