目录
一.常见的Dos命令
盘符切换:cd \d E:
查看当前目录下所有文件: dir
清理屏幕: cls
查看电脑ip: ipconfig
打开应用:
calc:打开计算器
mspaint:打开画图软件
ping命令:ping www.baidu.com
文件操作:
创建文件夹:md
删除文件夹 :rd
创建文件:cd>
删除文件:del
二.JAVA运行机制
1.编译型
2.解释型
三.java基础语法
注释、标识符、关键字
数据类型
类型转换
变量、常量
运算符
包机制、JavaDoc
1.注释、标识符、关键字
注释:注释并不会被执行,是给编写代码的人看的。
标识符:java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
所有的标识符都应该以字母(a-z、A-Z),美元符号(¥),下划线(_)开头。
不能使用关键字作为变量名或者方法名
标识符是大小写敏感的
关键词:abstract、assert、boolean、break、byte、case、catch 、char、class、const、continue、default、do、double、else、enum、extends、final、finallyfloat、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
2.数据类型
java是强类型语言,所有变量必须先定义后使用。
java基本的数据类型分为两类:基本类型、引用类型
2.1.基本类型:
数值类型 | 整数类型 | byte | 一个字节范围 | -128-127 |
short | 2个字节范围 | -32768-32767 | ||
int | 四个字节范围 | -2147483648 - 21473448 | ||
long | 八个字节范围 | -2^64 - +2^63-1 | ||
浮点类型 | float | 四个字节 | ||
dubbo | 八个字节 | |||
字符类型 | char | 2个字节 | ||
boolean | Boolean | 占1位 |
2.1.1.关于字节:
位(bit):是计算机内部存储的最新小单位,11001100是一个八位二进制数。
字节(byte):是计算机数据处理的基本单位。习惯用B表示 1B=8bit
字符:指的是计算机中使用的字母、数字、字、符号。
2.1.2拓展
二进制(0b) | 十进制 |
8进制(0) | 16进制(0x) |
public class A {
public static void main(String[] args) {
//整数拓展 : 二进制(0b) 十进制 八进制0 16进制(0x)
System.out.println("============整数拓展==============");
int i1 = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
//浮点数拓展 银行业务怎么表示? BigDecimal数学工具类
//float 有限长度 离散 舍入误差 大约 接近但不等于 (位置A处输出为false,位置B处输出ture)
//最好完全避免使用浮点数进行比较!!!!
System.out.println("============浮点数拓展==============");
float f = 0.1f;
double d = 0.1;
System.out.println(f==d);//位置A
float f1 = 123456852124554f;
float f2 = f1+1;
System.out.println(f1==f2);//位置B
//字符拓展
//所有字符的本质还是数字 通过Unicode编码表转换 (eg:97 = a; 65 = A)
System.out.println("============字符拓展==============");
char c = '\u0061';
char c1 = 'A';
char c2 = '刘';
System.out.println(c);
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
//转义字符
// \t:制表符 \n换行符
System.out.println("============字符拓展==============");
System.out.println("中\t国");
System.out.println("中\n国");
}
}
结果:
============整数拓展==============
10
8
16
============浮点数拓展==============
false
true
============字符拓展==============
a
A
65
刘
21016
============字符拓展==============
中 国
中
国
2.2.引用类型
类,接口,数组......
3.类型转换
由于java是强类型语言,所以进行有些运算时需要进行类型转换。
byte,short,char -> int -> long ->float -> ouble
由低到高 自动转换
由高到低 强制转换
4.变量、常量、作用域
public class Change {
//常量 final关键字修饰的变量
final static String index_head = "AAAA";
//类变量 static关键字修饰的变量
static double salary = 10_0000_0000;
//实例变量
//实例变量从属于对象,如果不自行初始化则为类型默认值
//整数类型默认值 0/0.0 boolean类型默认值false 除了基本类型外默认值都为 null
String name;
int age;
public static void main(String[] args) {
//局部变量
int i= 0;
//实例变量的使用
//在静态方法中调用实例变量 需要 new一个该类,通过类对象调用
/*
一、程序执行流程
1、从硬盘读取文件到内存
2、编译生成.class字节码
3、字节码存放在jvm内存中的方法区、把类中所有static修饰的方法和变量都存放在方法区中。
4、找到main()方法,程序入口进行运行,
5、调用方法必须开辟栈,把main()方法,压入到栈底。
6、开始执行main方法中的代码块,次时:静态方法、变量之间可以互相调用。
7、此时 静态方法已经存在,但是对象没有创建出来,非静态方法和变量是和实例对象绑定在一起的,所以静态方法不能访问。
8、对象在new的一瞬间才调用构造方法进行对成员变量初始化,对象在调用完成后就成为垃圾等待回收
9、对象已死,事情干完了,main()方法出栈,程序结束。
10.但是jvm内存中方法区中存放的.clss文件、静态方法、变量都一直存活着!于孤魂野鬼一般游走于方法区中,直到JVM关闭,才得以转世投胎
*/
Change q = new Change();
q.name = "zhangsan";
q.age = 12;
System.out.println(q.name);
System.out.println(q.age);
//类变量 静态常量
System.out.println(salary);
System.out.println(index_head);
// 调用add方法
q.add();
}
public void add(){
//在非静态方法中可以直接调用实例变量
name = "lisi";
System.out.println(name);
}
}
结果:
zhangsan
12
1.0E9
AAAA
lisi
注:命名规范:
常量:全部大写
类成员变量、局部变量、方法名:首字母小写,后面的单词驼峰命名
类名:首字母大写+驼峰原则
5.运算符
+、-、*、/、%:加、减、乘、除、取余
<、>、>=、<=、!=
&&、||、!:与、或、非
++、--:自增自减
public class Math {
public static void main(String[] args) {
System.out.println("===========自增 自减============");
// 自增 自减
int x =1;
int y =1;
int z = x++;// ++在后 执行完当前行再进行自增
System.out.println(z); //z = 1
System.out.println(x); //x = 2
int h = ++y;// ++在前 先进行自增再执行当前行
System.out.println(h); //h = 2
System.out.println(y); //x = 2
System.out.println("===========短路运算============");
int a =1;
int c =1 ;
//短路运算
Boolean b = (a>0) && (++a>1);
System.out.println(b);
System.out.println(a); //a=2 a>0为true 执行后面的++a
Boolean d = (c<0) && (++c>1);
System.out.println(d);
System.out.println(c); //c=1 a<0为false 后面的++a不执行(短路)
System.out.println("===========位运算============");
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 与:每一位进行比较 都为1则为1 否则为0
A|B = 0011 1101 或:每一位进行比较 都为0则为0 否则为1
A^B = 0011 0001 异或:每一位进行比较 两位相同则为0 不同则为1
~B = 1111 0010 取反
<< :左移
>> :右移
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
2<<3 = 16
1<<3 = 8
1<<2 = 4
*/
System.out.println(1<<3);
System.out.println(8>>2);
System.out.println("===========字符串拼接============");
//字符串拼接
int A1 = 10 ;
int A2 = 20 ;
System.out.println(""+A1+A2); //结果 1020 结果变为字符串拼接 “”不在最后面
System.out.println(A1+A2+""); //结果 30 结果为A1+A2 “”在最后面
System.out.println(A1+""+A2); //结果 1020 结果变为字符串拼接 “”不在最后面
System.out.println("===========三元运算符============");
// X ? Y : Z 如果x为真,则结果为y;如果为假,则结果为z
int ff = 1;
String str = (ff<0)?"女":"男";
System.out.println(str);
}
}
结果:
===========自增 自减============
1
2
2
2
===========短路运算============
true
2
false
1
===========位运算============
8
2
===========字符串拼接============
1020
30
1020
===========三元运算符============
男