Java概述
Java语言是一门跨平台、半解释半编译的面向对象语言。由1990年SUN公司推出的“Green计划”发展失败后留下的一门叫Oak语言改造而来。2009年SUN公司被Oracle收购,如今Java的更新维护都是由Oracle负责。当前Java的长期维护版有Java8、Java11和Java17三个版本。
Java中标识符的命名规则
由字母、数字、下划线和$组成;不能以数字开头;不能使用Java中的关键字。
Java中的数据类型
原始类型
- 整型:byte、short、int、long
- 浮点型:float、double
- 字符型:char
- 布尔型:boolean
程序中写出的整数默认为int类型,写出的小数默认是double类型
引用类型
- 类
- 接口
- 数组
变量
在一对大括号中,变量名不能重复。
定义变量:数据类型 变量名1,变量名2......;
//定义一个变量名为a的变量
int a;
//同时定义多个相同类型的变量
int i,j,k;
给变量赋值:变量名 = 值;
int a;
//将变量a赋值为20
a=20;
变量初始化:数据类型 变量名 = 值;
//如果在定义变量时能够确定其中保存的数据,可以在定义的同时赋值
int a = 20;
//可以同时给多个相同类型变量赋值
int i = 1, j = 2, k = 3;
运算符
算术运算符:+加、-减、*乘、/除、%取余
需要两个操作数参与,如果有浮点数参与运算,结果为浮点型
int a=12,b=20;
//加法
//如果两个操作数都是数值型的数据,+用于计算。
System.out.println(a+b);
//如果两个操作端有一端是字符串,+用于拼接。
System.out.println("输出a+b的值为"+a+b);
//除法
//两个整数相除,结果只保留整数部分
System.out.println(b/a);
//如果有浮点数参与运算,结果为小数
System.out.println(b/2.0);
优先级:先乘除,再模,再加减
关系运算符:>大于、<小于、>=大于等于、<=小于等于、!=不等于、==等于
需要两个操作数参与,计算结果为布尔型boolean:true/false
逻辑运算符:&&与、||或、!非
//与&&,符号两端需要两个表达式,若一端结果为false,则整体结果为false
System.out.println(2>1&&1>0);
//或||,符号两端需要两个表达式,若一端结果为true,则整体结果为true
System.out.println(2>1||1==0);
//非!,只有一个表达式参与运算,“!表达式”表达对原表达式取相反值
System.out.println(!true)
&&和||也称为短路运算。如果能在第一个表达式决定最终结果,则不用判断第二个表达式
位运算符:&按位与、|按位或、^按位异或、<<按位右移、>>按位左移
//按位异或。将操作数转换为二进制后进行比较,相同为0,不同为1,再将结果转为十进制
System.out.println(2^4);
- &和|,运算结果与&&和||相同,但过程不同。符号两端的表达式都会进行判断。
- >>,将第一个操作数转换为二进制后,向右移动第二个操作数对应的位数,再将结果转换为十进制。
- <<,将第一个操作数转换为二进制后,在后边补充第二个操作数对应的0,再将结果转换为十进制。
赋值运算符:=
复合运算符:+=、-=、*=、/=、%=
自增自减运算符:++、--
- 符号在前,先运算再使用;符号在后,先使用再运算
条件运算符:表达式1?表达式2:表达式3
运算符的优先级
小括号>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值/复合运算符
条件语句
if语句
在判断是否满足某个范围的条件时使用if语句更加简洁
if(判断条件1){
条件1满足时执行的代码
}else if(判断条件2){
条件2满足时执行的代码
}else{
当上面的条件都不满足时执行的代码
}
switch语句
在一个变量的值能够例举出时,使用switch语句更加简洁
switch(变量){
case 值1:
//如果变量值与值1匹配,执行这部分代码
break;
case 值2:
//如果变量值与值2匹配,执行这部分代码
break;
default:
//如果变量值与上面条件都不匹配,执行这部分代码
break;
}
switch语句可以改写为if语句,if语句不一定能改写为switch语句
循环语句
重复执行某些代码时,使用循环语句
while循环
while(循环条件){
满足条件时重复执行的代码
}
do-while循环
do{
满足条件时重复执行的代码
}while(循环条件);
while循环可能一次都不执行,do-while循环至少执行一次
for循环
for(定义循环变量;判断循环条件;更新循环变量){
循环体
}
循环控制:break、return、continue
- break是停止当前循环,继续执行此循环外的内容
- return是结束方法,不再执行return之后的内容
- continue是停止本次循环,不再执行continue之后的代码,直接进行下一次循环
一维数组
定义数组:数据类型[] 数组名;
数组定义时需要确定大小和数据类型,不可改变。
int[] a;
数组初始化:数组名=new 数据类型[数组大小];
定义数组后,如果不初始化数组,数组无法使用
int[] a;
a = new int[10];
定义数组的同时初始化:数据类型[] 数组名=new 数据类型[数组大小]
int[] a = new a[10];
赋值
//动态赋值
int[] a = new int[3];
a[0]=123;
a[1]=22;
a[2]=11;
//静态赋值
int[] b = new int[]{12,34,55};
int[] c = {11,33,21};
默认值
数组数据类型 | 默认值 |
整型 | 0 |
浮点型 | 0.0 |
引用类型 | null |
布尔型 | false |
字符型 | 空白字符 |