java-基础篇
JAVA基础篇
DOS命令
1-打开cmd方式
win+R cmd
在任意文件夹下面 按住shift + 鼠标右键,在此处打开命令行窗口
2-常用的DOS命令:
#盘符切换 E:
#查看当前目录下的所有文件 dir
#切换目录 cd change directory , cd .. , cd \d F:
#清屏 cls
#推出终端 exit
#查看电脑IP ip ipconfig
#打开应用 calc mspaint notepad
#ping 命令 ping www.baidu.com
#创建目录 md test
#创建文件 cd>a.txt
#删除文件 del a.txt
#删除文件夹 rd test 【删除文件夹 前 先删除文件】
java基础
java的特性优势
- 简单性
- 面向对象
- 可移植性
- 高性能
- 分布式
- 动态性 【反射机制】
- 多线程
- 安全性 【异常机制】
- 健壮性
java三大版本
- write once 、run anywhere
- javaSE:标准版 【桌面程序、控制台开发....】
- javaME:嵌入式开发【手机,小家电....】 用的人很少了
- javaEE:E企业级开发【web端,服务器开发.....】
JDK JRE JVM
JVM ---》 JRE ---》 JVM
java程序运行机制
-
编译型: 把程序全部翻译成计算机可以执行的语言 compile 编译器
-
解释性: 边执行边解释
-
程序运行机制:
-
源程序(.java)---》 java编译器---》字节码(.class) ---》
类装载器---》字节码检验器---》解释器----》操作系统平台
-
标识符
- java标识符大小写敏感;
- java标识符只能以字母 $ _ 开头
数据类型
-
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
浮点数
float f = 0.1f;
double d = 1/10;
System.out.println(f==d);//fasle
float d1 = 23232323231f;
float d2 = d1+1;
System.out.println(d1==d2);//true
- float 有限 离散 舍入误差 大约 接近但不等于
- double
- 最好完全避免使用浮点数进行比较
- BigDecimal 类 数学用具类 大数据类 【用这个】
字符
char c1 ='a';
char c2 = '中';
System.out.println(c1);// a
System.out.println((int)c1);// 97 强制类型转换
//所有的字符本质还是数字
//编码 Unicode 有表:(97 = a 65 =A) 2字节 0 - 65526
// U0000 UFFFF
char c3 = '\u0061'
System.out.println(c3);// a
//转义字符
// \t 制表符
// \n 换行符
System.out.println("Hello\tworld");
System.out.println("Hello\nworld");
//看一个e.g.
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//true
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低 ---------------------到----------------------高
byte , short , char ---> int ---->long ---->float ---->double
-
强制类型转换 高 赋值 到 低 [会有内存溢出 和 精度 问题]
-
自定类型转换 低 赋值 到 高
int i = 128;
byte b = (int) i;//内存溢出 -128
double d = i;
//操作比较大的输的时候。注意溢出问题
int money = 10_0000_0000;//JDK7 新特性 数字之间可以用下划线分割
int years = 20;
int total = money * years; // -147483648,计算的时候溢出了
long total2 = money * years;//默认是int 转换之前还是int 就有问题了
long total3 = money * ((long)years);//先把一个数转化为long √
变量
变量作用域
- 类变量 必须有static
- 实例变量
- 局部变量
常量
- 用final来定义 一般名大写