目录:一、Java 概述
1. Java体系
2. 常用的DOS命令
3. JDK、JRE、跨平台、Java平台
4. Java代码的编写执行过程
5. 注释
6. 关键字、标识符
7. Java中的数据类型
8. Java中的常量
二、变量和运算符
1. 变量和计算机存储单元
2. 数据类型和常量
3. 数据类型转换
4. 运算符 和 优先级
三、引用数据类型、流程控制语句 和 数组
1. 引用数据类型
2. 流程控制语句
3. 数组
四、方法
1. 引入
2. 语法格式
3. 方法调用
4. 注意事项
5. 方法重载
6. 可变参数列表
一、Java 概述
1. Java体系
java是一个体系,包含:java语言运行在各种平台上的虚拟机class字节码文件格式java api(jdk中提供的api),类库商业的或者三方优秀开源类库

Java体系
2. 常用的DOS命令

常用的DOS命令
3. JDK、JRE、跨平台、Java平台
JDK:它是Java开发运行环境,在程序员的电脑上当然要安装JDK;JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE:Java Runtime Environment它是Java运行环境,如果你不需要开发只需要运行Java程序,那么你可以安装JREJRE = JVM + JavaSE标准类库
JDK 包含 JRE 包含 JVM跨平台特性平台指的是操作系统 (Windows,Linux,Mac)。Java程序可以在任意操作系统上运行,一次编写到处运行实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
为什么可以跨平台?因为JAVA程序运行依赖虚拟机,而针对不同操作系统有不同版本的虚拟机Java语言是跨平台的,Java虚拟机不是跨平台的
Java平台Java SE (桌面程序)标准版Java EE (Web程序)企业版Java ME(移动设备)微型版 -- Android,IOS兴起后就很少使用了
4. Java代码的编写执行过程
源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
为什么要编译?JAVA程序是由虚拟机运行的,我们所写的代码虚拟机不认识,我们要把自己写的代码翻译成虚拟机所认识的语言
运行:最后使用解释器来运行字节码文件。

