java基础(语法)
java运行机制
解释型
编译型:把代码转成计算机可识别的中间代码
注释
单行注释 //
多行注释 /**/
文档注释 /** */
java标识符
关键字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B2Gdkfc3-1603614276202)(E:\Typora\day01\截图\标识符.JPG)]
标识符注意点
- 所有标识符都应该以字母(大小写),美元字符($),或者下划线开始
- 首字符之后可以是字母(大小写),美元字符($),下划线或者数字的任意组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
数据类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGvvnBqe-1603614276204)(E:\Typora\day01\截图\数据类型.JPG)]
注意Boolean只占一位
定义变量时 long数据类型需要在后面加L
定义变量时 float数据类型需要在后面加F
附加:计算机中的单位
位(bit):是计算机内部存储的最小单位
字节(byte):一字节对于8位,单位(B)
在定义变量时的进制:
二进制0b 八进制0 十六进制0x(都是开头)、
浮点数:浮点数具有有限、离散、含入误差、大约、接近但不等于的特点,所以最好完全不用浮点数进行比较
面试题:银行业务怎么表示?
使用BigDecimal 数学工具类
转义字符:
\t 制表符
\n 换行
等等
类型转换
运算时类型转换优先级(从低到高)
byte,short,char—>int—>long—>float—>double
高到低需要强制类型转换,低到高可以自动转换
注意:
- 不能对布尔类型转换
- 不能把对象类型转换成不相干的类型
- 在把高容量转换到低容量时,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
int i = 111;
byte b = i;
会报错
需要加强制转换byte b = (byte)i;
byte b = 111;
int i = b;
不会报错,会自动类型转换
注意:当计算时,如果没有long,其他类型运算都会变成int类型。例如:
short a = 10;
byte b = 8;
a+b = 18(int类型)
如果有float参与,会变成double
变量
定义变量:
数据类型 变量名 = 值;(可以用逗号隔开来声明多个同类型变量)
变量作用域
局部变量:在方法体里面定义的变量,必须要赋值
实例变量:定义在类里面方法的外面,从属于对象,不一定要赋值(布尔值默认为false)
类变量:加了static关键字,从属于类,
常量:指的是初始化后不再改变值
定义:
final double PT = 3.14;
常量名一般使用大写
变量命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalary (除了第一个单词以外,后面每个单词首字母大写)
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(, runRun)
运算符
算数运算符
+加法,-减法,*乘法,/除法,%取余(模运算),++,–
赋值运算符
=
关系运算符
有>大于,<小于,>=大于等于,<=小于等于,==等于,!=不等于
逻辑运算符
&&与,||或,!非
短路运算:
比如当与运算中第一个已经判断为假,则不计算后面的内容
位运算符
& 与, | 或, ^ 异或, ~取反 , >>右移 , <<左移 , >>>
面试题:2*8怎么运算最快
2<<3(2左移3位)
条件运算符
?:
例:x ? y : z
如果x==true,则结果为y,否则就为z
扩展赋值运算符
+=, -=, *=, /=
包机制
类似文件夹
命名规则:一般利用公司域名倒置作为包名。比如www.baidu.com
命名为com.baidu.www
如果要使用其他包,则要在类前面加import导入
javaDoc
javaDoc 命令是用来生成自己的API文档的
参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
扩展
字符串连接符
字符串连接符 +
在+两边又出现string类型时,+自动把两边都变为字符串类型
面试题
System.out.println(""+a+b);
System.out.println(a+b+"");
两者有什么不同?
第一行会输出1020
用的jdk版本
4. @param 参数名
5. @return 返回值情况
6. @throws 异常抛出情况
扩展
字符串连接符
字符串连接符 +
在+两边又出现string类型时,+自动把两边都变为字符串类型
面试题
System.out.println(""+a+b);
System.out.println(a+b+"");
两者有什么不同?
第一行会输出1020
第二行会输出30
听课笔记,上传方便自己自用,不喜勿喷(学习视频b站狂神说)