[Day1]从0开始学java
文章目录
预
常见Dos命令
- 资源管理器地址前加 cmd
# 切换盘符 直接输盘符
# dir 目录下文件
# cd 切换目录 /d 换盘符
# cls 清屏
# exit 退出
# ipconfig 查看ip
# calc 计算器 mspaint 画图 notepad 记事本
# ping
# 右键复制
# md目录 创建文件夹 rd目录 删除文件夹
cd>文件名 创建文件 del 删除文件
入门
java特性 优势
- 简单
- 面向对象
- 可移植性 JVM
- 高性能
- 分布式
- 动态性 反射
- 多线程
- 安全性
- 健壮性 异常
java三大版本
- javaSE 标准版
javaME嵌入式开发- javaEE 企业级开发
JDK JRE JVM
- jdk 开发者工具
- jre 运行时环境
- jvm 虚拟机 write once ,run anywhere
安装环境
- 安装jdk8 配置环境变量 path
编写代码
- javac java文件 编译
- java 文件名 运行class文件
程序运行机制
- 编译型 一次性编译好
- 解释型 边执行边解释
java先编译成class文件再解释
基础
注释
- 单行注释
//
- 多行注释
/* */
- javaDoc:文档注释
/** */
javadoc -encoding UTF-8 -charset UTF-8
标识符和关键字
-
关键字
-
标识符
数据类型
- 强类型语言 要求变量严格符合规定,必须先定义(java)
- 弱类型语言
java数据类型
- 基本类型
- 数值类型(数字之间可以下划 线分割)
- 整数类型
- byte 1字节B
- short 2字节
- int 4字节
- long 8字节
- 浮点类型
- float 4字节
- double 8字节
- 字符类型
- char 2字节
- 整数类型
- boolen类型 一位b
- 数值类型(数字之间可以下划 线分割)
- 引用类型
- 类
- 接口
- 数组
进制
- 二进制 0b
- 10进制
- 8进制 0
- 16进制 0x
浮点数误差
少用浮点数比较
BigDecimal
字符
Unicode
U0000~UFFFF
类型转换
- 强制类型转换(高->低)避免溢出/精度问题
- 自动类型转换
变量
变量作用域 demo02
- 类变量
- 实例变量
- 局部变量
命名规范
常量
final
运算符
-
a++ 先赋值再自增
-
++a 先自增在赋值
-
Math类
-
逻辑运算是短路运算,前面能判断出后面就不再运算
-
+
String
结果转为string
包机制
流程控制
用户交互Scanner Demo01
java.util.Scanner
结构
顺序结构
- java的基本结构
选择结构
- if选择结构
- switch多选择结构
- 支持字符串hashcode
循环结构
- while
- do while
- for
- 增强for循环 数组
for(int x:数组名)
- break continue
break
强制退出循环continue
结束本次循环直接执行下一次判定
- goto label
goto
是java保留字,但没有goto => 带标签的break+continue
方法
定义和调用
- 语句的集合实现一个特定功能
- 包含于类或对象之中
- 方法在程序中被创建,在其他地方被调用
- 原子性:一个方法一个功能
- java都是值传递
方法重载
- 在一个类中,相同的方法名,参数列表不同,返回类型无所谓
命令行传参
可变参数(不定向参数)
- 在方法声明中,在指定参数类型后加一个省略号
- 一个方法中只能制定一个可变参数,必须是最后一个参数
递归
- 自己调用自己
- 递归头
- 递归体
数组
内存分析
特点
- 长度确定
- 类型相同
- 元素可以为renyishujvleixing
- 数组变量属于引用类型,数组可以看成对象,每个元素相当于对象的成员变量。数组本身就是对象(java中对象在堆中)
- 别越界
ArrayIndexOutofBound
Arrays类 Demo02
java.util.Arrays