Java基础(一)
一、Java语言概述
(ps:内容来自学习笔记)
1、Java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2、Java的三个特殊版本
- Java5.0:第一个大版本更新。
- Java8.0:企业中用的最多的版本。
- Java11.0:是最后一个长期支持版本。
- Java的版本更新特点:高版本兼容低版本,在更新的时候,其实就是往里面添加新的东西。以及优化以前的东西。
3、Java的三大分类
- JavaSE:Java语言的基础。(Java基础版)
- JavaME:用于嵌入式设备开发和小型移动设备开发。但是现在已经被Android和IOS给替代了。Android也是可以使用Java来开发的。
- JavaEE:用于服务器方面网站开发。(企业版)
4、Java跨平台的原理
- 平台:指的是操作系统
- Windows
- MacOS
- Linux
- 跨平台:指的是Java开发出来的程序,可以在任意的操作系统上运行。
- 原理:操作系统本身是不认识Java语言的。针对于不同的操作系统,Java都提供了不同版本的虚拟机。虚拟机会把操作系统看不懂的Java语言翻译成操作系统能看得懂的语言。翻译之后会产生一个class文件,也叫做字节码文件。其中,Java文件是给人看的,class文件是给计算机看的。
5、JRE、JDK、JVM的概念
- JDK:用来开发Java程序的。
- JRE:用来运行Java程序的。
- JVM:虚拟机。
- 三者的包含关系
- JDK>JRE>JVM
(ps:低版本的JDK在安装完毕之后,还会出现一个弹框,问你是否需要再额外单独安装一个JRE?不要,因为JDK里面已经有一个JRE了,所以不需要额外再安装一个新的了。)
二、Java语言的入门程序
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
三、Java基础语法
1、注释
(1)单行注释://
//单行注释
(2)段落注释:快捷键 Ctrl+Shift+/
/*段落注释
段落注释*/
(3)方法说明注释:快捷键 /** +Enter
/**
* 加法计算
* @param a
* @param b
* @return
*/
private static int jia(int a ,int b) {
int number =a+b;
System.out.println("结果:"+number);
return number;
}
}
2、关键字
- 关键字就是在Java中被赋予了特定含义的词
(1)特点
- 全部小写
- 在一些高级的编译器中,关键字都会有特殊的颜色标记。
(2)class
- 表示定义一个类。
- 后面跟随者的是这个类的名字,简称:类名。比如:HelloWorld
- 类名的后面是一对大括号,表示这个类的范围。
(ps:建议:一个Java文件中只写一个Java类。)
(3)publc
- 当public放在class前面的时候,强制要求类名和文件夹必须要保持一致。
3、常量
(1)整数常量
- 所有的整数都是整数常量。包括正数,负数,0。
比如: -1 -2 -3 0 1 2 3 100
(2) 小数常量
- 只要带小数点的,就是小数常量。
比如:1.1 -1.1 5.9
(3)字符串常量
-只要用双引号引起来的,不管里面是什么,不管里面有没有,都是字符串常量。
比如:“HelloWorld” “我” “123” " "(空格) “”(里面什么都没有)
(4)字符常量
- 需要用单引号引起来,不管里面是什么,但是个数有且只能有一个。
比如:
‘我’ — 是字符常量
‘a’ — 是字符常量
‘0’ — 是字符常量
’ '(空格) — 是字符常量
‘abc’ — 不是字符常量
‘’(里面没有东西) — 不是字符常量
(5)布尔常量
- 只有两个值:true、false。
(6) 空常量
- 只有一个值:null。
4、变量
(1)概念
- 在程序中,临时存储数据的一个容器(箱子)。就是变量。
- 变量只能存储一个值。
- 当以后想要使用箱子里面的数据时,直接使用箱子的名字即可。
(2)格式
- 数据类型 变量名 = 数据值;
(3)格式详解
- 数据类型:规定了容器中以后能存什么数据类型的数据。
- 变量名:其实就是箱子的名字。
- = :赋值,表示把右边的赋值给左边。
- 数据值:略等于常量。
- ; 分号。表示语句的结束。就跟我们写作文的时候,句号一模一样的。
(4)个人理解
- 在内存中,定义了一个容器。容器的名字为变量名。现在我要把等号右边的数据值,存放到这个容器当中。
5、数据类型
(1)数据类型分类
- 基本数据类型
四类八种:
整数类型:byte、short、int、long
浮点类型:float、double
字符类型:char
布尔类型:boolean - 引用数据类型
String来表示字符串
(2)数据类型的取值范围
- byte的取值范围:-128 ~ 127
- int的大概范围:负21亿多 ~ 21亿多
- 取值范围由大到小的关系:
double > float > long > int > short > byte (包含了整数和小数) - 四类八种在内存中所占用的字节个数:
byte : 1
short : 2
int : 4
long : 8
float : 4
double : 8
char: 2
boolean:1 (因为只有两个值,true,false。所以一般不会考虑布尔类型在内存中占用字)
(3)默认使用的数据类型
- 整数:int
- 小数:double
- 字符:char
- 布尔:boolean
- 字符串:String
(4)数据类型转换
- 取值范围从小到大的,自动类型转换,为隐式转换
例如:double a = 1; - 取值范围从大到小的,强制类型转换,为强制转换
例如:int a = (int)3.40;
6、标识符
(1)概念
- 就是在代码中起的名字。
- 包含:类名、变量名、方法名。
(2)硬性规定:
- 必须要这么去做,如果不这么去做,代码就会报错。
- 由数字、字母、下划线、美元符号$组成。
- 不能以数字开头。但是以字母,下划线,美元符号是可以开头的。
- 不能是关键字。
- 区分大小写。
(3)软性建议
- 小驼峰命名法
适用于:方法名,变量名。
如果一个单词:全部小写。比如:name,age
如果多个单词:从第二个开始,首字母大写。比如:firstName - 大驼峰命名法
适用于:类名。
如果一个单词:首字母大写。比如:Demo
如果多个单词:每一个单词首字母都要大写。比如HelloWorld - 不管在起什么名字的时候,都要做到见名知意。