JAVA基础总结
第一章数据类型和运算符
1. JDK的安装,环境变量的配置
JDK包含的内容
- JDK(开发工具包),包含:JAVA开发工具,JRE
- JRE(JAVA运行环境),包含:API(JAVA类库)+JVM
- JVM(JAVA虚拟机),加载 .class 文件,并运行 .class,其中不同平台的JVM不一样,但是编译规则一样
环境变量的配置
- 添加系统环境变量:JAVA_HOME,指向jdk的安装路径
- path值添加:%JAVA_HOME%/bin(指向jdk下的bin目录)
- 验证成功:打开运行窗口输入cmd进入dos界面
输入:java -version 是否输出内容
javac 是否成功
开发程序的三步骤:
编写——编译——运行
使用idea开发程序
注解:
单行注释://
多行注释:/* */
文档注释:/ ** */
2.虚拟机和跨平台的原理
3.变量
a) 什么是变量?
就是数据储存空间的表示,可以理解为存储数据的容器
b)变量的命名规则
变量的命名要符合表示符的语法要求(在java中,标识符就是用来为常量,变量,类方法,接口和包名)
- 由 字母,数字,“_"下划线或"$"(美元符)组成
- 首字母不能是数字
- 不能是Java中的关键字命名:「Java中53个关键字的意义及使用方法」
- 严格区分大小写,命名时要注意
5.要见名知意,使用驼峰命名规则(可以时中午,但不建议)
4.数据类型
基本数据类型
1.数值型:
整型:
byte 1个字节8位(-128-127)
short 2个字节16位(-215~215-1)
int 4字节32位(-231~-231-1)
long 8个字节64位(-263~263-1)
浮点型:
float 4字节32位(-2128~2128~1)
double 8个字节64位(-2^1024~21024-1)
字符
char 2个字节16位(0-65535)
布尔值
boolean 1个字节8位(true或false)
应用数据类型:string 数组 接口 类。。。
整型的直接量:int
浮点型的直接量:double
5.常量
在整个程序中数据的值不可改变
- 用final修饰
2.常量名通常都是大写
3.不同字母用下划线隔开
4.只能被赋值一次,通常定义时就对其初始化
6.Scanner的使用
作用:获取键盘输入的信息
1.导入Scanner类
import Java.util.*(通配符)
import java.util.Scanner
2、创建Scanner对象
Scanner scan = new Scanner(System.in);
3、获取键盘输入的数据
int number = scan.nextInt();String str =scan.next();
7.类型转换
自动类型转换:从小类型到大类型
强制类型转换: 从大类型到小类型(强行转换时注意内存溢出或精度丢失)
整数的直接量可以赋给 byte short char,但不能超出它们对应的范围
8.运算符
1.赋值运算符 =
用于给变量赋值复合赋值运算符主要包括:+=,-=,*=,/=,%=
int i= 5;int j = 15;i = i+j;
//可以用i+=j;
short s1 = 10;s1 = s1+10;(编译错误10为int类型,s1为short类型,int类型大于short类型,所以需要强转)
s1+=10//正确,可以自动强转,所以这样写更便于程序编译处理,性能也更好。
2.算数运算符
算术运算符包括:+ - * / % ++ --
/ 除法运算(如果两个数都是整数,结果也是整数,会舍弃小数部分,没有四舍五入,有一个数是浮点数,将进行自动类型转换,结果也是浮点数,保留小数部分)
举例:5/2=2;-5/2=-2;5.0/2=2.5;
% 取模运算
即取余运算)可以用来判断奇偶数偶数%20;奇数%21;
++自增
运算不管++在前还是在后,变量本身都加1++在前,整个表达式加1++在后,整个表达式的值不遍举例 int i =10; int newNum =10*i++; int i = 10;int newNum = 10*(++i);
-- 自减运算与自曾相同
3.关系运算符
== != > < >= <=
- 关系运算符的结果为boolean类型
-
< >= <= 只支持数值类型的数据比较
== != 支持所有类型数据的比较,包括数值类型,布尔类型,引用类型
4.逻辑运算符
- 逻辑运算符用于对两个布尔类型操作数进行运算,其结果还是boolean类型
- && 短路与,两边操作数都是true,结果为true
- || 短路或,两边只要有一个为true,结果为true
- ! 非,操作数为true,结果则是false,操作数为false,结果则是true
- & 逻辑与,两边操作数都是true,结果为true | 逻辑或,两边只要有一个为true,结果为true
- ^ 逻辑异或,两个操作数相同,结果为false,两个操作数不同,结果为true
&与&&的区别: - &&左侧操作数为false时,则将不会计算其右侧的表达式,也就是短路
- &,无论任何情况,&两侧的表达式都会参与计算
5.条件运算符(三元运算|三目运算)
语法结构:条件?表达式1:表达式2
条件是boolean类型的值 条件为true-->表达式1 条件为false-->表达式2
第二章:选择结构
1.if选择结构
1.基本if
if(判断条件成立){
//执行的代码块
}
2.if...else....
if(判断条件成立){
//条件成立要执行的代码
}else{
//判断的条件不成立要执行的代码
}
3.多重if
if(判断条件1){
//条件1成立要执行的代码块1;
}else if(判断条件2){
//条件2成立要执行语句;
}else if(判断条件3){
//条件3成立要执行语句;
}else{
//以上条件都不符合要执行的代码
}
4.嵌套if
f(外层判断条件){
if(内层判断条件){
}
}else{
if( 内层判断条件){
}
}
2.switch选择结构
switch语句主要用于精确的值进行判断
switch(要判断的属性){
case 值1:
//值1成立时要执行的代码;
break;(防止case的穿透性)
case 值2:
//值2成立时要执行的代码;
break;(防止case的穿透性)
default;
//以上条件都不成立时要执行的语句;
}
第三章:循环结构
**循环结构: **用来控制一个操作的重复执行,也就是反复执行一段相同的代码
while循环结构
do-while循环结构
for循环结构
循环三要素
1、循环变量的初始化
2、循环的条件(以循环变量为基础)
3、循环变量的改变(向着循环的结束变
1、while循环结构
语法:
while ( 循环条件 ) { //循环条件:布尔类型,结果为真,执行循环体,否则退出循环循环操作
//反复执行的代码块
}
2、do~while循环结构
语法:
do {
//循环操作
}while ( 循环条件 );
先执行一遍循环操作,分号不可少,符合条件,循环继续执行;否则,循环退出do while特点是条件无论是否满足,循环体至少被执行一次。
3、for循环结构
语法:
for(初始化表达式1;循环条件表达式;循环后的操作表达式){
//执行语句;
}
for循环的执行顺序
4、双重for循环
for(初始化表达式1;循环条件表达式1;循环后的操作表达式1){//外层循环
for(初始化表达式2;循环条件表达式2;循环后的操作表达式2){//内层循环
//执行语句;
}
}外层循环执行一次内层循环就全部循环完毕
5、break和continue关键词
break
结束最近的循环结构
continue
结束本次循环,继续下次循环
第四章:数组
1、概念:同一种类型数据的集合,其实数组就是一个容器
2、数组基本要素:
标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,下标从0开始,数组中的每个元素都可以通过下标访问,数组的长度是固定的元素类型:数组中存放的数据类型,所有数据类型是一致的
3、数组的好处:可以给存储进来的元素自动进行编号,下标从0开始,方便操作这些数据。
4、数组的定义
声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间
格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
int [] arr,声明了一个int类型的数组变量,变量名为arr
int 表明该数组里面只能存储int类型的数据
[] :这是一个数组类型
arr:变量名
new int[5]; 创建了一个长度为5的int类型数组对象
new是创建对象的关键词
格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,......};
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
注意:给数组分配空间时,必须指定数组能够存储的元素个数来确定数组大小。
创建数组之后不能修改数组的大小。可以使用length 属性获取数组的大小。遍历数组
数组元素根据类型不同,有不同的初始值
int 为 0
double 为 0.0
引用类型 为 null
5.数组的初始化
初始化方式1:不使用运算符new
int[] arr = { 1, 2, 3, 4, 5 };
int[] arr2 = new int[] { 1, 2, 3, 4, 5 };
初始化方式2:
int[] arr3=new int[3];
arr3[0]=1;
arr3[1]=5;
arr3[2]=6;
如果数组初始化中不使用运算符new。
需要注意:下列写法是错误的。i
nt[] arr;arr={1,2,3,4,5};
此时初始化数组,必须将声明,创建,初始化都放在一条语句中个,分开会产生语法错误。
所以只能如下写:
int[] arr={1,2,3,4,5};
6.遍历数组
数组中有一个属性可以获取到数组中元素的个数,也就是数组的长度. 数组名.length
public static void main(String[] args) {
int[] x = { 1, 2, 3 };
for (int y = 0; y < x.length; y++) {
System.out.println(x[y]);
}
}

浙公网安备 33010602011771号