第三篇文章
终于开始进入Java的学习了
先从设置idea开始,创建一个新的项目以后,右键单击创建的Project,在Project Structure里面设置Project SDK为当前使用的Java JDK版本。我使用的是jdk1.8。然后设置项目语言等级为8。
一、注释
Java中的注释有三种
-
单行注释
//单行注释
-
多行注释
/* 多行注释 */
-
文档注释(JavaDoc)
使用cmd 中 javadoc命令可以用来生成自己的API文档
/** *@Author 作者名 *@Description Hello123 *@version 版本号 *@since 指明需要最早使用的jkd版本 *@param 参数名 *@return 返回值情况 *@throws 异常抛出情况 * *文档注释 *文档注释的内容标注可以反应到外部 */
使用cmd 中 javadoc命令可以用来生成自己的API文档
javadoc -encoding UTF-8 -charset UTF-8 Doc.java
二、标识符
常用标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
所有常用的标识符都在这张图里了。
命名规则
驼峰命名:
-
若多个单词组成,首单词首字母小写,其他单词首字母大写
-
若只有一个单词,首字母大写。
-
类名第一个字母都要大写
数据类型
Java是强类型语言,所有变量必须先定义才能使用
- byte(1byte) -128~127
- short(2byte) -32768~32767
- int(4byte) -2147483648~2147483647
- long(8byte) -9223372036854775808~-9223372036854775807
- float(4byte)
- double(8byte)
- char(2byte)
- boolean(1bit)
其中14为整数类型,5,6为浮点数类型(也可以称作小数),7为字符类型(本质上也是数字,通过unicode,类似ASCII的对应表,每个字符都有对应的数字),8为布尔值,只有true和false两个值,对应0,1
所占字节范围代表了取值范围
//整数
int num = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 30L; // 为了识别long,需要在数字末尾加上L
//浮点数
float num5 = 50.1F; // 为了识别float,需要在数字末尾加上F
double num6 = 3.1415926;
//字符
char name = '张';
//字符串,String不是关键字,是类
//布尔值,默认值为false
boolean flag = false;
if (flag){}
面试常被问到的int和Integer的区别
int是基本数据类型,不赋值默认值为0,Integer是类,不赋值默认值为null。Integer是int的包装类。
同理还有byte和Byte。
引用类型(Reference Type)
- 类
- 接口
- 数组
之后补全
数据类型扩展
整数拓展
进制
public class Demo2 {
public static void main(String[] args) {
//数据类型拓展 二进制0b 八进制0 十进制 十六进制0x
int num1 = 0b11; //二进制
int num2 = 017; //八进制 0
int num3 = 0x19; //十六进制 0x
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
3
15
25
浮点数拓展(银行业务?)
public class Demo3 {
public static void main(String[] args) {
float num1 = 0.1f;
double num2 = 1.0/10;
System.out.println(num1 == num2);//false
// float 有限 离散 舍入误差 大约 接近但不等于
// 最好完全避免使用浮点数进行比较
System.out.println("==============================================");
float num3 = 23565498161652f;
float num4 = num3 + 1;
System.out.println(num3 == num4);//true
}
}
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
如果需要比较,使用BigDecimal(数学工具类)
字符拓展
转义字符
- \t 制表符(相当于在字符串中加入了tab间隔)
- \n 换行符
等等
类型转换
运算中,不同类型的数据线转化为同一类型再进行运算
byte,short,char => int => long => float => double
int i = 128;
byte b = (byte)i; // (类型)变量名 即可完成强制转换
//内存溢出
- 不能对布尔值进行转换
- 不能把对象转换为不相干的类型
- 把高容量转换为低容量时,强制转换
- 转换的时候可能存在内存溢出或精度问题
为防止溢出,可以强制转换—低转高,来避免问题
变量
局部变量
局部变量必须声明和初始化值以后才能使用
实例变量
从属于对象,如果不初始化,使用默认值
除了基本类型,其余的默认值都是null
类变量
在声明时加上static
修饰符,即为类变量
常量
final
final 常量名 = 值;
final double PI = 3.14;
常量名一般使用大写字符,不可修改