1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 一篇文章让你从JAVA零基础入门`OOP`编程12.19

一篇文章让你从JAVA零基础入门`OOP`编程12.19

时间:2019-12-19 16:01:46

相关推荐

一篇文章让你从JAVA零基础入门`OOP`编程12.19

一篇文章让你从JAVA零基础入门OOP编程

前言:

此文为玄子,复习ACCP-S1课程后,整理的文章,文中对知识点的解释仅为个人理解。

配套PPT,站点源码,等学习资料

一、预科

1.1 JAVA 介绍

Java 是 Sun Microsystems 于1995年推出的高级编程语言

1.1.1 JAVA 之父

詹姆斯·高斯林(James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。

1.1.2 JAVA 的核心优势

跨平台是 Java 语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖 IT 各行业的“第一大语言”,是计算机界的“英语”。

1.1.3 JAVA 各版本的含义

​ JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用

​ JavaEE(Java Enterprise Edition):企业版,定位在服务器端的应用

​ JavaME(Java Micro Edition):微型版,定位在消费性电子产品的应用上

1.1.4 JAVA 运行机制

计算机高级语言的类型主要有编译型和解释型两种,而Java 语言是两种类型的结合。

1.1.4 JVM、JRE 和 JDK

​ Java Virtual Machine (JVM) :用于执行字节码的”虚拟计算机”。不同的操作系统有不同版本 JVM,屏蔽了底层运行平台的差别,是实现跨平台的核心。

​ Java Runtime Environment (JRE) 包含:Java 虚拟机、库函数等。

​ Java Development Kit (JDK)包含:JRE,编译器和调试器等。

1.2 JAVA 开发环境搭建

1.2.1 下载 JDK

ORACLE官网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aw1jo8JR-1671433284001)(./assets/1.2.1%20%E4%B8%8B%E8%BD%BD%20JDKORACLE%E5%AE%98%E7%BD%91.png)]

下滑找到 Windows x64 安装程序,后的链接下载安装包。

1.2.2 安装 JDK

安装图中指引一直下一步就可以了

!!!中间可以更改安装位置,但不建议更改,为了方便后期配置环境变量。

1.2.3 配置环境变量

右键此电脑属性

高级系统设置

点击右下角环境变量

新建环境变量

变量名:

JAVA_HOME

变量值:java JDK 安装路径

默认为:

C:\Program Files\Java\jdk1.8.0_341

设置完成后点击确定

再次点击新建

变量名:

CLASSPATH

变量值:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

!!!变量值是固定的,注意开头为英文字符点

下滑找到Path双击变量值进入设置

然后点击右上角新建,值为 JDK 安装的bin目录

默认为:

C:\Program Files\Java\jdk1.8.0_341\bin

!!!请注意这个值和 JAVA_HOME 是不一样的,要进入到bin目录的路径后在复制

然后继续添加两条变量

变量固定分别为:

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

这里直接点击编辑本文,在变量尾部一次添加完效果是一样的

变量值:

C:\Program Files\Java\jdk1.8.0_341\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1.2.4 检验环境变量

键盘按下Win + R输入cmd后按回车

在窗体输入:

Java -version

!!!java 后面有一个空格

显示 java version “1.8.0_341” 即为环境变量配置成功

后面的 1.8.0_341 就是所安装 java 的 JDK 版本

恭喜你!到这里 JDK 的下载、安装、配置环境变量就已经全部完成了

1.3 编写第一个 JAVA 程序

1.3.1 编写 JAVA 代码

在桌面上右键新建文本文档

将新建的文本文档更名为ChangeTheWorld

如果你新建的文本文档没有显示.txt后缀的话需要在文件资源管理器中设置显示

鼠标双击打开文本文档输入以下代码

public class ChangeTheWorld {public static void main(String[] args) {System.out.println("Change The World!");}}

class 后面的代码要和文件名一致

!!!全文都是在英文输入法下编写

1.3.2 执行 JAVA 程序

将文件名后缀修改为.java例如:ChangeTheWorld.java

将修改后的 Java 文件复制到任意磁盘根目录

点击文件地址栏输入cmd回车

分别输入javacjava代码执行编译,下面显示的Change The World即为我们编写的 Java 输出语句所输出的代码

javac ChangeTheWorld.java

java ChangeTheWorld

javac 后面跟文件全名,需要带.java后缀

java 后直接写文件名即可

到这里你已经可以独立编写,编译 Java 代码了,后面我们会在学习一些计算基础知识。

1.4 电脑常用快捷键

熟练的使用电脑快捷键,可以让我们的工作效率事半功倍。

