JAVA基础语法
注释
-
单行注释 : //
-
多行注释: /…/
-
文档注释:
/**
*/
关键字
String 王者荣耀 = "百星王者"
// Java中变量名可以是中文
System.out.print(王者荣耀)
数据类型
强类型语言
Java的数据类型分为两大类
-
基本类型:int, short, long, float, byte,(最多只能写到127)double,char,boolean
long num1 = 30L // long类型加L判断 float num2 = 50.1F // float类型加F判断
-
引用类型: 类,接口,数组
float类型的缺点
float f = 0.1f;
double d = 1.0/10;
// f和d不相等,不要直接以为是类型不等
float d1 = 23342342342322352234f;
float d2 = d1 + 1;
// d1和d2是相等的
//上面的例子说明float是有限离散的,它会有舍入误差,有大约值,无法精确比较
char类型
//所有的字符本质还是数字,它们是数字通过Unicode编码来的
char temp = "中"
//下面的temp就会输出Unicode编码
System.out.print((int)temp)
//也可以直接通过"\u"转移字符将Unicode编码输出为字符
System.out.print("\u0061") //输出”a“
类型转换
低--------------------------------------------->高
byte,short,char -> int -> long -> float -> double
-
强制转换:是指高位向地位转化的过程
-
自动转换:是指低位向高位转换
int temp = 128; type = (type)temp; //内存溢出,是强制转换 double index = temp;//自动转换 /* 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 高 -> 低:强制转换 4. 转换时可能存在溢出或者精度问题 */
public class Demo{ public static void main(String[] args){ //JDK7新特性,可以在数字中间添加_分割,数据更直观 int money = 20_0000_0000_0000_0000_0000; int years = 20; int total = money*years; System.out.print(total); //这样得到的数据不准确,因为数据已经溢出 long total2 = money*years; //依旧不准确,因为先计算才强制转换,所以没有变化 long total3 = money*(long)years; //输出正确,可以通过计算前先将一个变量强制转化 } }
变量
类变量
//类变量 static,作用域广,可以直接在方法中调用
static double salary = 2500;
实例变量
//实例变量: 从属于对象,如果不初始化,除布尔类型初始值是false,其他基本类型的默认值都是0;而引用类型的默认值都是NULLString name;int age;
局部变量
//局部变量,只在方法中可以调用
public class Variable{ static int allClicks = 0; //类变量 String str = "Hello"; //实例变量 public void method{ int i = 0; //局部变量}}
常量
final 常量名 = 值;final double PI = 3.14;//常量名一般使用大写字符
变量的命名规范
- 所有变量,方法,类名要见名知意
- 变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则
运算符
long a = 1241245345321513;int b = 123;short c = 10;byte d = 8;System.out.print(a+b+c+d); //long类型System.out.print(b+c+d); //int类型 System.out.print(c+d); //int类型
Math工具类
double pow = Math.pow(3,2);System.out.print(pow)// Math是一个工具类,计算幂,上述代码就是计算3的2次方
位运算
/*A = 0011 1100B = 0000 1101A&B = 00001100 与A|B = 00111101 或A^B = 00110001 异或~B = 11110010 取非*//*效率极高!!!<< : 指的是对应的二进制数左移n位,等于n+1个数据相乘>> : 指的是对应的二进制数右移n位,等于n+1个数据相除*/System.out.print(2<<3);//打印结果为16
字符串连接符
int a = 10;int b = 90;System.out.println(""+a+b); //在字符串后面加上数字,数字类型就会自动转化为String类型System.out.println(a+b+""); //在字符串前面加数字,数字会直接计算
包机制
package pkg1[.pkg2[.pkg3]];import package1[.package2...].(classname|*);import package.*; //导入package下的所有文件
一般使用公司域名的倒置作为包名
Java Doc
参数信息
- @author 作者名
- @version 版本号
- @since 指名需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throw 异常抛出情况
在类上面就是类的注释文档,在方法上面就是方法的注释文档
运行
-
通过命令行打开文件所在位置
- 在文件的文件夹中生成如下文件,打开index.html,生成文档
同样可以借助IDEA生成JavaDoc文档,打开IDEA的tools工具,里面就有generate Javadoc,在里面设置就可以了