C语言
1972年诞生:
-
贴近硬件,运行极快,效率极高
-
操作系统,编译器,数据库,网络系统等
-
指针和内存管理
C++
1982年诞生:
-
面向对象
-
兼容C
-
图形领域、游戏等
java
-
语法有点像C语言
-
没有指针、没有内存管理
-
真正的可移植、编译一次、到处运行
-
面向对象
-
类型安全
-
高质量类库
java 出生
1995年的网页简单而粗糙,缺乏互动性
图形界面的程序(Applet)
Bill Gates说:这是迄今为止设计的最好的语言
java 2 标准版(J2SE):去占领桌面
java 2 移动版(J2ME):去占领手机
Java 2 企业版(J2EE):去占领服务器
大量的巨头加入
java发展
构建工具:Ant、Maven、Jekins
应用服务器:Tomcat、Jetty、Jboss、Websphere 、weblogic
Web开发:Struts、Spring、Hibernate、MyBatis
开发工具:Eclipse、Netbean、intellij、idea、Jbuilder
2006:Hadoop(大数据领域)
2008:Android(手机端)
java特性和优势
-
简单性
-
面型对象
-
可移植性(跨平台)
-
高性能
-
分布式
-
动态性
-
多线程
-
安全性
-
健壮性
java三大版本
-
JavaSE:标准版(桌面程序、控制台开发)( 核心、基本,要学好JAVA需要学好JavaSE)
-
JavaME:切入式开发(手机、小家电)
-
JavaEE: E企业级开发(web端,服务器开发)
JDK、JRE、JVM
JDK:Java Development Kit
JRE:Java Runtime Environment(Java运行时环境)
JVM:JAVA Virtual Machine(java虚拟机)
JDK包含JRE、jRE包含JVM
卸载JDK
-
删除Java的安装目录
-
删除JAVA_HOME
-
删除path下关于Java的目录
-
Java_version
安装JDK
-
百度搜索JDK8,找到下载地址
-
同意协议
-
下载电脑对应的版本
-
双击安装JDK
-
记住安装的路径
-
配置环境变量
-
我的电脑-->右键-->属性
-
环境变量-->JAVA_HOME
-
配置path变量(%JAVA_HOME%\bin与%JAVA_HOME%\jre\bin)
-
-
测试JDK是否安装成功
-
打开cmd
-
java -version
-
-
建议安装:notepad++(类似记事本,但比记事本好用)
HelloWorld
-
随便新建一个文件夹,存放代码
-
新建一个java文件
-
文件后缀名为Java
-
Hellow.java
-
【注意点】系统可能没有显示文件后缀名,我们需要手动打开
-
-
编写代码
public class Hellow { public static void main(String[] agrs){
System.out.println("Hellow World"); } }
-
编译javac java文件
javac Hellow.java
可能会遇到的问题
-
每个单词的大小不能出现问题,java是大小写敏感的
-
输出尽量使用英文
-
文件名和类名必须保证一致,并且首字母大写
-
符号使用了中文
java程序运行机制
1. 编译型:执行速度快
2. 解释型:对速度要求不高
IDEA安装
IDE:集成开发环境是用于提供环境开发的
java基础语法
注释://单行注释 、/* 多行注释*/、文档注释
-
平时我们编写代码,在代码量比较少少的时候,我们可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯 BAT
-
平时写代码一定要注意规范
标识符
-
关键字
-
String 不是关键字而是一个类
-
标识符:java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
标识符注意点
-
所有标识符都应该以字母(A-Z或者a-z)、美元符号($),或者下划线(_)开始
-
首字母之后可以是字母(A-Z或者a-z)、美元符号($),或者下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符大写敏感的
-
合法标识符举例:age、$salary、_value
-
非合法标识符举例:123abc、-salary、#abc
-
可以用中文命名(但是不建议使用)
-
最好使用见名思意
-
数据类型
强类型语言:要求变量的使用要求严格符合规定,所有变量必须先定义才能使用
弱类型语言
java的数据类型分为两大类:
-
基本数据类型
-
整数类型
-
byte:占1个字节范围(-128~127)
-
short:占2个字节范围(-32768~32767)
-
int:占4个字节范围(-2147483648~2147483647)
-
long:占8个字节(-9223372036854775808~9223372036854775807)
-
-
浮点类型
-
float:占4个字节
-
double:占8个字节
-
-
字符类型:char占2个字节
-
boolean类型:占1位其值只是true和false两个
-
-
引用数据类型
-
类
-
接口
-
数组
-
什么是字节
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1Byte (字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位
1B=8bit
1024B=1KB
1024KB=1M
1024M=1G
1024G=1TG
一个面试例子
float:有限、离散、舍入误差、大约、接近不等于
例如:
float a=1234562345678;
float b = a+1;
System.out.println(a=b); //结果为true
double:最好使用浮点数进行比较
类型转换
-
由于Java是最强类型语言,所以要进行有些运算的时候,需要用到类型转换
-
低到高:byte、short、char-->int-->long-->float-->double
-
运算中,不同类型的数据先转化为相同类型,再进行计算
注意
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在溢出,或者精度问题
-
变量
变量是什么:就是可以变化的量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
注意事项:
-
每个变量都必须都有类型,类型可以是基本数据类型,也可以是引用数据类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
-
类变量:加static 就表示类变量,在方法体可以调用
-
实例变量:作用在类里,方法体里可以直接调用,从属对象,如果不自行初始化,这个类型的默认值为(0,0.0,u0000)、布尔值默认(false)、除了基本类型其他都默认(null)
-
局部变量:作用在方法体里,其他方法不能调用
常量
修饰符位置可以交换
static final double PI =3.14;
public static void main(String[] args){
System.out.println(PI);
}
变量的命名规范
-
所有变量、方法、类名、见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary(除了第一个单词小写之外,后面的单词首字母大写)
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则(run()、runRun())