目录
一.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会目的为了保护数据。
溢出底层原理:
- 表达式的自动类型提升
表达式的自动类型转换:在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。
注意事项:
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,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不能大范围类型赋值给小范围类型,因此这个非常实用。
- 关系运算符与三元运算符
关系运算符:>、<、>=、<=、= =(等于)、!=(不等于)
注意:关系运算成立返回值为布尔类型的true,不成立返回false,在C语言里面返回的是0和1
三元运算符:?:
三元运算符的格式:条件表达式?值1:值2;
- 逻辑运算符
逻辑运算符:&(逻辑与)、|(逻辑或)、!(逻辑非)、^(逻辑异或)、&&(短路与)、||(短路或)
逻辑与:多个条件都成立的话就返回true,否则返回false
逻辑或:多个条件只要有一个成立就返回true,否则返回false
逻辑非:假(false)变真(true),真(true)变假(false)
逻辑异或:前后条件返回值如果都是true则返回false,如果是前后有一个false和一个true则返回true。
短路与:如果前一个条件已经为false(假)则不执行后一个条件直接返回false。
短路或:如果前一个条件已经为true(真)则不执行后一个条件直接返回true。
注意:
“逻辑与”和“逻辑或”与“短路与”和“短路或”的区别如下:
“逻辑与”和“短路与”区别:逻辑与前后条件都要执行,而短路与则是如果前一个条件为false那么不执行后一个条件。
“逻辑或”和“短路或”区别:逻辑或前后条件都要执行,而短路或则是如果前一个条件为true那么不执行后一个条件。