第一章JAVA入门理论及语法

目录

一.Java配置

(一)JDK的组成

(二)Path环境变量

二.Java跨平台原理

三.Java编程工具——IDEA工具使用

四.JAVA基础理论知识

(一)注释

(二)字面量

(三)变量

(四)变量的数据存储原理

(五)Java进制表示

(六)数据类型

(七)关键字和标识符

五.Java基础语法

(一)方法

(二)类型转换

(三)输入输出

(四)运算符


一.Java配置

说明:我们写好的Java程序都是高级语言,计算机底层硬件不能识别这些语言,必须先通过javac编译工具进行翻译,然后再通过.java执行工具执行才可以驱动机器干活。

(一)JDK的组成

JDK的组成有:JVM虚拟机、核心类库、java和javac

JVM(Java VirtualMachine):Java虚拟机,真正运行Java程序的地方。

核心类库:Java自己写好的程序,给程序员自己的程序调用的

JDK与JVM合称为JRE

JRE(Java Runtime Environment):java的运行环境。

(二)Path环境变量

Path环境变量的作用:Path环境变量可用于配置程序的所在路径,以方便在命令行窗口的任意目录下直接通过命令启动该程序。

3.JAVA_HOME:是用于告诉操作系统JDK安装在了哪个位置(将来其他技术要通过这个环境变量找JDK)

Path环境变量配置的方法:点击“开始”菜单-“设置”按钮-“系统”按钮-“系统信息”按钮-“高级系统设置”按钮,打开“系统属性”对话框,按“环境变量”,在打开的对话框选择“Path”,然后在打开的对话框选择“新建”,最后将复制的路径填入其中完成并确定。即可在cmd中输入应用程序的名字打开应用程序。

注意:

1.目前较新的JDK在安装时,会自动配置javac、java程序的路径到Path环境变量中

2.较老版本的JDK不会自动配置,需要手动配置

推荐:Path %JAVA HOME%\bin

二.Java跨平台原理

一次编译,处处可用

原因如图

Java语言编写基本要求:

1. 代码文件的名称,后缀必须是.java结尾。

2.代码文件的名称,必须与代码里所谓的类名称一致。

3.必须使用英文模式下的符号。

三.Java编程工具——IDEA工具使用

使用idea开发第一个Java程序的步骤:

创建工程 new Project(空工程)

创建模块 new Module

创建包 new Package

创建类

编写代码,并启动

注:psvm按tap可以补全代码,”输入内容”.sout按tap也会补全输入语句代码

四.JAVA基础理论知识

Java的功能的最小单元是:“方法”(C语言中称为函数),一个方法代表的是一个功能。

方法的格式为:public static 类型 方法名(类型 变量名,...)例如:

public static int sum(int a,int b)

例1:

方法名,在C语言中叫函数,相当于调用方法和函数

JAVA程序从main方法(函数)开始到main方法(函数)结束,因此调用从main开始。

(一)注释

JAVA注释的写法(三种):

方法一:

//代表单行注释

方法二:

/*

*/代表多行注释

方法三:

/**

*/代表了文档注释

文档注释的特点:通常主要放到类和方法(函数)上面,用于说明功能和作用

注:注释不影响程序的执行,原因是Java程序经过javac编译成class文件的时候会将注释全部清除。

重点知识:

(1).Java程序运行的不是源文件,而是class文件。

(2).在Java项目中,src代表源文件,out代表class文件。

(3).双击class文件中的指定的class执行的是“反编译过程”。

(二)字面量

字面量相当于C语言中的“常量”。Java中的常量相当于C语言里面的define。

字面量的分类:整数、小数(浮点型)、字符、字符串、布尔值(逻辑值)、空值(NULL)、特殊字符(相当于C语言的转义字符)。

注:字符和字符串字面量的格式和功能细节与C语言一样。

(三)变量

变量概念是: 变量就是内存中的一块区域,可以理解成一个盒子,用来装程序要处理的数据的。

1.变量格式

数据类型 变量名称=数据;

注意:变量名称需要遵守标识符规则,标识符规则是由:字母、数字、下划线、美元符号组成,开头不能数字开头。

2.变量特点

变量里的数据可以替换,使程序更具有流通性和实时性,方便管理代码和处理数据。

(四)变量的数据存储原理

原理:变量在内存存储是以二进制形式

数据在计算机中的最小存储单元:字节(byte,简称:B)

1.文本存储形式

文本字符以ASCLL码形式存储,在内存依旧是二进制(补码)形式存储。

2.图片存储形式

图片就是无数个像素点组成的,每个像素点的数据:用0~255*255*255表示其颜色(对应三原色)

注:三原色分别代表:红、绿、蓝

本质:图片存储是三原色对应的二进制,利用二进制来表示颜色

3.音频(声音)存储形式

声音本质是波形图,而在计算机存储就是相当于将“波形图绘制成坐标轴”,就可以达到目的。

注:图片和音频存储本质还是“二进制”存储。

(五)Java进制表示

Java程序中支持书写二进制、八进制、十六进制的数据,分别代表用0b或者0B(二进制)、0(八进制)、0x或0X(十六进制)。

(六)数据类型

Java数据类型分为:“基本数据类型”和“引用数据类型”。

1.基本数据类型

