java
在Windows、mac、linux三个平台中,我们可以针对不同的操作系统,提供不同的 JVM ,而 JVM 可以理解成“翻译”。
2.JRE和JDK
(1)JRE是JAVA程序运行时环境,包含JVM和运行时所需要的核心类库。
也就是说想运行一个JAVA程序,只需要有JRE就可以。
(2)JDK是JAVA程序开发环境,包含JRE和开发人员使用的工具。
开发工具指编译工具和运行工具。
想开发一个新JAVA程序,必须安装JDK。
3.新建程序
(1)新建project(项目)—>module(模块)–>packge(包)–>class(类)
●project可以创建多个module
●module可以创建多个packge
●packge可以创建多个class
4.基础语法
(1)注释
①//单行注释
②/* */多行注释
(2)关键字
含义:被JAVA语言赋予了特定含义的单词
特点:全都是小写字母
(3)常量
常量类型 | 说明 | 举例 |
---|---|---|
字符串常量 | 用双引号括起来的内容 | “hello” |
字符常量 | 单引号括起来的内容 | ‘a’、’A’ |
小数常量 | 带小数的数字 | 3.1415926 |
整数常量 | 去小数的数字 | 123 |
布尔常量 | 布尔值,表示真假 | 只有两个值,true或false |
空常量 | 空值 | 值是:null |
其中只有空常量不能直接输出
(4)数据类型
数据类型 | 关键字 | 取值范围 |
---|---|---|
byte | -128~127 | |
整数 | short | -32768~32767 |
int | -2的31次方~2的31次方-1 | |
long | -2的63次方~2的63次方-1 | |
浮点数 | float | 负数:-3.402823E+38~ -1.401298E-45 正数:1.401298E-45~3.402823E+38 |
double | 负数:-1.797693E+308到-4.900000E-324 正数:4.900000E-324到1.797693E+308 | |
字符 | char | 0-65535 |
布尔 | boolean | true/false |
//E+38表示乘以10的38次方,E-45表示乘以10的负45次方
E+308和E-324同理
(5)变量
变量定义的格式:
数据类型 变量名 == 赋值;
使用float + 变量名时,变量默认为double类型,需要在赋值处加上F
使用long时,数据默认为int类型,同理,在赋值处加上L
基本数据类型: 见上表
注意事项:①long定义变量时,防止整数过大,在赋值处加上L
②变量未赋值不能使用
③float定义,防止类型不兼容,后面加F
(6)标识符
●由字母、数字、下划线或美元符组成
●不能以数字开头
●不能是关键字
●区分大小写
7类型转换
①自动类型转换:
double d = 10;
输入整数
输出显示10.0,转换为浮点数
②强制类型转换:
int d =(int)88.88
输入浮点数,直接赋给int是不可以的,加上强转后
输出88
8.算术运算符
与C语言运算相同
类型 | 作用 |
---|---|
+ | 加 |
– | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
9.逻辑运算符
(1)& 与
有false则false
(2)| 或
有true则true
(3)^ 异或
相同为false,不同为true
(4)! 非
(5)&& 短路与
(6)|| 短路或
&:无论左边真假,右边都执行;
&&:若左边为真,右边执行;左边为假,右边不执行
|:无论左边真假,右边都执行
||:左边为假,右边执行;左边为真,右边不执行
10.三元运算符
格式:
关系表达式 ? 表达式1 : 表达式2 ;
若关系表达式值为true,运算结果为表达式1的值
关系表达式结果为false,运算结果为表达式2的值
11.数据输入Scanner
步骤:
①导包 import java.util.Scanner; //必须出现在类定义的上边
②创建对象 Scanner sc =new Scanner(System.in);
③接受数据 数据类型 变量名 = sc.nextInt();
12.循环语句
①if ()
else()
②swich()
{
case1
语句1
break;
case2
语句2
break;
……
default
语句N
break;
}
③for()
三种语句和C语言相同。
13.Random
获取随机数
①导包
import java.util.Random;
②创建对象
Random r = new Random();
r是变量名,可以变
③获取随机数
int number = r.nextInt(10);
number是变量名,括号表示范围,此例表示[0~10]
14.数组
(1)数组的定义
格式一:数据类型[ ] 变量名
样例: int[ ] a
定义了一个int类型的数组,数组名是a
格式二: 数据类型 变量名[ ]
样例: int a[ ]
定义了一个int类型的变量,变量名是a[ ]数组
(2)数组初始化
动态初始化
格式:数据类型[ ] 变量名 = new 数据类型[数组长度]
范例: int[ ] a = new int[3]
静态初始化:
格式:数据类型[ ] 变量名 = new 数据类型[ ] {数据1,数据2……}
样例: int[ ] a = new int[ ] {1,2……};
简化格式: 数据类型[ ] 变量名 ={数据1,数据2……}
样例: int [ ] a ={1,2,……}
(3) 获取数组长度 length
int [ ] a = {……}
for(int i=0;i<a.length;i++){
a[i];
}
15.方法
方法的定义
public static void 方法名(){
方法体
}
方法调用
方法名();
//方法类似于C语言中的函数,但不用在调用之前声明它
方法重载
定义:指同一个类中定义的多个方法之间的关系。
重载条件:
-
多个方法在同一个类中
-
多个方法具有相同的方法名
-
多个方法的参数不同,类型不同或者数量不同
-