Windowns
打开CMD的方式
- 开始+系统+命令提示符
- Win+R 输入cmd 打开控制台 (推荐使用)
- 在任意的文件夹下面,按住shift键+鼠标右键点击,在些处打开命令行窗口
- 资源管理器的地址栏前面加上cmd路径
管理员方式支行: 选择以管理员方式运行
常用的DOS命令
#盘符切换
#查看当前目录下的所有文件 dir
#切换目录 cd /d 切换盘符 例 cd /d e:
#cd.. 切回到上一级目录
#清理屏幕
cls
#退出终端
exit
#查看IP
ipconfig
#创建文件夹
md joe
#创建文件
cd> a.txt
#删除文件夹
rd joe
#删除文件
del a.txt
Java帝国的诞生
1972年C诞生
- 贴近硬件,运行极快,效率极高
- 操作系统,编译器,数据库,网络系统等
- 指针各内存管理
1982年C++诞生
- 面向对象
- 兼容C
- 图形领域、游戏等
Java言语
- 语法有点像C
- 没有指针
- 没有内存管理
- 真正的可移植性,编写一次,到处运行
- 面向对象
- 类型安全
- 高质量的类库
Jvm
-
抽象层 Jvm (Java虚拟机)
-
使Java可夸平台运行
Java初生
-
1995年的网页简单而粗糙,缺乏互动性。
-
图形界面的程序(Applet)
-
Bill Gates说:这是迄今为止设计的最好的语言!
1997年?
-
Java 2 标准版(J2SE):去占领桌面 (失败)
-
Java 2 移动版(J2ME):去占领手机(失败)
-
Java 2 企业版(J2EE):去占领服务器
-
大量的巨头加入
(三高:高可用, 高性能,高并发)
Java发展
他们基于Java开发了巨多的平台,系统,工具
-
构建工具:Ant,Maven,Jekins
-
应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
-
Web开发:Struts,Spring,Hibernate,myBatis
-
开发工具:Eclipse,Netbean,intellij idea,Jbuilder
-
…
-
2006:Hadoop (大数据领域)
-
2008:Android (手机端)
Java特性各优势
- 简单性
- 面向对象
- 可移植性
- 高性能
- 分布式
- 动态性
- 多线程
- 安全性
- 健壮性
JDK、JRE、JVM
- JDK :Java Development Kit (Java开发者工具)
- JRE:Java Runtime Environment (Java运行环境)
- JVM:JAVA Virtual Machine (Java虚拟机)
卸载JDK
-
删除Java的安装目录
-
删除JAVA_HOME
-
删除path下关于Java的目录
-
cmd java -version
安装JDK
-
双击安装JDK
-
记住安装的路径
-
配置环境变量
-
我的电脑–>右键–>属性
-
环境变量–>JAVA_HOME
-
配置path变量
-
测试JDK是否安装成功
-
打开cmd
-
java -version
-
第一个程序
新建一个java后缀名的文件
-
编写代号
public class HelloWorld{ public static void main(String[] args){ System.out.print("Hello,World"); } }
-
编译代号
用 javac 命令 java文件
-
测试代吗
在编译完成的文件夹下,cmd 运行 java HelloWorld
可能会遇到的问题
-
区分大小写(Java大小写敏感)
-
尽量使用英文
-
文件名 和 类名必须保证一致,并且首字母大写
-
符号不能使用中文
Java基础语法
注释
标识符
- 所有的标识符都应该以字母(A-Z 或者 a-z ),美元符($),或者下划线( _ )开始
- 大小写敏感
String Ahello = "zhichuliao";
String aello = "zhichuliao";
String $ello = "zhichuliao";
String _hello = "zhichuliao";
数据类型
-
强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
-
Java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
浮点类型=小数
public class Demo2 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 =20;
short num3 = 30;
long num4 = 30L; //Long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F; //float类型要在数字后面加个F
double num6 = 3.1415926535;
//字符
char name = '中';
//字符串,String
//String namea = "中国";
// 布尔值:是非
boolean flag = true;
//boolean flag = false;
八大基本数据类型
例:
public class zhichuliao {
public static void main(String[] args) {
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
float e = 5.1F;
double f =6.1;
char g = '中';
boolean h = false;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
}
}
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低--------------------------------------------------------------->高
byte,short,chat—> int—> long—>float—>double (小数优先级会高于整数)
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
强制类型转换
-
自动类型转换
变量
- 变量是什么:就是可以变化的量!
- Java是一种强类型语言,每个变量都 必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varNAME [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。
- 注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量作用域
- 类变量
- 实例变量
- 局部变量
public class VARIABLE{
static int allClicks = 0; //类变量
String str = "hello world"; //实例变量
public coid method(){
int i = 0; //局部变量
}
}
类变量需要加一个static 来定义
实例变量跟类变量差不多,但是没有static
局部变量在方法里面的
运算符
- Java语言支持如下运算符:
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符 =
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,∧,~,>>,<<,>>>(了解!!!)
- 条件运算符? :
- 扩展赋值运算符:+=,-=,*=,/=
% (模)取余数
!= 不等于
逻辑运算符:
System.out.println("a && b:"+(a && b)); //逻辑与运算:两个变量都为真,结果才会为true
System.out.println("a || b:"+(a || b)); //逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println("! (a && b):"+!(a && b)); //如果是真,则变为假,如果是假则变为真
包机制
-
为了更好地组织类,Java提供了包机制,用于区另类名的命名空间。
-
包语句的语法格式为:
package pkg1[. pkg2[.pkg3...]];
-
一般利用公司域名倒置作为包名:www.baidu.com 一般会倒置命名:com.baidu.www
-
为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用“import”语句可完成此功能
import package1[.package2...].(classname|*);
阿里巴巴开发手册(这个网上查看一下)
Java Doc
- javadoc命令是用来生成自己API文档的
-
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
Doc状态下可以使用下面命令生成 Java帮助文档
javadoc -encoding UTF-8 -charset UTF-8 代码名称.java
Java流程控制
甚而阶段
Scanner对象
-
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入
-
基本方法:
Scanner s = new Scanner(System.in);
-
通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。
-
next()
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入 有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- 4、next() 不能得到带有空格的字符串
-
nextLine():
- 1、以Enter为结束符,也就是说nextLine() 方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
顺序结构
- JAVA的基本结构就是顺序结构,除非特别指明,融就按照顺序一句一句执行。
- 顺序结构是最简单的算法结构。
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构(重要)
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
-
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
-
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
if双选择结构
- 现在有个需求,公司要收购一个软件,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构。
-
语法:
if(布尔表达式){ //如果布尔表达式的值为tuse }else{ //如果布尔表达的值为false }
if多选择结构
-
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B…等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!
-
语法:
if(boolean1){ //如果布尔表达式 1的值为true执行代码 }else if(boolean2){ //如果布尔表达式 2的值为true执行代码 }else if(boolean3){ //如果布尔表达式 3的值为true执行代码 }else{ //如果以上布尔表达式都不为true执行代码 }