Java语言是美国Sun公司在1995年推出的计算机语言 。
Java之父:詹姆斯·高斯林
2009年,Sun公司被甲骨文公司收购。
Java语言跨平台原理Java程序是运行在Java虚拟机上的,所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。
JRE和JDKJVM:Java虚拟机
JRE:Java运行环境,包含了JVM和Java的核心类库
JDK:Java开发工具,包含了JRE和开发工具
Java基础语法 注释注释是对代码的解释和说明文字,可以提高程序的可读性。
单行注释
// 这是单行注释文字
多行注释
注意:多行注释不能嵌套使用。
文档注释。文档注释以 结束
关键字被java语言赋予了特殊含义的单词。
关键字的特点:-
全小写
-
编译器会有特殊的颜色显示
在程序运行过程中,其值不可以发生改变的量。
数据类型 计算机存储单元计算机存储设备的最小信息单元叫“位 (bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
Java中的数据类型基本数据类型:
| 数据类型 | 关键字 | 内存占用 |
|---|---|---|
| 整数类型 | byte | 1 |
| short | 2 | |
| int | 4 | |
| long | 8 | |
| 浮点类型 | float | 4 |
| double | 8 | |
| 字符类型 | char | 2 |
| 布尔类型 | boolean | 1 |
在程序运行过程中,其值可以发生改变的量。
使用变量时的注意事项-
在同一对花括号中,变量名不能重复。
-
变量在使用之前,必须初始化(赋值)。
-
定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太 大可能超出int范围。
-
定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是 double, double的取值范围是大于float的,类型不兼容。
标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
Java中标识符的组成规则:
-
由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
-
不能使用java中的关键字作为标识符。
-
标识符对大小写敏感(区分大小写)。
Java中标识符的命名约定:
-
小驼峰式命名:变量名、方法名
首字母小写,从第二个单词开始每个单词的首字母大写。
-
大驼峰式命名:类名
每个单词的首字母都大写。
另外,标识符的命名最好可以做到见名知意
类型转换在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。
自动类型转换: 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。
强制类型转换: 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
运算符 算术运算符| 符号 | 作用 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余 |
char类型参与算术运算,使用的是计算机底层对应的十进制数值。
'a' -- 97
'A' -- 65
'0' -- 48
算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
等级顺序:byte,short,char --> int --> long --> float --> double
字符串的“+”操作当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。当连续进行“+”操作时,从左到右逐个执 行。
赋值运算符| 符号 | 作用 |
|---|---|
| = | 赋值 |
| += | 加后赋值 |
| -= | 减后赋值 |
| *= | 乘后赋值 |
| /= | 除后赋值 |
| %= | 取余后赋值 |
注意: 扩展的赋值运算符隐含了强制类型转换。
自增自减运算符| 符号 | 作用 | 说明 |
|---|---|---|
| ++ | 自增 | 变量的值加1 |
| -- | 自减 | 变量的值减1 |
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。
参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。
关系运算符| 符号 | 说明 |
|---|---|
| == | a==b,判断a和b的值是否相等,成立为true,不成立为false |
| != | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
| > | a>b,判断a是否大于b,成立为true,不成立为false |
| >= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
| < | a |
| <= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
| 符号 | 作用 | 说明 |
|---|---|---|
| & | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
| ^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
| ! | 逻辑非 | !a,结果和a的结果正好相反 |
| 符号 | 作用 | 说明 |
|---|---|---|
| && | 短路与 | 作用和&相同,但是有短路效果 |
| || | 短路或 | 作用和|相同,但是有短路效果 |
三元运算符语法格式:
关系表达式 ? 表达式1 : 表达式2;
如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
数据输入通过 Scanner 类来获取用户的输入。
流程控制语句 流程控制语句分类-
顺序结构
-
分支结构(if, switch)
-
循环结构(for, while, do…while)
按照代码的先后顺序,依次执行
分支结构之if语句if语句格式1
格式:
if (关系表达式) {
语句体;
}
if语句格式2
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
if语句格式3
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}


