一、基础语法
1、关键字和保留字
关键字:
①、定义:被 Java 赋予了特殊含义,用作专门用途的字符串(单词);
②、特点:关键字中所有字母都为小写;
保留字:
①、定义:Java 保留字,现有版本暂未使用,但以后版本可能会作为关键字使用;
2、标识符
①、定义:是指在程序中,我们自己定义的内容,比如类的名字、方法的名字、和变量的名字等等;
3、变量
①、定义:在程序中可以变化的量称为变量;
是计算机内存中的一块存储空间,是存储数据的基本单元;
Java 中要求一个变量每次只能保存一个数据,必须要明确保存数据的类型;
4、数据类型
基本数据类型:4 类 8 种
布尔类型:boolean:数值只有两个:true、false
字符类型:char,2个字节(16 位)
整数类型:
byte:字节, 1 字节(8 bit)
short:短整型,2 字节;
int:整数(默认类型),4 字节;
long:长整型,8 字节;定义的时候,值后面建议加大写L;
浮点类型:
float:单精度,加 f 或 F,4 个字节;
double:双精度(默认类型),8 个字节;
5、数据类型转换
public class Type_Demo {
public static void main(String[] args) {
// 隐式数据类型转换
byte byteNum = 123;
int intNum = byteNum;
System.out.println(intNum);
char charNum = 'c';
intNum = charNum;
System.out.println(intNum);
System.out.println("-------数据类型转换-------");
// 显示数据类型转换
double doubleNum = 1.23D;
intNum = (int) doubleNum;
System.out.println(intNum);
}
}
6、运算符
一、算数运算符
+、-、*、/、%、++、--
加、减、乘、取商、取余或者取模、自增1、自减1
i++ 和 ++i 的区别:
①、变量在独立运算时,结果是没有区别的;
②、变量在参加运算时,结果就产生不同了:
i++:先参加运算,后自身加 1;
++i:先自身加 1,后参加运算;
二、赋值运算符
=:赋值,把 = 右侧的数据赋值给 = 左面的变量;
+=、-=、*=、/=、%=
a+=2 ---> a=a+2
三、比较运算符
用于比较两个数的关系,结果是 boolean 类型的;
> : 大于
>= : 大于等于
< : 小于
<= : 小于等于
== : 等于
!= : 不等于
四、逻辑运算符
操作数是 boolean 类型,结果也是 boolean 类型;
&:与操作
规则:操作数都是 true,结果才是 true;
有一个是 false,结果为 false;
一假则假,全真才真;
|:或操作
规则:操作数都是 false,结果才是 false;
有一个是 true,结果为 true;
一真则真,全假才假
^:异或,异表示不同
规则:两个操作数,相同为假,不同为真。
在程序中,常用的为:
!:取非、取反
&&:短路与
规则:短句中只要遇到一个 false,就直接返回 false,后面的不再参加计算;
|| :短路或
规则:短句中只要遇到一个 true,就直返返回结果为 true,后面的不再参加计算;
五、程序流程控制
选择结构:顺序结构、选择结构、循环结构
通过分支语句实现:if、switch
条件运算符
语法结构:X ? Y > Z;
X 必须是 boolean 类型的表达式:True、False
// 条件运算符
int age = 18;
result = age >= 18 ? "成年" : "不成年";
System.out.println(result);
if 语句
1、简单 if 语句语法
if(条件 boolean 表达式){
执行语句;
}
练习:
public class If_Demo {
public static void main(String[] args) {
// 给定一个数值,打印他的绝对值。
int num = -23;
if (num < 0){
num = - num;
}
System.out.println(num);
}
}
2、if else 语句
if(条件 boolean 表达式){
执行语句1;
}else{
执行语句2;
}
练习:
public class Demo_If_Else {
public static void main(String[] args) {
// 给定一个分数,判断是否合格。
int score = 45;
if (score >= 60){
System.out.println("合格");
}else{
System.out.println("不合格");
}
}
}
3、if 嵌套(多重 if 语句)
if(条件1 boolean 表达式){
执行语句1;
}else if(条件2 boolean 表达式){
执行语句2;
}else ...
4、switch 语句
switch(变量){
case 常量值1:
分支 1;
break;
case 常量值2:
分支 2;
break;
...
default;
}
switch 注意事项:
1、作用在 int 类型,byte、short、int、char、string、枚举;
2、case 后的数值必须唯一;
3、case 可以无序;
4、break 用于放置 switch 的穿透;
5、default 是可选的语句;
六、循环结构
1、for 循环
选择结构:条件满足,某些代码才会被执行;
循环结构:条件满足,某些代码会被反复的多次执行,直到条件不满足;
语法结构:
for(初始化表达式;boolean 条件表达式;循环后的操作表达式)
{
(循环体)执行语句;
}
for 循环语法中的圆括号内,初始表达式表示对循环进行初始化,只执行一次,所以通常用来声明或初始变量;
如果是声明变量,结束 for 循环之后变量就会消失。
boolean 表达式,第一个分号后,则是每次执行循环体前会执行一次,且必须是 true 或 false 的结果,true 就会执行循环体,false 就会结束循环。
循环后的操作表达式,第二个分号后,则是每次执行完循环体后会执行一次(一般的语句都是自增或自减语句)。
2、while 循环
while(boolean 表达式)
{
循环体;
}
while 循环特点:先判断 boolean 表达式,若为 true 就执行循环体,否则跳过循环体。
对于不确定的循环次数,推荐使用 while 循环;
3、do-while 循环
do...while 的语法为:
do
{
(循环体)执行语句;
}
while(boolean 表达式);
do...while 循环特点:先执行一次循环体,再判断表达式,若为 true 就继续执行循环体,否则跳过循环体;
也就是说 do...while 是先执行后判断,即使判断条件为 false,该循环至少会执行一次。
注意,while 后面是以 ; 作为结束。
4、break、continue、return
break 可以离开当前 switch、for、while、do...while 的区块,并执行区块后下一个执行语句;
break 在 switch 中主要用来中断下一个 case 比较,在 for、while 与 do...while 中,主要用于中断当前循环。
continue 的作用于 break 类似,不过使用于循环,break 会结束区块执行,而 continue 只会略过之后执行语句,并回到循环区块开头进行下一次循环,而不是离开循环。
return 表示结束循环所在的方法,方法结束,循环自然也就结束了。
注意:break、continue、return 后面的语句永远没有机会执行,所以不能再跟任何语句,否则会编译失败。
break 和 return 都能结束当前循环,如果循环之后的操作还得执行,选用 break;若不执行,选用 return。