基本数据类型分为:四大类八大种

整型、浮点型、字符型、布尔型代表四大类,byte、short、int、long、float、double、char、boolean代表八大种

注:浮点型之所以比long表示的数据大是因为小数表示的机制是分为“指数和底数”,前可分为“底数”存储,后可分为“指数”(10的次方)存储。

注意:Java程序中数据类型越界会报错,整数的字面量默认的数据类型是“int” 类型,小数的字面默认的数据类型是“double”类型。

(七)关键字和标识符

关键字:Java语言自己用的一些词汇,有特殊作用的,称之为关键字。

注意:关键字是java用了的,我们就不能用来为做为自己的类名、变量名,否则会报错。

标识符:标识符是程序员自定义的名称,用于给变量、方法、类、包等命名。

标识符的规则:Java标识符可以包含字母(A-Z和a-z)、数字(0-9)、美元符号($)和下划线(_)。标识符不能以数字开头,也不能包含空格‌。
注意:标识符(名字)定义不能以数字开头,不能是关键字,不能包含一些特殊字符(&、%、#..)。

取名在行业内的规范是“变量名:建议首字母小写”,“类名:建议首字母大写”,这样的取名方式称作:“驼峰模式”。

五.Java基础语法

(一)方法

方法:主要是特定任务或操作的代码块,代表一个功能。

方法的格式:

例:

注:如果方法不需要返回数据,返回值类型必须声明成void(无返回值声明)方法内部不可以使用return返回数据。

无返回值的方法中可以直接通过单独的return;可提前结束方法。

方法重载的概念:方法可以重载一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。

方法重载只关心方法名称相同,形参列表不同(类型不同个数不同顺序不同),其他都无所谓。

(二)类型转换

1.类型转换——自动类型转换

自动类型转换的定义:类型范围小的变量,可以直接赋值给类型范围大的变量。

从小到大依次:

2类型转换——强制类型转换

强制类型转换的定义:“类型范围大”的变量, 不可以直接赋值给“类型范围小”的变量,会报错,需要强制类型转换过去。

强制类型的格式:

注意:强制类型转换可能造成数据(丢失)溢出;浮点型强转成整型,直接丢掉小数部分,留整数部分返回。并且C语言或者C++不会因为类型范围大赋值给类型小而报错,Java会目的为了保护数据。

溢出底层原理:

  1. 表达式的自动类型提升

表达式的自动类型转换:在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

注意事项:

表达式的最终结果类型由表达式中的最高类型决定。

在表达式中,byte、short、char 是直接转换成int类型参与运算的。

(三)输入输出

输出:把程序中的数据展示出来

System.out.println("Hello World!");//打印并自动换行

System.out.print("Hello World!");//打印不换行

输入:程序读取用户键盘输入的数据。

通过Java提供的 Scanner程序来实现。

APl(Application Programming Interface:应用程序编程接口)

Java写好的程序,咱们程序员可以直接拿来调用。

Java为自己写好的程序提供了相应的 程序使用说明书(API文档)。

输入语句的格式:Scanner sc=new scanner(system.in);

                例:int Score=sc.nextInt();

输出语句的格式: system.out. println(内容);

总结:

(四)运算符

1.算术运算符

算术运算符:+(加)、-(减)、*(乘)、/(除)、%(求余)

+(加)号在Java中的特殊用途:

(1).加符号在有些情况下可以做连接符

(2).加符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。

区分用途:能算则算,不能算就连接在一起。

2.自增自减运算符

自增运算符:++

自减运算符:- -

注意:自增自减在前表达式和本体都加或减1,如果是在后表达式取原本的值,再进行本体加或减1。

3.赋值运算符

赋值运算符:=、+=、-=、*=、/=、%=(除了=以外其余全部是扩展赋值运算符)

赋值运算:从右往左看。

注意:扩展赋值运算符包含了强制类型转换。在Java中是有意义的,因为Java不能大范围类型赋值给小范围类型,因此这个非常实用。

  1. 关系运算符与三元运算符

关系运算符:>、<、>=、<=、= =(等于)、!=(不等于)

注意:关系运算成立返回值为布尔类型的true,不成立返回false,在C语言里面返回的是0和1

三元运算符:?:

三元运算符的格式:条件表达式值1值2

  1. 逻辑运算符

逻辑运算符:&(逻辑与)、|(逻辑或)、!(逻辑非)、^(逻辑异或)、&&(短路与)、||(短路或)

逻辑与:多个条件都成立的话就返回true,否则返回false

逻辑或:多个条件只要有一个成立就返回true,否则返回false

逻辑非:假(false)变真(true),真(true)变假(false)

逻辑异或:前后条件返回值如果都是true则返回false,如果是前后有一个false和一个true则返回true。

短路与:如果前一个条件已经为false(假)则不执行后一个条件直接返回false。

短路或:如果前一个条件已经为true(真)则不执行后一个条件直接返回true。

注意:

“逻辑与”和“逻辑或”与“短路与”和“短路或”的区别如下:

“逻辑与”和“短路与”区别:逻辑与前后条件都要执行,而短路与则是如果前一个条件为false那么不执行后一个条件。

“逻辑或”和“短路或”区别:逻辑或前后条件都要执行,而短路或则是如果前一个条件为true那么不执行后一个条件。