java运算符以及流程控制语句

运算符


运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符(关系运算符)
  4. 逻辑运算符
  5. 位运算符
  6. 三元运算符

 

算术运算符


 

//除号
int num1 = 12;
int num2 = 5;
int result1 = num1 / num2 * num2;
System.out.println("result1 = " + result1);//10

double result2 = num1 / num2 + 0.0;
System.out.println("result2 = " + result2);//2.0

double result3 = (double)num1 / num2;
System.out.println("result3 = " + result3);//2.4

//取余运算
//取余的符号,与被余数一致
int m1 = 12;
int n1 = 5;
System.out.println("m1 % n1 = " + m1 % n1);//2

int m2 = -12;
int n2 = 5;
System.out.println("m2 % n2 = " + m2 % n2);//-2

int m3 = 12;
int n3 = -5;
System.out.println("m3 % n3 = " + m3 % n3);//2

int m4 = -12;
int n4 = -5;
System.out.println("m4 % n4 = " + m4 % n4);//-2

//前++
//后++
int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = "+ a1 + ",b1 = " + b1);//11  11

int a2= 10;
int b2 = a2++;
System.out.println("a2 = "+ a2 + ",b2 = " + b2);//11  10


//注意点
short s1 = 10;
//s1 = s1 + 1;//编译失败
//s1 = (short)(s1 + 1);//正确
//System.out.println("s1 = " + s1);//11
//s1++;//自增1不会改变s1本身的数据类型
s1 += 2;//编译成功,不会改变变量本身的数据类型
System.out.println("s1 = " + s1);
//前--:先自减一,后运算
//后--:先运算,后自减一

 

 

赋值运算符


支持连续赋值。:int a,b,c;
a+ = 1 与 a = a+1 的区别:a+=1运算的结果不会改变变量的数据类型。a = a+1默认是int型。
扩展赋值运算符: +=, -=, *=, /=, %=
 
 
比较运算符

比较运算符的结果都是Boolean型,要么是true。要么是false。
 

 比较运算符的结果

 

逻辑运算符


只适用于布尔类型变量

&—逻辑与      | —逻辑或   !—逻辑非  
&& —短路与   || —短路或  ^ —逻辑异或(不同为true,相同为false)
 

 区分&  与  &&

单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
 
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
 
位运算符

 3<<2(3左移两位数)相当于 3*22,每向左左移一位就相当于 *2

>> 每向右移一位相当于 /2

面试题:最高效计算 2*8     2<<3或者8<<1

 在计算时:注意计算机参与运算的都是补码。

 

 

三元运算符


格式: 表达式1和表达式2是同一种类型。

注意:三元运算符要求必须返回一个结果。

 

运算符的优先级


 

 

 程序流程控制


 

流程控制语句是用来程序中各语句的执行顺序。

分为:

  1. 顺序结构
  2. 分支结构:if-else,switch-case
  3. 循环结构 :
      1. for 循环
      2. while 循环
      3. do-while 循环

 

if-else语句


三种结构:

 1 1、第一种:
 2 
 3 if(条件表达式1){
 4 执行代码块;
 5 }
 6  
 7 2、第二种:二选一   
 8 
 9 if(条件表达式1){
10 执行代码块1;
11 }
12 else {
13 执行代码块2;
14 }
15  
16  
17 3、第三种:多选一
18 if(条件表达式1){
19 执行代码块1;
20 }
21 else if (条件表达式2){
22 执行代码块2;
23 }
24 ……
25 else{
26 执行代码块n;
27 }

 

 

 
 
 如何从键盘获取不同类型的变量


//导包:import java.util.Scanner;
//Scanner实例化:Scanner scan = new Scanner(System.in);
//调用Scanner相关方法来指定输入数值的类型
import java.util.Scanner;
public class ScannerTest {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String name = scan.next();
      int age = scan.nextInt();

double weight = scan.nextDouble(); boolean love = scan.nextBoolean(); //对于char型的获取,scanner没有提供相关的方法,只能获取一个字符串 System.out.println("请输入你的性别:(男/女)"); String gender = scan.next(); char genderChar = gender.charAt(0);//用charAt方法获取索引为0的位置上的字符 System.out.println(genderChar); }
//比较两个字符串的时候,用字符串的equals方法,返回值是Boolean类型.字符换1.equals(字符串2)

 



  Switch语句


 

 1 switch语句格式:
 2 switch(表达式) {
 3           case 值1:
 4             语句体1;
 5             break;
 6             case 值2:
 7             语句体2;
 8             break;
 9 10             default11             语句体n+1;
12             break;
13     }

Switch

switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
  1. case子句中的值必须是常量,不能是变量名或不确定的表达式值;
  2. 同一个switch语句,所有case子句中的常量值互不相同;
  3. break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾。
  4. default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default
  5. 使用switch-case的,都可以改写为if-else。反之不成立。
 
循环结构

在某些条件满足的情况下,反复执行特定代码的功能。
循环语句的四个组成部分:
初始化部分(init_statement)
循环条件部分(test_exp)
循环体部分(body_statement)
迭代部分(alter_statement)

for (①初始化部分; ②循环条件部分; ④迭代部分){ ③循环体部分; }
  ②循环条件部分为boolean类型表达式,当值为false时,退出循环
   ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
   ④可以有多个变量更新,用逗号分隔

循环结构(for循环)

for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }

 

循环结构(while)


while循环基本格式:

 初始化语句;
 while(判断条件语句) {
 循环体语句; 控制条件语句; 
 }

 

循环结构(do……while)


do……while基本结构:

1    初始化语句;
2    do {
3          循环体语句;
4          控制条件语句;
5     } while((判断条件语句);

 

跳转控制语句


 包括:break、continue、return

  1. break:跳出当前循环。
  2. continue:退出本次循环。
  3. return:结束一个方法。

 

 
posted @ 2021-09-15 19:41  莫尼莫尼  阅读(51)  评论(0编辑  收藏  举报