第42节:Java知识点回顾复习
Java介绍
Java
是一门面向对象的程序设计的编程语言,在1995
年,sun
公司发布了Java
这门编程语言,有咖啡的名称,是当时灵机一动的想法。在2010
年的时候被Oracle
公司收购了,目前jdk
的版本是java10
了。
那么什么是jdk
呢?学习java
必须要有jdk
,那么我们现在去下载吧!根据下方给的自己就可以找到了。
下载地址
下载jdk,和eclipse就比较简单了,提供JDK 9 地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
提供JDK 8 地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在Java
这门语言是世界上很热门的一种,在java
中有它自己的一种重要工具,为jvm
为java
的虚拟机。java
实现平台的无关性就是由它jvm
的帮忙,这个工具是实现在各种平台上运行的关键。
java
的编程过程是由最初的源文件(xxx.java
),源文件在到编译器里去执行,然后产生出字节码文件(xxx.class
),字节码文件在到解释器中去执行,就可以在显示器上展示效果了。其中解释器是由java
中的虚拟机去执行完成的,将字节码文件解释到具体的平台上即可,实现一次编译,到处运行的结果。
在java
中有jre
的工具,为java
运行时环境,包含java
虚拟机,和java
核心类库,支持的一些文件等。
如果要运行我们的
java
程序,就要下载jre
,在java
中,我们要重点了解,学习,并且掌握jdk,jre,jvm
;如果你下载了jdk
,那么你就有了jre,jvm
,因为下载的jdk
包含了jre,jvm
。记得你们老师也叫你们下载了jdk
,那么它就有了jre,jvm
,这一点你们放心。
Java SE Java
标准版
Java EE Java
企业版
Java ME Java
微型版
讲述JDK的配置
JDK
包安装完成后,需要配置环境变量。点击桌面上的“我的电脑”或者“此电脑”
,选择“属性”
,接着选择“高级”,点击其中的“环境变量”弹出“环境变量”
对话框,其中包含“用户变量”和“系统变量”两部分。
设置系统“变量名”为“JAVA_HOME"
,”变量值”为“C:\ProgramFiles\Java\jre1.8.0_112"
,即是JDK
安装路径,你也可以将地址栏中的路径直接复制过来。
再次选择”系统变量"
列表中找到其"Path"
(双击)–>”编辑”,弹出”编辑系统变量"
,点击新建;
然后,单击”系统变量"
下面的“新建"
按钮,创建名为”classpath“
的环境变量,值为”."
,英文的一点,代表当前路径。
环境变量:
JAVA_HOME:
D:\Java\jdk1.8.0_25
CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
Java语言概述
JDK
JDK
(Java
开发工具包),有jdk
其中有javac
为编译器,是将源程序(xxx.java
)编译成字节码的(xxx.class),然后通过java
指令编译成(.class)程序的结果。
Java
语言 描述
javaee
企业版
javase
标准版
javame
小型版
学习Java
基础课程,学会使用eclipse
,eclipse
为Java
集成开发坏境IDE
,创建第一个Java
源文件代码:
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world");
}
}
// 注解
HelloWorld
为类的名字
public static void main(String[] args)
为主方法
System.out.println("hello world")
为打印输出,并在控制台显示 hello world
public
为访问修饰符,表示公开的访问类
在运行的平台上:
Java为面向对象的语法
什么是面向对象?
答:在Java
中一切皆对象;可以理解为现实世界中的人,物,都可以看做为对象。
在一个Java
的类中,该类可以为对象,那么类就是一个对象,一个对象就如人,它有方法和属性,即为动作和状态的特征。
//建立一个人的类
public class Person{
String name; //人具有姓名的属性
String age; //人具有年龄的属性
public void eat(){
System.out.println("人具有吃的方法");
}
}
重点:
java
的必备要点,掌握,jdk,jre,jvm
。jre包含jvm和javase的标准类库
;jdk包含jre和开发工具集
,java
有很多版,如java se
,java ee
,java me
哦~
下载ecplise
下载eclipse
链接(官网):
https://www.eclipse.org/downloads/
接下来我们进入到这个链接:
https://www.eclipse.org/downloads/eclipse-packages/
变量的定义
什么是变量,即为可以变化的量,示例
int age = 12;
其中 int
为变量的数据类型,表示整数
age
为变量
“=”
为赋值操作符,把右边的值赋值给左边的变量
public class Person{
int age = 12;
public static void main(String[] args){
System.out.println(age);
}
}
在java
中我们要学的很多,但是都很一般啦,java
本身就是语言,跟学习语言差不多。我们要掌握java
中的一些:标识符,关键字,变量,常量,数据类型等。
介绍八种基本变量的类型
数据类型分为基本数据类型和引用数据类型(类,class,接口,interface,数组
)
基本数据类型分数值型,字符型,布尔类型
八种基本数据类型
整型 4种:byte(8位),short(16位),int(32位),long(64位)
字符型 1种:char(16位)
浮点型 2种:float(32位),double(64位)
布尔型 1种:boolean(1位)(true,false)
java
表示整数的为八进制,十进制,十六进制
特殊表达:
八进制: 以0开头
十六进制: 0x或0X开头
转义字符
\uxxxx 四位16进制数所表示的字符
\' 单引号字符
\" 双引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\t 横向跳格
\b 退格
标识符的命名:
标识符数字不能开头,标识符中不能有空格
标识符由字母,数字,下划线,美元符号组成
标识符严格区分大小写
标识符不能使关键字或者保留字
标识符是标识符,关键字是关键字,不能混为一谈
关键字
保留字: goto
关键字有很多:
abstract,char,else,for,interface,private,super,boolean,class,extends,if,long,
protected,switch,true,break,continue,false,implements,instanceof,public,synchronized,try,
byte,default,final,import,new,return,this,void,case,do,finally,null,short,throw,
volatile,catch,double,float,int,package,static,throws,while等。
变量的命名:
驼峰法命名,单个单词全小写,多个单词第一个单词小写,后面单词首个字母大写。
需要见名知意。
满足不是其他的名称。
强制类型转换和自动类型转换
数据类型的转换
类型转换为自动类型转换和强制类型转换
数据类型的理解:规则口诀
小到大自动,大到小强制,表示小杯子里的水可以倒入大杯子里,而大杯子里的水倒入小杯子里,会出现溢出。
/ 转换的数据类型比较 /
byte->short(char)->int->long->float->double
Final修饰符
final修饰的,为不可变得值,
final可以修饰变量,修饰类,修饰方法。
被修饰的变量,只能被赋值一次
被修饰的类,不能被继承
被修饰的方法,不可被重写
Static
关键字的理解
static
代码块,只会在类加载的时候执行一次。static变量不需要创建对象就可以引用。- 静态成员变量可以通过对象访问,只要访问权限足够就可以。
- 静态代码块,随着类的加载而执行,只执行一次。
运算符
算术运算符
赋值运算符
复合赋值运算符
自增自减运算符
// 等统统要掌握
// 运算符的优先级
// 算术运算符 关系运算符 逻辑运算符
算数操作符
一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符。
这里的操作算法,一定要掌握 好强制类型转换和自动类型转换。
if条件结构
if(条件){
<语句块>
}
if-else
if(条件为true){
<语句块>
}
else{
<语句块>
}
三目运算符
布尔表达式?表达式1:表达式2
多重if
if(score >=90) {
System.out.println("优");
}
if (score>=80 & score<90){
System.out.println("良");
}
if(score >=60 & score<80){
System.out.println("中");
}
if (score <60){
System.out.println("不及格");
}
switch语句格式:
switch (mon) {
case 1:
case 2:
case 3:
System.out.println(mon + "月是春天");
break;
case 4:
case 5:
case 6:
System.out.println(mon + "月是夏天");
break;
case 7:
case 8:
case 9:
System.out.println(mon + "月是秋天");
break;
case 10:
case 11:
case 12:
System.out.println(mon + "月是冬天");
break;
default:
System.out.println("一年有12个月");
}
while和do-while循环语句
while
为true
时,继续执行;do-while
中条件为true
时,继续执行,至少会执行一次。
for
语句格式:
for(int i=0;i<10;i++){
表达式语句;
}
continue
和break
continue
为继续下一次循环
break
为结束整个循环
数组:相同类型的数据集合为引用数据类型
数据类型[] 数组名;
数据类型 数组名[];
数组名 = new 数据类型[数组长度];
数据类型[] 数组名= new 数据类型[数组长度];
//这种就是排序算法,比如有6个人,第一轮要进行5次比较
//第一轮
for(int index=1;index<arr.length;index++)
{
if(arr[0]>arr[index])
{
int temp = arr[0];
arr[0] = arr[index];
arr[index] = temp;
}
}
print(arr);
//第二轮
for(int index=2;index<arr.length;index++)
{
if(arr[1]>arr[index])
{
int temp = arr[1];
arr[1] = arr[index];
arr[index] = temp;
}
}
print(arr);
//第三轮
for(int index=3;index<arr.length;index++)
{
if(arr[2]>arr[index])
{
int temp = arr[2];
arr[2] = arr[index];
arr[index] = temp;
}
}
print(arr);
//第四轮
for(int index=4;index<arr.length;index++)
{
if(arr[3]>arr[index])
{
int temp = arr[3];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);
//第五轮
for(int index=5;index<arr.length;index++)
{
if(arr[4]>arr[index])
{
int temp = arr[4];
arr[3] = arr[index];
arr[index] = temp;
}
}
print(arr);
//第六轮没有,我们arr.length=6举例
//int index = 6;index<arr.length; false
public static void selectionSort(int[] arr)
{
for(int count=1;count<arr.length;count++)
{
for(int index=count;index<arr.length;index++)
{
if(arr[count-1]>arr[index])
{
int temp = arr[count-1];
arr[count-1] = arr[index];
arr[index] = temp;
}
}
}
方法
方法声明格式:
访问修饰符 返回类型 方法名(参数列表){
方法体
}
面向对象
万物皆对象,现实中存在的事物都可以看成一个对象,单一职责原则,就是一个类只有一个引起功能变化的原因,一个类中,功能越多就容易耦合性高,复用性就变低,一旦耦合度高,就可能会影响整个程序的运行。
面向对象的三大特征: 继承,封装,多态。
封装,实现对信息的隐藏,只能通过特定的方法进行访问,隐藏对象的信息,留出接口进行访问。
static
static+属性 静态属性 类属性
static+方法 静态方法 类方法
static+方法内局部変量
static+代码块
第二十节:详细讲解String和StringBuffer和StringBuilder的使用
第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符
第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
第32节:Java中-构造函数,静态方法,继承,封装,多态,包
往后余生,唯独有你
简书作者:达叔小生
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: https://www.jianshu.com/u/c785ece603d1
结语
- 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
- 小礼物走一走 or 点赞