Java笔记
Basic
基本Dos命令
-
打开cmd方式
- 开始+系统+命令提示符
- win+R 输入cmd(推荐使用)
- 在任意文件夹下shift+右键
- 文件管理器地址栏最前面打cmd+空格
-
常用Dos命令
//盘符切换 E: //查看当前目录下所有文件 dir //切换目录 cd \d //退回上级目录 cd .. //清除屏幕 cls //退出终端 exit //查看电脑IP ipconfig //打开计算器 calc //打开记事本 notepad //打开画布 mspaint //鼠标右键是粘贴 //ping命令 ping+网址 //创建文件夹 md //创建文件 cd-> //删除文件 del //删除目录 re
Java三大版本
- JavaSE 标准版( 桌面程序、控制台开发)
- JavaME 嵌入式开发
- JavaEE 企业级开发(web端)
JDK、JRE、JVM
- JDK 开发者工具(包括JRE、JVM)
- JRE 运行环境
- JVM 虚拟机
JDK安装
- 建议安装JDK1.8,比较稳定
- 安装后添加环境变量:此电脑右键 -> 属性 -> 高级系统设置 ->系统变量 -> 新建
变量名: JAVA_HOME
变量值 : 安装JDK的位置 - 配置Path:
在系统变量中双击Path变量 ->新建 ->添加两个变量
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin - 检查安装是否成功:
在cmd中输入java -version
JDK文件结构
bin目录是可执行文件
HelloWorld
建议使用noteped++(安装IEDA前),创建一个.java文件
检查拓展名有没有打开
public class hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
}
- 在.java文件目录前加cmd+空格打开终端
在命令行图标右键属性可以调节字体大小 - 输入
如果提示没有javac命令,就是环境变量没配对javac hello.java //编译 hello为文件名 //文件夹下多了一个.class文件 java hello //运行
编译型和解释型
- 不同:时机不同、各有利弊
编译型:一次全编译了,执行速度快(C)
解释型: 用一句译一句,对速度要求不高(脚本语言)
Java先编译,到操作系统运行时再解释(包含两种类型)
IDEA
IDEA官网
社区版是免费的,功能比旗舰版少一些,但够用了,下载完直接安装就可以
-
新建工程
法一:直接新建Java工程
然后选择保存路径,点击finish就完成了 -
在src文件夹下创建Java文件
法二:通过Empty Project新建Java工程
File->New->Project->Empty Project
此时我们发现无法在建好的工程中新建文件
因此再新建一个module,File->New->modue
然后再打开Project Structure选择JDK
File->Project Structure
后续新建Java文件与法一相同
在刚创建的文件中输入psvm
(public static void main的首字母)IDEA会自动提示补全
System.out.println(("Hello"));
- IDEA设置
字体设置:File->setting->Editor->Font->Size
IDEA还有很多可以优化的东西,具体可以搜索“IDEA优化”
基础语法
注释
书写注释是一个好习惯
- 单行注释
//
- 多行注释
/* */
- 文档注释
/** */
(注释会被识别)
标识符&关键字
常用关键字
标识符(类名、方法名、变量名)不可以使用关键字
标识符可以以字母、下划线、'$’开头,首字母之后可以用任意符号,标识符区分大小写,可以使用中文,但不建议使用
数据类型
Java是强类型语言,所有变量必须先定义再使用(强类型语言运行速度慢一些,但是安全)
//定义变量
//数据类型 变量名 = 值
Java数据类型分为两类
- 基本类型
- 引用类型
//八大基本数据类型
//整数
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //使用long时在数字后面加L,用以区分long类型
//浮点数
float num5 = 50.1f; //数字后加f与long同理
double num6 = 3.14159265358979323;
//字符
char name = '请'; //一个字符
String namea = "abcd";
//布尔值
boolean flag = true;
//boolean flag = true;
- 字节
32位的电脑只能装32位的软件,64位的电脑可以装32位、64位的软件(内存寻址能力不同),32位支持最大内存4G
- 常见问题
- 整型拓展
//整数拓展 进制 二进制0b 八进制0 十六进制0x int i = 10; //十进制 int i2 = 010; //八进制 int i3 = 0x10; //十六进制 System.out.println(i); System.out.println(i2); System.out.println(i3); //观察思考输出结果
- 浮点型拓展
//浮点数拓展 float f = 0.1f; double d = 1.0/10; System.out.println(f==d); //思考输出结果 float d1 = 23131312312312313f; float d2 = d1+1; System.out.println(d1==d2); //思考输出结果
尽量不要使用浮点型进行比较
- 字符拓展
//字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制类型转换 System.out.println(c2); System.out.println((int)c2); //所有字体本质都是数字 //Java采用Unicode编码 0-65536 char c3 = '\u0061'; //'\u'为转义字符 常见的还有'\t'(制表符)、'\n'(换行) System.out.println(c3); //会输出‘a’
- 整型拓展
类型转换
运算中不同数据类型先转化为同一类型没然后进行运算
底----------------------------------------------------->高
byet,short,char < int < long < float < double
//强制转换(高->低)
int i;
byte b = (byte)i; //将i转换为byte后赋值给b
//自动类型转换(低->高)
int i;
double b = i;
注意点:
- 布尔值不能进行转换
- 不能把对象类型转换到不相干的类型
- 转换的时候可能存在溢出或精度问题
JDK7新特性:数字可以用下划线分割
int i = 10_0000_0000 //等于1000000000