day2 - 一些Java基础语法
idea新建一个空的project所需注意事项:
-
File --> Project Structure --> Project --> Project SDK: --> 选择所装载的sdk版本 --> project language level --> 选择所一致的sdk版本等级 --> apply
注释、标识符
文档注释(JavaDoc)
两种方法生成JavaDoc文档:
-
在cmd中执行javadoc -encoding UTF-8 -charset UTF-8 文件名.java
-
打开idea,点击Tools->Generate JavaDoc,这样就打开了Javadoc文档配置页面,然后如图配置即可。从上往下分别是配置 javadoc 的范围,输出文件夹路径以及命令行参数,其中使用utf-8编码才能保证生成可以正常处理的中文字符

用于描述各种参数信息,形如:
/**
*@author 作者名
*@verson 版本号
*@since 指明需要最早使用的jdk版本
*@param 参数名
*@return 返回值情况
*@throw 异常抛出情况
*/
标识符规则
-
所有标识符必须只能以字母(A-Z,a-z)、数字(0-9)、下划线(“_”)、汉字、金钱符号(“$”、“¥”)组成,并且首字符不能是数字。
-
不能把Java关键字(例如“class”、“public”等)和保留字(例如“goto”、“const”)作为标识符,
-
标识符没有长度限制。
-
标识符对大小写敏感。
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(安全性高,但是运行速度会变慢)
弱类型语言
要求变量的使用不需要严格符合规定。(运行速度快,但是安全性低)
Java的数据类型:
基本类型(primitive type)
前提知识:
-
位(bit)是计算机内部数据储存的最小单位,101,是一个3位二进制数。
-
字节(byte)是计算机中数据处理的基本单位,用B表示。
-
1byte = 8bit。
-
字符指的是计算机中使用的字母、数字和符号。
数值类型
整数类型
-
byte占1个字节,范围:-128-127
-
short占2个字节,范围:-32768-32767
-
int占4个字节,范围:-2147483648-2147483647
-
long占8个字节,范围:-9223372036854775808-9223372036854775807(一般在数字后面加上“L”,例如long num = 30L; )
浮点类型
-
float占4个字节(一般在数字后面加上“F”,例如float num = 15.8F; )
float是一个有限的数,也是一个离散的数,所以float存在舍入误差!例如:
float i = 514646546465456568F;
float i2 = 514646546465456568F + 1;
System.out.println(i == i2);//返回结果居然为true!!!
//因此,在银行业务用BigDecimal(一种数学工具类)表示金钱 -
double占8个字节
字符类型
-
char占2个字节
字符本质是数字,可以用强制类型转换,即,使用(int)来把char转换成int,或者通过以下例子进行转换:
char c = 'a';
int d = c+1;
System.out.println(d);//这里输出的结果为98,因为字符a的数值就是97
System.out.println(char(d));//这里输出结果为bJava中使用的Unicode编码,可以用于处理各种语言,Unicode占2个字节,范围是0~65536(U0000~UFFFF)。早期Excel表最多能有2^16长,即65536。
Unicode表中65 = A,97 = a。
Unicode编码标示方式:\u为Unicode编码的格式。
char c = '\u0061';//输出结果为a
boolean类型
-
占1位,其值只有true和false两个
引用类型(reference type)
类
-
Integer(-2^31 - 2^31-1),是int的包装类
接口
数组
注意String是一个类,不是基本类型!
进制
十进制
int i = 10;
八进制(0)
int i2 = 010;//输出结果为8
十六进制(0x)
int i3 = 0x10//输出结果为16
int i4 = 0x1F//输出结果为31,A~F = 10~15
类型转换
int money = 10_0000_0000;//JDK7新特性,数字之间可以用下划线分割
int year = 20;
int total = money*year;//-1474836480,计算的时候溢出了
long tota2 = money*year;//-1474836480,因为默认的是int,转换之前已经存在问题,所以错误的数据进行了转换。
long tota3 = money*(long)year;//20000000000
浙公网安备 33010602011771号