JavaSE基础总结
1. java开发环境搭建
下载与安装
- jdk8下载
- 安装
- 配置环境变量
- 系统变量中设置
JAVA_HOME
,C:\Program Files\Java\jdk1.8.0_291
- 系统变量中
Path
添加:%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin
- 系统变量中设置
- cmd测试
java -version
运行第一个java程序
- 编写程序Hello.java
public class Hello{
public static void main(String[] args){
System.out.print("Hello.World!");
}
}
- 编译,生成class文件
javac Hello.java
- 运行
java Hello
IDEA 的安装
-
安装,快捷方式选择64,其他默认即可,一路next
-
ide-eval-resetter-2.1.13.jar破解,拖入软件,【Help】->【Eval Reset】可以一直试用。
-
字体大小调整:
File->setting->Font
-
新建项目
file->new->project...->Empty project
,填写项目名字- 新建模块:
file->new->module..->
,填写模块名字,注意在项目目录下 - 选择JDK:
file->Project Structure->Project
Project SDK->选择安装的jdk 1.8
Project language level->8
-
新建java文件
- 在相应模块src右击,新建class文件
- 快捷键,
psvm
,sout
2.注释,标识符,关键字
注释
-
单行注释
//单行注释
-
多行注释
/* 多行注释 多行注释 多行注释 */
-
文档注释,带有功能的
/**
*@Description hello
*@Author guang
*/
标识符
标识符就是一个名字,类名,方法名,变量名都称为标识符。
标识符注意点
关键字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
3.数据类型
java数据类型分为两大类
- 基本类型
- 数值类型
- 整型
- byte:1个字节
- short:2个字节
- int:4个字节
- long:8个字节 long l = 25656L;
- 浮点型
- float:4个字节,flat f = 0.23F;
- double:8个字节
- 字符型
- char:两个字节
- 整型
- boolean类型:占1位
- True
- False
- 数值类型
- 引用类型
- 类
- 接口
- 数组
位与字节
位:bit
字节:byte
1B = 8 bit
进制
二进制 0b
十进制
八进制 0
十六进制 0x
浮点数
最好不用浮点数进行比较,存在舍入误差
//输出false
float f = 0.1f;
double d = 1/10;
System.out.println(f==d);
//输出true
float f1 = 3243432132123132132132f;
float f2 = f1+1;
System.out.println(f1==f2);
所以需要通过BigDecimal
数学工具类计算比较
字符
所有字符本质是数字
编码
Unicode:2字节, 65536 U0000-UFFFF
char c1 = 'a';
char c2 = '\u0061';
char c3 = 97;
输出都是a
转移字符
\t ----制表符
\n ----换行
布尔
boolean flag = true;
if(flag){
.....
}
类型转换
低---------------------------------------->高
byte,short,char->int->long->float->double
高到低,需要强制类型转换
(类型)变量名
低到高,自动类型转换
int money = 10_0000_0000;
int years = 20;
//内存溢出,导致错误结果
long total = money*years;
System.out.println(total);
//需要在计算的时候强制类型转换
long totals = money*((long)years);
System.out.println(totals);
4.变量和常量
变量
要素:变量名,数据类型,作用域
type varName [=value];
//数据类型 变量名 = 值;
作用域
- 类变量
- 关键字static
- 实例变量
- 必须声明,可以不初始化,则默认初始化
- 默认初始化值 false 0 0. 0 null
- 局部变量(方法内)
- 必须声明和初始化
常量
初始化后不能改变值,常量名为大写字符。
final 常量名 = 值;
final PI = 3.14;
变量命令规范
类成员变量:首字母小写+驼峰
局部变量:首字母小写+驼峰
常量:大写+下划线
类名:首字母大写+驼峰
方法名:首字母小写+驼峰
5.运算符
- 算术运算符:+ - * / % ++ --
- 赋值运算符:=
- 关系运算符:< > <= >= == != instanceof
- 逻辑运算符:&& || !
- 位运算符:& | ^ ~ >> << >>>
- 条件运算符:? :
- 扩展赋值运算符 :+= -= *= /=
a+b+c+d默认类型是int,如果当中有一个long或者double,float则转化为相应类型。
注意a++和++a的区别
幂运算需要借助Math
类
Math.pow(a,n)
^:相同取0,不同取1
字符串连接符 + ""+10+20 --> 1020
x ? y : z
如果x为true,则y,否则z。
优先级
()最高
6.包机制
本质就是一个文件夹管理
命名
域名倒置
使用
import 包名;
import 包名.*;
7.javadoc
参数信息
命令javadoc
@author
@version
@since 指明最早使用jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
注释可以加载类上或者方法上。
javadoc 参数 文件
javadoc -encoding UTF-8 -charset UTF-8 Demo01.java