1.5 DOS 命令

1.5.1 打开 CMD 的方法

开始 > 系统 > 命令提示符

按下 Win + R 输入 cmd 打开控制台(推荐使用)

在任意的文件夹下面,按住 Shift + 鼠标右键点击,在此处打开命令行窗口

资源管理器的地址栏前面加上 cmd 路径

管理员方式运行:选择以管理员方式运行

1.5.2 常用 DOS 命令

1.6 计算机语言发展史

1.6.1 一代语言

机器语言

我们都知道计算机的基本计算方式都是基于二进制的方式。

二进制:010111001010110010110100

这种代码是直接输入给计算机使用的,不经过任何的转换!

1.6.2 二代语言

汇编语言

解决人类无法读懂机器语言的问题

指令代替二进制

目前应用:

逆向工程机器人病毒

1.6.3 三代语言

高级语言

大体上分为:面向过程面向对象两大类。

C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言。

各种语言:

C

C++

JAVA

C#

Python

先有的C语言,经改良后为C++面向对象语言,再有JAVAC#是微软基于JAVA研发的.NET平台软件

1.7 安装 JAVA 开发工具

1.7.1 Intellij IDEA 开发工具

Intellij IDEA 是目前主流的Java 开发工具,但是由于版权原因这里不过多介绍。

Intellij IDEA官网

1.7.2 初始化设置 IDEA .3

工欲善其事比先利其器,Idea 有许多使用的插件和设置,可以让我们更加舒服的编写代码。

汉化,分别点击左上角 fill > Settings

按照下图点击 Plugins 搜索Chinese下载汉化包后点击右下角 Apply 应用安装

还有一些实用插件分享,从上到下分别是:代码规范,UI美化,汉化包,快捷键提示,彩虹括号,代码补全提示。

以及保存代码时自动格式化代码。

二、JAVA 基础

2.1 使用 IDEA 编写 JAVA 程序

2.1.1 Change The World

package CH01_JAVABase;//Change The World!public class XZ01_ChangeTheWorld {public static void main(String[] args) {System.out.println("Change The World!");//Change The World!}}

public class XZ01_ChangeTheWorld {}// public 关键字// XZ01_ChangeTheWorld 类名与文件名要完全一样

public static void main(String[] args) {}// main( )方法四要素必不可少 public static void main// main( )方法是 Java 程序执行的入口点

System.out.println("Change The World!");// 从控制台输出信息

2.2 注释

注释不会出现在字节码文件中,即Java 编译器编译时会跳过注释语句。

2.2.1 单行注释

单行注释使用//开头。

2.2.2 多行注释

多行注释以/*开头以*/结尾。注意,多行注释不能嵌套使用。

2.2.3 文档注释

文档注释以/**开头以*/结尾,注释中包含一些说明性的文字及一些 JavaDoc 标签(后期写项目时,可以生成项目的API)

2.2.4 演示案例

package CH01_JAVABase;//注释/*** XZ04_Annotate 类(我是文档注释)** @author 玄子 (作者)* @version 1.0 (版本)*/public class XZ04_Annotate {//我是单行注释public static void main(String[] args) {System.out.println("Change The World!");/*System.out.println("Change The World!");System.out.println("我是多行注释!");*/}}

JavaDoc命令是用来生成自己API文档的

JavaAPI帮助文档

Java8API帮助文档

2.3 基本数据类型

Java 数据类型分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。

2.3.1 整型

package CH01_JAVABase;//八大数据类型public class XZ02_DataType {public static void main(String[] args) {int num1 = 1;byte num2 = 1;short num3 = 1;long num4 = 1L;// long 的数值后面需要加大写字母 L//整型}}

2.3.2 浮点型

package CH01_JAVABase;//八大数据类型public class XZ02_DataType {public static void main(String[] args) {double num5 = 1.1;float num6 = 1.2F;// float 的数值后面需要加大写字母 F//浮点型}}

2.3.3 字符型

package CH01_JAVABase;//八大数据类型public class XZ02_DataType {public static void main(String[] args) {char ch = 'a';char ch = '玄';//单字符}}

字符型在内存中占 2 个字节,在 Java 中使用单引号来表示字符常量。例如'A'是一

个字符,它与"A"是不同的,"A"表示含有一个字符的字符串。

char 类型用来表示在 Unicode 编码表中的字符。Unicode 编码被设计用来处理各种

语言的文字,它占 2 个字节,可允许有 65536 个字符。

2.3.4 布尔型

package CH01_JAVABase;//八大数据类型public class XZ02_DataType {public static void main(String[] args) {boolean is = false;boolean is = true;// 只有两个结果 true false//布尔型}}

