Dos命令
打开CMD的方式
-
开始+系统+命令提示符
-
Win键+R 输入CMD打开控制台(推荐使用)
-
在桌面的任意位置,按住Shift键+右键点击,在此处打开power shell
-
资源管理器的地址栏前面加上 cmd空格
管理员身份运行:方法1)右键选择以管理员身份运行
常用的Dos命令
注意不能在CMD中使用Ctrl+C/D,粘贴是右键
#盘符切换 所需的盘名加冒号 eg: D:(注意切英文输入法) #查看当前目录下的所有文件 dir #切换目录 cd(change dirctory) 假设从C盘切到D盘 cd /c(当前) D:(目标路径eg D:...) 返回上一级 cd.. 进入目标文件 cd 目标路径 #清理屏幕 cls(clear screen) #退出终端 exit #查看电脑的IP ipconfig #打开应用工具,输入名称 (eg calc计算器 notepad记事本 mspaint画图) #ping 命令 --得到网站的IP地址 eg: ping www.baidu.com #文件操作(注意和cd的配合使用) md 目录名(创建目录) rd 目录名(删除目录) cd> 文件名(创建文件) del 文件名(删除文件)
Java 帝国
杂项
三高问题
高可用、高性能、高并发
特点
Write Once Run Anywhere
三大版本
JavaSE:标准版(桌面程序、控制台开发)
JavaME:嵌入式开发(手机、小家电)
JavaEE:E企业级开发(WEB端、服务器开发)
JDK
Java开发者工具,包括JRE、JVM
JRE
Java运行时环境,包含JVM
JVM
Java虚拟机
环境配置
卸载JDK
-
删除Java的安装目录
-
删除JAVA_HOME(环境变量)
-
删除PATH下关于Java的路径
-
通过CMD下的java_version查看是否卸载成功
安装JDK
-
百度搜索JDK8,找到下载地址
-
同意协议
-
下载到电脑的对应版本
-
双击安装JDK
-
记住安装的路径
-
配置环境变量
-
我的电脑->右键->属性
-
环境变量->JAVA_HOME
-
配置path变量
-
-
测试JDK是否安装成功
-
打开cmd
-
java_version
-
Java安装目录
-
bin目录--内含可执行程序
-
include目录--存放C/C++的头文件
-
jre目录--Java运行环境
-
lib目录--Java的类库文件
-
src.zip--存放资源文件,Java类源代码
Hello world !
-
随便新建一个文件夹,存放代码
-
新建一个Java文件
-
文件后缀名为.java
-
Hello.java
-
[注意点]系统可能没有显示文件后缀名,我们需要手动打开
-
-
编写代码
public class Hello { //类+名字 public static void main (String[] args){ //修饰符关键字+main(方法)--主方法(参数) System.out.print("Hello World !"); } }
-
编译javac java文件,会生成一个class文件
-
运行class文件,java class文件
可能会遇到的情况
-
每个单词的大小写不能出现问题,Java是大小写敏感的
-
尽量使用英文,即使是字符串有些系统也会报错
-
文件名
和类名
必须保持一致,并且首字母大写 -
符号使用英文的
Java的基础语法
注释
//单行注释 /* 多行注释 多行注释 */ //JavaDoc: 文档注释 /** */ /** * @Description HelloWorld * @Author Harry_king */
标识符
public class/*类名*/ HelloWorld { public static void main/*方法名*/(String[] args) { String king /*变量名*/= "Harry"; System.out.println("Hello World !"); } }
-
标识符只能以字母、 _下划线或者$美元符号开头
-
首字母之后可以是字母、数字、下划线、美元符号的任
-
组合Java的标识符是大小写敏感的
-
可以变量名用中文命名,类名亦可以但是不建议(不规范)
数据类型
Java属于一门强类型(定义)语言
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用->安全性高、也导致速度降低
基本数据类型
-
数值
-
整数类型
-
byte(1)-128~127
-
short(2)-32768~32767
-
int(4) 10位
-
long(8) 19位
-
-
浮点类型
-
float(4)
-
double(8)
-
-
字符类型
-
char(2)
-
-
-
boolean类型:占1位(其他的单位都是字节 )
其值只有true和false两个
public class HelloWorld { public static void main (String[] args) { //八大基本数据类型 //整数 /*范围--Ctrl点击查看 Integer Byte*/ int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 40L; //Long类型要在数字后面加个L //小数:浮点数 float num5 = 50.0F; //Float类型要在数字后面加个F double num6 = 3.14; //字符 char name = 'A'; char country = '中'; //字符串 String name_ = "Harryking"; //布尔值:是非 boolean flag = true; boolean book = false; } }
引用数据类型
reference type
类
接口
数组
字节
-
位(bit):计算机内部数据储存的最小单位, b
-
字节(byte):计算机中数据处理的基本单位,B
-
字符:计算机中使用的数字、字母、字和符号
换算关系
-
1B = 8b
-
1KB = 1024B
-
**之后的M、G、TB...都是按1024进位
32位和64位操作系统的差别
-
主要是寻址能力的差别
-
64位对32位兼容
-
32--4G;64--128G
拓展
整数拓展
public class HelloWorld { public static void main (String[] args) { //整数拓展:进制 int i = 0b10;//二进制0b int i2 = 10;//十进制 int i3 = 010;//八进制0 int i4 = 0x10;//十六进制0x System.out.println(i);//2 System.out.println(i2);//10 System.out.println(i3);//8 System.out.println(i4);//16 } }
浮点数拓展
public class HelloWorld { public static void main (String[] args) { //浮点数拓展:银行业务 //浮点数特点--有限位数、离散、存在舍入误差、大约、接近但不等于 /* 最好避免完全使用浮点数进行比较·importance */ //1 float f = 0.1f; double d = 1.0 / 10; System.out.println(f == d);// false //2 float f1 = 2323232323f; float f2 = f1 + 1; System.out.println(f1 == f2);// true //综合以上 //银行业务使用--数学工具类BigDecimal } }
字符类拓展
public class HelloWorld { public static void main (String[] args) { //字符拓展:所有字符的本质还是数字 char c1 = 'A'; char c2 = '中'; System.out.println(c1); //A System.out.println((int)c1);//65 //(强制类型转换) System.out.println(c2); //中 System.out.println((int)c2);//20013 //编码 Unicode 表:(97 = a,65 = A) //能表示0 ~ 65536+(2^16+) U0000 ~ UFFFF char c3 = '\u0061'; System.out.println(c3); //转义字符 System.out.println("Hello\tworld"); // \t制表符 System.out.println("Hello\nworld"); // \n换行符 } }
彩蛋
public class HelloWorld { public static void main (String[] args) { //彩蛋 -- 有关于对象和内存分析 String sa = new String("Hello World"); String sb = new String("Hello World"); System.out.println(sa == sb); String sc = "Hello World"; String sd = "Hello World"; System.out.println(sc == sd); } }
布尔值拓展
public class HelloWorld { public static void main (String[] args) { //布尔值拓展 boolean flag = true; if (flag == true) {} //新手 if (flag) {} //老手 //Less is More! 代码要精简易读 } }
类型转换
优先级:
(低) byte,short,char -> int -> long -> float -> double (高)
浮点数的优先级均大于整数
public class HelloWorld { public static void main (String[] args) { int i = 128; byte b = (byte)i; double d = i; //高-->低 强制类型转换 (类型)变量名 //低-->高 自动类型转换 System.out.println(i); System.out.println(b);//-128内存溢出 System.out.println(d); //精度问题 System.out.println((int)23.7); //23 System.out.println((int)-45.89f);//-45 char c = 'a'; int d = c + 1; System.out.println(d); System.out.println((char)d); } }
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为完全不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者是精度问题!
public class HelloWorld { public static void main (String[] args) { //操作比较大数的时候。注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; System.out.println(money); int year = 20; int total = money * year; //-1474836480计算的时候溢出了 System.out.println(total); long total2 = money *year; //默认是int,转换之前已经存在问题了 System.out.println(total2); long total3 = (long)money * year; //先把一个数转换为long System.out.println(total3); //long数后的L尽量大写,养成好习惯,避免错误 } }