基本语法2
- 一、运算符
- 1.算数运算符
- 2.赋值运算符
- 3.关系运算符
- 4.逻辑运算符
- 5.位运算符
- 6.三元运算符
- 二、流程结构
- 1、顺序结构
- 2、分支结构
- (1)、if语句
- (2)、switch—case语句
- 3、循环结构
- (1)、for循环
- (2)、while循环
- (3)、do-while循环
- (4)、关键字的使用
一、运算符
1.算数运算符
运算符 | 运算 |
+ | 正号、加 |
- | 负号、减 |
* | 乘 |
/ | 除 |
% | 取模 |
++ | 前(增):先运算后取值 |
++ | 后(增):先取值后运算 |
- - | 前(减):先运算后取值 |
- - | 后(减):先取值后运算 |
+ | 字符串连接 |
class AriText{
public static void mian(String[] args){
int num1 = 3;
int num2 = 6;
int num3 = num1 + num2;//9
int num4 = num2 - num1;//3
int num5 = num1 * num2;//18
int num3 = num2 / num1;//2
int num3 = num2 % num1;//0
int num3 = num1++;//3
int num3 = ++num1;//4
int num3 = num1--;//3
int num3 = --num1;//2
}
}
2.赋值运算符
运算符 | 运算 |
= | 赋值 |
+= | a+=b --> a = a + b |
-= | a-=b --> a = a - b |
*= | a*=b --> a = a * b |
/= | a/=b --> a = a / b |
%= | a%=b --> a = a % b |
class AriText{
public static void mian(String[] args){
int num1 = 3;
int num2 = 6;
int num2 += num1;//num2 = 9
int num2 -= num1;//num2=6
int num2 *= num1;//num2=18
int num2 /= num1;//num2=6
int num1 = num1 % 5;//num1=3
}
}
3.关系运算符
运算符 | 运算 |
== | 相等 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
class AriText{
public static void mian(String[] args){
int n = 3;
int m = 6;
n == m;//false
n != m;//ture
n > m;//false
n < m;//ture
n >= m;//false
n <= m;//ture
}
}
4.逻辑运算符
运算符 | 运算 |
& | 逻辑与 |
| | 逻辑或 |
! | 逻辑非 |
&& | 短路与 |
|| | 短路或 |
^ | 逻辑异或 |
说明:逻辑运算符操作的都是boolean类型的变量
int x = 1;
int y = 2;
if(x++==2 & ++y==2){
x=7;
}
System.out.println("x="+x+",y="+y);
//x=2,y=2
5.位运算符
运算符 | 运算 |
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
& | 与运算 |
| | 或运算 |
^ | 异或运算 |
~ | 取反运算 |
说明
1.位运算符操作的都是整型的数据
2.<< : 在一定范围内,向左移1位,相当于*2
3.>> : 在一定范围内,向右移1位,相当于/2
6.三元运算符
格式
class SunText{
public static void mian(String[] args){
int m = 12;
int n = 10;
int max = (m>n)? m : n;
System.out.println(max);
//max=12
}
}
运算符优先级(自上而下优先级降低)
分隔符
单目运算符
乘法、除法、求余
加法、减法
移位运算符
关系运算符
等价运算符
按位与
按位异或
按位或
条件与
条件或
三目运算符
赋值
二、流程结构
1、顺序结构
程序从上倒下逐行执行,中间没有任何判断和跳转。
2、分支结构
(1)、if语句
1、
class IfText{
public static void mian(String[] args){
int n = 10;
if(n>100){
System.out.println("执行if中的语句");
}
System.out.println("执行if外的语句");
}
}
class IfText{
public static void mian(String[] args){
int n = 10;
if(n>100){
System.out.println("执行if中的语句");
}
else{
System.out.println("执行else中的语句");
}
}
}
3、
class IfText{
public static void mian(String[] args){
int n = 10;
if(n>100){
System.out.println("执行if中的语句");
}
else if(n>50){
System.out.println("执第二个语句");
}
else if (n<50){
System.out.println("执行第三个语句");
}
else {
System.out.println("执行else中的语句");
}
}
}
从键盘中获取不同类型的变量
1、导包:import java.util.Scanner;
2、Scanner的实例化:Scanner scan = new Scanner(System.in);
3、调用Scanner类的相关方法,来获取指定类型的变量
class ScannerText{
public static void mian(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
System.out.println(num);
}
}
(2)、switch—case语句
语法结构
class SwitchText{
public static void mian(String[] args){
int num = 1;
switch(num){
case 0:
System.out.println("0");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
case 3:
System.out.println("three");
break;
default:
System.out.println("其他");
}
}
}
说明
1、根据switch表达式中的值,依次匹配case中的常量,匹配成功后进去case执行,执行完后继续执行下面的语句知道遇到break或switch—case语句结束。
2、break,使用在switch—case语句中,遇到此关键字则跳出switch—case语句。
3、case之后只能声明变量,不能声明范围。
4、default相当于if—else中最后的else。
3、循环结构
循环基本要素
1、初始化条件
2、循环条件
3、循环体
4、迭代条件
(1)、for循环
//for循环基本结构
for(初始化条件;退出条件;变化量){
//执行语句
}
例:
//for循环基本使用
for(i = 0;i < 100;i++){
System.out.println("小冯学java");
}
(2)、while循环
//while循环基本结构
//初始化条件
while(循环条件){
//循环体;
//迭代条件;
}
基本使用
//while循环基本使用
class WhileText{
public static void mian(String[] args){
int i = 0;
while(i<=100){
System.out.println("小冯学java");
i++;
}
}
}
//for循环可以和while循环互相转换;
//for循环和while循环的初始化条件部分的作用域不同;
(3)、do-while循环
//do-while循环基本结构
//初始化条件
do{
//循环体;
//迭代条件;
}while(循环条件);
//先执行一遍do后在判断;
//do-while循环至少执行一次;
do-while循环基本使用
//do-while循环基本使用
class DoWhileText{
public static void mian(String[] args){
int i = 0;
do{
System.out.println("小冯学java");
i++;
}while(i<=100);
}
}
(4)、关键字的使用
关键字 | 使用范围 |
break | switch-case、循环结构中 |
continue | 循环结构中 |
break:结束整个循环。
continue:结束本次循环。
带标签的break和continue的使用
//do-while循环基本使用
class Text{
public static void mian(String[] args){
label:for(int i = 1;i < 10;i==){
for(int j = 1;j <=10;j++){
if(j % 2 == 0){
//break;//默认跳出包裹最近的一层循环;
break label;//结束指定标识的一层循环;
continue lable;//结束指定标识的一层循环的本次循环;
}
}
}
}
}