2.4 数据类型转换

八种基本数据类型,除了boolean 类型之外的七种类型是可以自动转化的。

自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如图下所

示,的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oenBdUMZ-1671433284002)(./assets/2.4%20%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2-1.jpg)]

2.4.1 隐式类型转换(自动类型转换)

可以将整型常量直接赋值给byte、short、char 等类型变量,而不需要进行强制类

型转换,只要不超出其表数范围即可。

package CH01_JAVABase;//数据类型转换public class XZ03_TypeConversion {public static void main(String[] args) {int a = 1;double b = a;System.out.println(b);// b = 1.0//隐式数据类型转换,自动转换}}

2.4.2 显示类型转换(强制类型转换)

package CH01_JAVABase;//数据类型转换public class XZ03_TypeConversion {public static void main(String[] args) {double c = 1.2;int d = (int) c;System.out.println(d);// d = 1//显式数据类型转换转换变量前加 (转换类型)}}

2.4.3 数据类型转换拓展

package CH01_JAVABase;//数据类型转换public class XZ03_TypeConversion {public static void main(String[] args) {char e = 'a';int f = e + 1;System.out.println((int) e);// 97System.out.println(f);// 98System.out.println((char) f);// b}}

注意点:

不能对布尔值进行转换不能把对象类型转换为不相干的类型在把高容量转换到低容量的时候,强制转换转换的时候可能存在内存溢出,或者精度问题!这里的数据类型转换就证明了 char 类型的值本质上还是数字。ASCII编码表

2.5 变量

2.5.1 变量介绍

package CH01_JAVABase;//变量public class XZ05_Variable {static String str = "XuanZi"; //类变量//成员变量int age; //默认值 0String Sex = "男"; //默认值nullboolean IsNull; //默认值falsepublic static void main(String[] args) {//局部变量int value = 1;String name = "玄子";//创建类的对象调用方法XZ05_Variable variable = new XZ05_Variable();System.out.println(name);//输出局部变量variable.set();//调用类方法System.out.println(variable.IsNull);//实例变量需要创建对象后才能调用System.out.println(str);//类变量可直接调用}public void set() {String conn = "XuanZiShare"; //局部变量System.out.println(age);System.out.println(Sex);System.out.println(conn);}}

变量(variable): 变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定Java 是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都必须以分号结束

2.5.2 类变量具有默认值,所以声明时可不对其赋值:

2.5.3 变量的分类和作用域:

变量有三种类型:局部变量、成员变量(实例变量)和静态变量(类变量)

2.6 常量

package CH01_JAVABase;//常量public class XZ06_Constant {// final 数据类型 常量名 = 值;public static final double PI = 3.14;// public static 修饰符,不存在先后顺序public static void main(String[] args) {System.out.println(PI);}}

常量(Constant): 初始化(initialization)后不能再改变值!不会变动的值。所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。常量名一般使用大写字符。

2.7 运算符

计算机的基本用途就是执行数学运算,Java 提供了一套丰富的运算符来操作变量。

2.7.1 一元运算符

int num1 = 1;double num2 = 2.5;System.out.println(num1+num2);// 1// mum1 + 1 上一句输出后才+1 2// 1 + mum1 下一句输出前就+1 3System.out.println(num2 % num1); //0.5// + - * / %// 加 减 乘 除 余

加、减 、乘、除。与正常数学运算用法一致,余(%)在 Java 中表示求余数 例如2.5 % 1的余数就是0.5。如果两个数都为int型的话,余数会舍去尾数,取整数。

2.7.2 二元运算符

int num1 = 1;System.out.println(num1++);// ++ 写在变量后面等于 mum1 + 1 输出后才 +1 = 2System.out.println(++num1);// ++ 写在变量前面等于 1 + mum1 输出前就 +1 = 2 + 1 = 3System.out.println(num1 + 1); // 4// 二元运算符,是改变,变量实际值进行运算,值会随着运算而改变// ++ --// 自增 自减

2.7.3 赋值运算符

int num1 = 1;System.out.println(num1);// =// 赋值

2.7.4 扩展运算符

int a = 10;int b = 20;System.out.println(a += b); // a = a + b = 10 + 20 = 30System.out.println(a); // 30//和二元运算符一样,运算时,是改变自身实际值运算// += -= *= /= %// 加等 减等 乘等 除等 余等

2.7.5 关系运算符

int num1 = 1;double num2 = 2.5;System.out.println(num1 <= num2); // 结果是布尔型 true 或 false// ><>= <= !===// 大于 小于 大于等于 小于等于 不等于 等等于