Java代码的编写执行过程
5. 注释
定义:用来解释和说明程序的文字,注释是不会被执行的
分类:
单行注释: //注释内容
多行注释: /*注释内容*/
文档注释: /**注释内容*/
注意:对于单行和多行注释,被注释的文字,不会被JVM解释执行对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档单行注释可以嵌套使用,多行注释不能嵌套使用
6. 关键字、标识符
关键字定义:是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,int,double均为Java已经预设好的
特点:字母全部小写, 注意String不是关键字
注意事项:goto 与 const 是Java中的保留字,即没有赋予特殊含义却仍被Java占用的单词
标识符定义:就是给类,接口,方法,变量等起名字时使用的字符序列
组成规则(只能包含下面的内容,不能有其它内容):英文大小写字母数字字符$和_
注意事项:数字不能开头不可以使用关键字严格区分大小写,不限制长度起名时,尽量达到见名知意
标识符中常见的命名规则(这些规定是不受语法约束的):
包名:多单词组成时所有字母均小写,使用.连接,域名反写 aaa.bbb.ccc
类名&接口名:大驼峰式 Aaa AaaBbbCcc
变量名&方法名:小驼峰式 aaa aaaBbbCcc
常量名:多单词组成是所有字母均大写,使用_连接 AAA_BBB_CCC
7. Java中的数据类型
为什么有数据类型?
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型Java中数据类型的分类
基本数据类型: 基本数据类型是Java语言中内置的类型,分别是整数类型、小数类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。
引用数据类型: 是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。
基本类型:类 接口 数组 枚举
8. Java中的常量
定义:常量就是不变的数据量, 在程序执行的过程中其值不可以发生改变整形常量默认是
int类型在Java中,定义
长整形数据如果值超过int取值范围后面要+L,否则是错误的小数常量默认是
double类型D后缀为double,F后缀为float
定义float类型的数据后面要 + f ,否则默认是double
常量分类:
整数类型十进制表示方式:正常数字。 如 13、25等二进制表示方式:以 0b(0B) 开头。 如0b1011 、0B1001十六进制表示方式:以 0x(0X) 开头。 数字以0-9及A-F组成 如0x23A2、0xa、0x10八进制表示方式:以 0 开头。 如01、07、0721
小数类型:如1.0、-3.15、3.168等
布尔类型:true、false ,注意严格区分大小写
字符类型:如 'a','A', '0', '家'字符必须使用 '' 包裹,并且其中只能且仅能包含一个字符
字符串类型:字符串String类型是一种引用类型,我们先了解作为常量类型的使用方式如 "我爱Java","0123","","null"字符串必须使用 "" 包裹,任意长度在计算机内,有符号数有3种表示法:
原码、反码和补码。所有数据的运算都是采用
补码 进行的
原码: +8: 0 000 1000 -8: 1 000 1000就是二进制定点表示法,即最高位为符号位,0表示正,1表示负,其余位表示数值的大小。
反码: +8: 0 000 1000 -8: 1111 0111正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码: +8: 0 000 1000 -8: 1111 1000正数的补码与其原码相同;负数的补码是在其反码的末位加 1
二、变量和运算符
1. 变量和计算机存储单元
变量是内存中装载数据的小盒子,你只能用它来存数据和取数据变量名是标识符,这说明只要是合法的标识符都可以用来做变量名。
变量使用的注意事项变量定义后可以不赋值,使用时再赋值。不赋值不能使用变量使用时有作用域的限制。(局部变量和全局变量)变量不可以重复定义
计算机存储单元计算机中储存和运算的最小单位:一个字节,也就是1个字节(byte)
常用储存单位1B(字节) = 8bit(比特位) 1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
2. 数据类型和常量
四类八种byte: 1个字节 : -128~127 (数据表示范围)
short: 2个字节: -32768~32767
int: 4个字节: -2147483648~2147483648
long: 8个字节: -2^63~2^63-1
float: 4个字节: -3.403E38~3.403E38
double: 8个字节: -1.798E308~1.798E308
char: 2个字节: 表示一个字符,如('a','A','0','家')
boolean: 1个字节: 只有两个值true与false变量必须要有明确的类型,什么类型的变量装载什么类型的数据数据类型范围从小到大排序:byte < char < short < int < long < float < double,
布尔类型boolean不能参与类型转换
3. 数据类型转换
自动类型转换:表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:范围大的数据类型 变量 = 范围小的数据类型值;
默认转换:byte、short、char —> int —> long —> float —> double
byte、short、char 相互之间不转换,他们参与运算首先转换为
int类型强制类型转换:表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
强制类型转换格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
4. 运算符 和 优先级
算数运算符
+ - * / % ++ --
+: 正号、加、连接字符串
++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
注意事项:加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。除法当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。% 为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。整数做被除数,0不能做除数,否则报错。小数做被除数,整除 0 结果为
Infinity,对 0 取模结果为
NaN赋值运算符
+= -= *= /= %=
+=, -=, *=, /=这样的赋值运算符包含了一个
强制转换 的操作,会将左右两边运算后的结果,强制类型转换后赋值给左边注意:赋值运算符左边必须是变量
int n = 10;
byte by = 20;
by += n; // 运算完毕后,by的值为byte类型30, 相当于代码 by = (byte)(by + n);比较运算符
== != < > =
结果只能是true 和 false字符间的比较,比较的是其 ASCII 值浮点数 与 整数 比较,只要值相等,就返回 true
逻辑运算符
&与-----false&true-----False|或-----false|true-----True^异或-----true^flase-----True!非-----!true-----Flase&&短路与-----false&&true-----False||短路或-----false||true-----True&& : 又叫短路运算符,A&&B,如果A为假,不会去计算B的值,直接得到结果为 false
& : A & B,即使A为假,也会计算B的值。
|| : 也是短路运算符,A || B,如果A为真,不会去计算B的值,直接得到结果为 true
| : A | B,即使A为真,也会计算 B 的值。
异或^ : 左右两边条件结果相同,结果就为false,左右两边条件结果不同,结果就为true;
三目运算符
语法:布尔表达式 ? 表达式1 : 表达式2当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值
运算符优先级
优先级 描述 运算符 1 括号 ()、[] 2 正负号 +、- 3 自增自减,非 ++、--、! 4 乘除,取余 *、/、% 5 加减 +、- 6 移位运算 、>>> 7 大小关系 >、>=、>=
位运算符

位运算符位运算是直接对
二进制 进行运算在位运算中,操作数必须是
整型位异或运算符的特点:一个数据对另一个数据位异或两次,该数本身不变。任何数和自身异或,结果为0任何数和0异或,结果为本身
> 右移一位,相当于除以2: 3 >> 1 = 1 --> 3/2=13 >>> 1 = 1 --> 3/2=1
同样的运算,位运算的效率高于算术运算三、引用数据类型、流程控制语句 和 数组
1. 引用数据类型
引用数据类型的变量定义及赋值格式:数据类型 变量名 = new 数据类型();调用该类型实例的功能:变量名.方法名();
Scanner类:
导包:import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:
int i = sc.nextInt(); //用来接收控制台录入的数字
String s = sc.next(); //用来接收控制台录入的字符串随机数类Random方法简介public int nextInt(int maxValue) //产生 [0,maxValue) 范围的随机整数,包含0,不包含maxValue;
public double nextDouble() //产生 [0,1) 范围的随机小数,包含0.0,不包含1.0。Random使用方式:
import导包:import java.util.Random
创建实例格式:Random 变量名 = new Random();
赋值:a = 变量名.nextInt(maxValue);
2. 流程控制语句
1. if
2. if...else...
3. if...else if...else...
4. while
5. for
6. do...while...
7. switch case default break
//case 穿透性:如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式break语句
作用:跳出所在的循环体
使用方式无法单独使用,必须将break关键字置于
switch 或
循环语句 中
运行规律不需要判断任何条件,只要遇到break变直接跳出执行后续代码。会完全跳出选择或者循环结构只能跳出
最近的 代码块,不能跨越多级代码块
标记当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环则需要对外层循环添加标记
使用方式:在外层循环外的某行前边使用,后边跟有冒号:的标识符,即定义完毕。使用时当在内层循环使用
break 或
continue 时后边紧跟之前定义的标号即可
itcast: for (i = 1; i