Java基础语法
JRE JVM JDK三者之间的关系
JVM是java的虚拟机
JRE是Java的运行环境,包含了JVM和Java的核心类库
JDK是Java的开发工具,包含了JRE和开发工具
JDK是Java开发工具,包含了JRE(运行环境),JRE又包含了JVM(虚拟机)和核心类库,只需安装JDK
常用DOS命令(应用)
1、打开命令行窗口的方式:win + r打开运行窗口,输入cmd,回车。
2、常用命令及作用
常量
常量:在程序运行过程中,其值不可以发生改变的量。
Java中的常量分类:
字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、“abc”、"中国"等
整数常量 整数,例如:-10、0、88等
小数常量 小数,例如:-5.5、1.0、88.88等
字符常量 用单引号括起来的一个字符,例如:‘a’、‘5’、‘B’、'中’等
布尔常量 布尔值,表示真假,只有两个值true和false
空常量 一个特殊的值,空值,值为null
除空常量外,其他常量均可使用输出语句直接输出。
变量(应用)
变量的定义格式:
数据类型 变量名 = 数据值;
变量的定义
变量:在程序运行过程中,其值可以发生改变的量。
数据类型
1.整数类型:
byte :-128~127
short :-32768~32767
int (默认):-2的31次方到2的31次方-1
long :-2的63次方到2的63次方-1
2.浮点类型:
fioat :负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38
double (默认):负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308
3.字符类型:
char :0-65535
4:布尔类型:
boolean : true,false
类型转换
在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可
类型从小到大关系图:
1、整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型
2、boolean类型不能与其他基本数据类型相互转换
强制转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
运算符
**运算符:**对常量或者变量进行操作的符号
**表达式:**用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
算术运算符(应用)
注意:
-
/和%的区别:两个数据做除法,/取结果的商,%取结果的余数。
-
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
字符的“+”操作
当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行
char类型参与算术运算,使用的是计算机底层对应的十进制数值
数值拆分(应用)
自增自减运算符
注意事项:
++和-- 既可以放在变量的后边,也可以放在变量的前边。
单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。
参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。
赋值运算符(应用)
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。
扩展的赋值运算符隐含了强制类型转换。
关系运算符(应用)
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“”误写成“=”,"“是判断是否相等的关系,”="是赋值。
逻辑运算符(应用)
短路逻辑运算符
-
逻辑与&,无论左边真假,右边都要执行。
-
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
-
逻辑或|,无论左边真假,右边都要执行。
-
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
三元运算符
三元运算符语法格式:
问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
分支结构
if语句格式1
格式:
if (关系表达式) {
语句体;
}
if语句格式2
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
if语句格式3
switch语句
格式
执行流程:
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
switch语句case穿透
- 概述 : 如果switch语句中,case省略了break语句, 就会开始case穿透
For循环
格式解释:
- 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
- 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
- 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
- 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
public class ForDemo{
public static void main(string[] args){
for(int count =1;count<=5;count++){
System.out.println(“好好学习,天天向上”);
}
}
}
For求和
看到求和字样,就需要定义一个求和变量:int sum = 0;
求和变量的定义位置,必须在循环外部
int sum = 0;
for(int i=1;i<=5;i++){
sum+=i;
}System.out.println(“1-5求和的结果为”+sum);
/*求和
第一次 i =1 sum = sum+1 sum=0+1
第二次i =1 sum = sum+1 sum=0+1+2依次类推
循环语句-while循环
while循环完整格式:
初始化语句;
while (条件判断语句){
循环控制语句;
条件控制语句;
}
while循环执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
public class WhileDemo{
public static void main(String[] args){
int i=1;
while(i<=5){
System.out.println(“HelloWorld”);
i++;
}
}
}
dowhile循环
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
三种循环的区别
三种循环的区别:
- for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
- do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别: - 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
- 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
死循环(无限循环)的三种格式:
- for(;😉{}
- while(true){}
- do {} while(true);
死循环格式
for死循环格式 :
for(;😉{
}
while死循环格式 :
while(true){
}
do…while死循环格式 :
do{
}while(true);
跳转控制语句
- 跳转控制语句(break)
- 跳出循环,结束循环
- 跳转控制语句(continue)
- 跳过本次循环,继续下次循环
- 注意: continue只能在循环中进行使用!
Random产生随机数
使用步骤:
-
导入包
import java.util.Random;
-
创建对象
Random r = new Random();
-
产生随机数
int num = r.nextInt(10);
解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19