2.7.6 逻辑运算符

int num1 = 1;double num2 = 2.5;System.out.println(num1 > num2 || num2 > num1);//两个条件一个为真就返回true//如果第一个条件就为假直接返回 false,不再判断第二个条件System.out.println(num1 > num2 && num2 > num1);//两个条件均为真才返回 trueSystem.out.println(!(num1 > num2 && num2 > num1));//判断结果取反// 结果是布尔型 true 或 false// && || !// 与 或 非

2.7.7 位辑运运算符

char A = 'A';char B = 'B';System.out.println("A:" + (int) A);System.out.println("B:" + (int) B);System.out.println(A ^ B);// -------二进制---------// A = 0011 1100// B = 0000 1101// --------判断--------// A&B = 0000 1100 不同为0相同为1// A|B = 0011 1101 有1即为1// A^B = 0011 0001 相同为0不同为1// ~B = 1111 0010 1为0 0为1System.out.println(2 << 3);// -------二进制---------// 0000 0000 0// 0000 0001 1// 0000 0010 2// 0000 0011 3// 0000 0100 4// 0000 1000 8// 0001 0000 16// & | ^ ~ << >>// 与 或 非 异或(按位取反) 左移(*) 右移(/)

2.7.8 条件运算符

int score = 60;String type = score >= 60 ? "及格" : "不及格";System.out.println(type);//? :// 布尔 ? 条件1 : 条件2// 如果布尔结果为 true 那么结果为条件1,否则结果为条件2

2.7.9 字符串连接符

System.out.println("" + 10 + 20); // 1020 System.out.println(10 + 20 + ""); // 30// String写在前后的区别System.out.println("" + (10 + 20)); // 30// ()加强运算优先级

2.7.10 算术方法

System.out.println("Math.pow(2, 3) = " + Math.pow(2, 3));// 2的三次方 8.0 System.out.println("Math.pow(3, 2) = " + Math.pow(3, 2));// 3的二次方 9.0// Math.方法

2.8 转义符

2.8.1 println( ) 和 print( ) 的区别

System.out.println("Change The World!");// 打印完引号中的信息后会自动换行

System.out.println("Change The World!");// 打印输出信息后不会自动换行

2.8.2 转义符 \n \t

package CH01_JAVABase;//转义符public class XZ08_EscapeCharacter {public static void main(String[] args) {System.out.println("人生若只如初见,何事秋风悲画扇。");System.out.println("============================");System.out.print("人生若只如初见,");//这里的输 print 加上ln同样表示换行System.out.println("何事秋风悲画扇。");System.out.println("============================");System.out.println("人生若只如初见,\n何事秋风悲画扇。");System.out.println("============================");System.out.println("人生若只如初见,\t何事秋风悲画扇。");//\n 换行//\t 占位符}}

2.8.3 常用转义符表

2.9 命名规范 关键字

package CH01_JAVABase;//命名规范public class XZ09_NamingSpecification {public static void main(String[] args) {// Java 所有的组成部分都需要名字。// 类名、变量名以及方法名都被称为标识符。String name;int num;double value;boolean is;//尽量使用英语单词作为标识符//常用命名法String studentName = "玄子";//驼峰命名法:以小写字母开头,第二个及以后单词首字母大写String StudentName = "玄子";//帕斯卡命名法:以大写字母开头,第二个及以后单词首字母大写}}

2.9.1 JAVA 常用关键字:

2.9.2 识符命名规范:

所有标识符应具有实际意义,尽量不要使用 a、b 这样的无意义命名所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合不能使用关键字作为变量名或方法名识符是大小写敏感的合法标识符举例:age、$salary、_value、_1_value非法标识符举例:123abc、-salary、#abc可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

2.9.3 常用命名法:

所有变量、方法、类名:见名知意,具有实际意义类成员变量:驼峰命名法:studentName局部变量:驼峰命名法:studentAge常量:以大写字母命名,下划线拼接:MAX_VALUE类名:帕斯卡命名法:StudentName方法名:帕斯卡命名法:StudentAge( )所有方法都带有( )

2.10 包机制

package CH01_JAVABase;//包机制public class XZ10_PackageMechanism {public static void main(String[] args) {// 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。// 包语句的语法格式为:// package pkg1[. pkg2[. pkg3...]];// 一般利用公司域名倒置作为包名;com.XuanZiShare.www// 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。// 使用“import”语句可完成此功能// import package1[.package2...].(classname|*);// *通配符 所有}}

三、流程控制语句

玄子:12月19日

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。